diff --git a/lib/src/client.dart b/lib/src/client.dart index 9503adc1..534875ae 100644 --- a/lib/src/client.dart +++ b/lib/src/client.dart @@ -1709,7 +1709,9 @@ class Client extends MatrixApi { stateEvent.relationshipEventId == room.lastEvent?.relationshipEventId; final importantOrRoomLoaded = - !room.partial || importantStateEvents.contains(stateEvent.type); + eventUpdate.type == EventUpdateType.inviteState || + !room.partial || + importantStateEvents.contains(stateEvent.type); if ((noMessageOrNoEdit || editingLastEvent || consecutiveEdit) && importantOrRoomLoaded) { room.setState(stateEvent); diff --git a/test/client_test.dart b/test/client_test.dart index f480b1e4..81162794 100644 --- a/test/client_test.dart +++ b/test/client_test.dart @@ -141,6 +141,11 @@ void main() { matrix.rooms[1].roomAccountData['m.receipt'] ?.content['@alice:example.com']['event_id'], '7365636s6r6432:example.com'); + + final inviteRoom = matrix.rooms + .singleWhere((room) => room.membership == Membership.invite); + expect(inviteRoom.name, 'My Room Name'); + expect(inviteRoom.states[EventTypes.RoomMember]?.length, 1); expect(matrix.rooms.length, 2); expect(matrix.rooms[1].canonicalAlias, "#famedlyContactDiscovery:${matrix.userID!.split(":")[1]}");