diff --git a/rnex-core/src/nex/friends_handler.rs b/rnex-core/src/nex/friends_handler.rs index 71cd652..941b747 100644 --- a/rnex-core/src/nex/friends_handler.rs +++ b/rnex-core/src/nex/friends_handler.rs @@ -139,9 +139,6 @@ impl Friends for FriendsUser { let Ok(any_self_fr_info) = Any::new(&self_fr_info) else { return Err(ErrorCode::RendezVous_ControlScriptFailure); }; - let Ok(any_self_presence) = Any::new(&self_fr_info.presence) else { - return Err(ErrorCode::RendezVous_ControlScriptFailure); - }; drop(data); let mut fr_list = vec![FriendInfo { @@ -200,9 +197,6 @@ impl Friends for FriendsUser { println!("acquiring user and current friends locks"); let users = self.fm.users.read().await; - if users.len() >= 100 { - return Err(ErrorCode::RendezVous_ConnectionFailure); - } println!("started summing users"); for u in users.deref().iter().filter_map(|u| u.upgrade()) { let data = u.data.read().await; @@ -233,18 +227,6 @@ impl Friends for FriendsUser { .await; }); } else { - let data = any_self_presence.clone(); - let u = u.clone(); - let sender = self.pid; - spawn(async move { - u.remote - .process_nintendo_notification_event_2(NintendoNotificationEvent { - event_type: 24, - sender, - data, - }) - .await; - }); drop(fr); } } @@ -281,22 +263,18 @@ impl Friends for FriendsUser { } async fn update_presence(&self, presence: NintendoPresenceV2) -> Result<(), ErrorCode> { - info!("user updated presence: {:?}", presence); let mut data = self.data.write().await; let Some(inner_data) = data.as_mut() else { - log::error!("unable to get presence data"); return Err(ErrorCode::RendezVous_PermissionDenied); }; inner_data.presence = presence; let Ok(any_self_fr_info) = Any::new(&inner_data.presence) else { - log::error!("unable to create presence any data holder"); return Err(ErrorCode::RendezVous_ControlScriptFailure); }; drop(data); let users = self.fm.users.read().await; for u in users.deref().iter().filter_map(|u| u.upgrade()) { - info!("sending presence update"); u.remote .process_nintendo_notification_event_2(NintendoNotificationEvent { event_type: 24, @@ -330,10 +308,6 @@ impl Secure for FriendsUser { station_urls: Vec, ) -> Result<(QResult, u32, StationUrl), ErrorCode> { let cid = self.fm.next_cid(); - let users = self.fm.users.read().await; - if users.len() >= 100 { - return Err(ErrorCode::RendezVous_ConnectionFailure); - } Ok(( QResult::success(ErrorCode::Core_Unknown), cid, diff --git a/rnex-core/src/nex/user.rs b/rnex-core/src/nex/user.rs index 052ab53..57c36d8 100644 --- a/rnex-core/src/nex/user.rs +++ b/rnex-core/src/nex/user.rs @@ -230,8 +230,10 @@ impl MatchmakeExtension for User { .await?; let mut session = session.lock().await; - if join_session_param.user_password != session.session.user_password { - return Err(ErrorCode::RendezVous_InvalidPassword); + if session.session.user_password_enabled { + if join_session_param.user_password != session.session.user_password { + return Err(ErrorCode::RendezVous_InvalidPassword); + } } session @@ -654,7 +656,7 @@ impl Ranking for User { let team_votes = fetch_team_votes(fest_id)?; let mut wins = vec![0u32, 0u32]; for r in &results { - let won_team = (r.team_id ^ (!r.team_win)) & 1; + let won_team = r.team_id ^ (!r.team_win); if let Some(team) = wins.get_mut(won_team as usize) { *team += 1 };