From e59e3146283afacb12269adb45e41ef48cb21d2e Mon Sep 17 00:00:00 2001 From: Kelrap <99418823+Kelrap@users.noreply.github.com> Date: Mon, 21 Jul 2025 09:20:16 -0400 Subject: [PATCH] When a parent is added to new chat, load before opening invite page (#3497) * When a parent is added to new chat, load before opening invite page * chore: only wait for new group in sync after adding to space if space parents list is empty --------- Co-authored-by: ggurdin --- lib/pages/new_group/new_group.dart | 3 +++ .../pages/pangea_invitation_selection.dart | 15 +++------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/lib/pages/new_group/new_group.dart b/lib/pages/new_group/new_group.dart index 37755b8de..0c59d7ba4 100644 --- a/lib/pages/new_group/new_group.dart +++ b/lib/pages/new_group/new_group.dart @@ -178,6 +178,9 @@ class NewGroupController extends State { try { final space = client.getRoomById(widget.spaceId!); await space?.addToSpace(room.id); + if (room.pangeaSpaceParents.isEmpty) { + await client.waitForRoomInSync(roomId); + } } catch (err) { ErrorHandler.logError( e: "Failed to add room to space", diff --git a/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart b/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart index 39b7f1160..a051a2fe1 100644 --- a/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart +++ b/lib/pangea/chat_settings/pages/pangea_invitation_selection.dart @@ -162,18 +162,9 @@ class PangeaInvitationSelectionController Room? get _room => Matrix.of(context).client.getRoomById(widget.roomId); Room? get spaceParent { - final spaceParents = _room?.spaceParents; - if (spaceParents == null || spaceParents.isEmpty) { - return null; - } - - final client = Matrix.of(context).client; - for (final parent in spaceParents) { - if (parent.roomId == null) continue; - final space = client.getRoomById(parent.roomId!); - if (space != null) return space; - } - return null; + final parents = _room?.pangeaSpaceParents; + if (parents == null || parents.isEmpty) return null; + return parents.first; } List get availableFilters => InvitationFilter.values