From df4410e85df7a2ca108602aca538ba32b3a2e0c7 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Fri, 10 Oct 2025 11:35:11 -0400 Subject: [PATCH] fix: on join activity with role, preload activity participants list to get accurate list of assigned roles (#4326) --- .../activity_session_chat/activity_stats_button.dart | 1 - .../activity_session_start_page.dart | 9 +++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/pangea/activity_sessions/activity_session_chat/activity_stats_button.dart b/lib/pangea/activity_sessions/activity_session_chat/activity_stats_button.dart index 9a9052f16..21d6c99cf 100644 --- a/lib/pangea/activity_sessions/activity_session_chat/activity_stats_button.dart +++ b/lib/pangea/activity_sessions/activity_session_chat/activity_stats_button.dart @@ -53,7 +53,6 @@ class _ActivityStatsButtonState extends State { u.state.type == PangeaEventTypes.activityRole, ) .listen((_) { - debugPrint("ON ROOM STATE"); _showStatsMenuDropdownInstructions(); }); } diff --git a/lib/pangea/activity_sessions/activity_session_start/activity_session_start_page.dart b/lib/pangea/activity_sessions/activity_session_start/activity_session_start_page.dart index fdb108aa5..a3783f492 100644 --- a/lib/pangea/activity_sessions/activity_session_start/activity_session_start_page.dart +++ b/lib/pangea/activity_sessions/activity_session_start/activity_session_start_page.dart @@ -311,6 +311,15 @@ class ActivitySessionStartController extends State } try { + // Since the method that check for assigned roles needs to know each + // participant's membership status (to exclude left users), we need + // to pre-load the room's participants list. + activityRoom!.requestParticipants( + [Membership.join, Membership.invite, Membership.knock], + false, + true, + ); + await activityRoom!.joinActivity( activity!.roles[_selectedRoleId!]!, );