Merge pull request #2098 from famedly/krille/ignore-leave-room-update-for-unknown-rooms
refactor: Ignore leave room update for unknown rooms
This commit is contained in:
commit
a3da3bda77
|
|
@ -600,16 +600,6 @@ class FakeMatrixApi extends BaseClient {
|
|||
},
|
||||
'timeline': {
|
||||
'events': [
|
||||
{
|
||||
'sender': '@bob:example.com',
|
||||
'type': 'm.room.member',
|
||||
'state_key': '@bob:example.com',
|
||||
'content': {'membership': 'join'},
|
||||
'prev_content': {'membership': 'invite'},
|
||||
'origin_server_ts': 1417731086795,
|
||||
'event_id': '\$7365636s6r6432:example.com',
|
||||
'unsigned': {'foo': 'bar'},
|
||||
},
|
||||
{
|
||||
'sender': '@alice:example.com',
|
||||
'type': 'm.room.message',
|
||||
|
|
|
|||
|
|
@ -2736,6 +2736,10 @@ class Client extends MatrixApi {
|
|||
await _handleRoomEvents(room, state, EventUpdateType.inviteState);
|
||||
}
|
||||
}
|
||||
if (syncRoomUpdate is LeftRoomUpdate && getRoomById(id) == null) {
|
||||
Logs().d('Skip store LeftRoomUpdate for unknown room', id);
|
||||
continue;
|
||||
}
|
||||
await database.storeRoomUpdate(id, syncRoomUpdate, room.lastEvent, this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -282,16 +282,13 @@ void main() {
|
|||
|
||||
final eventUpdateList = await eventUpdateListFuture;
|
||||
|
||||
expect(eventUpdateList.length, 3);
|
||||
expect(eventUpdateList.length, 2);
|
||||
|
||||
expect(eventUpdateList[0].type, 'm.room.member');
|
||||
expect(eventUpdateList[0].type, 'm.room.message');
|
||||
expect(eventUpdateList[0].roomId, '!726s6s6q:example.com');
|
||||
|
||||
expect(eventUpdateList[1].type, 'm.room.message');
|
||||
expect(eventUpdateList[1].roomId, '!726s6s6q:example.com');
|
||||
|
||||
expect(eventUpdateList[2].type, 'm.room.message');
|
||||
expect(eventUpdateList[2].roomId, '!726s6s6f:example.com');
|
||||
expect(eventUpdateList[1].roomId, '!726s6s6f:example.com');
|
||||
|
||||
expect(
|
||||
matrix
|
||||
|
|
|
|||
|
|
@ -186,6 +186,7 @@ void main() {
|
|||
sess = await client.encryption!.keyManager
|
||||
.createOutboundGroupSession(roomId);
|
||||
final room = client.getRoomById(roomId)!;
|
||||
room.partial = false;
|
||||
final member = room.getState('m.room.member', '@alice:example.com');
|
||||
member!.content['membership'] = 'leave';
|
||||
room.summary.mJoinedMemberCount = room.summary.mJoinedMemberCount! - 1;
|
||||
|
|
|
|||
Loading…
Reference in New Issue