diff --git a/synapse/storage/databases/main/events.py b/synapse/storage/databases/main/events.py index ea382b0b30..ef73740ef8 100644 --- a/synapse/storage/databases/main/events.py +++ b/synapse/storage/databases/main/events.py @@ -1155,6 +1155,13 @@ class PersistEventsStore: to_delete = delta_state.to_delete to_insert = delta_state.to_insert + logger.info( + "asdf _update_current_state_txn no_longer_in_room=%s to_insert=%s to_delete=%s", + delta_state.no_longer_in_room, + to_insert, + to_delete, + ) + # Figure out the changes of membership to invalidate the # `get_rooms_for_user` cache. # We find out which membership events we may have deleted diff --git a/tests/storage/test_events.py b/tests/storage/test_events.py index bc37acfea7..39f55022dd 100644 --- a/tests/storage/test_events.py +++ b/tests/storage/test_events.py @@ -499,7 +499,7 @@ class SlidingSyncPrePopulatedTablesTestCase(HomeserverTestCase): room.register_servlets, ] - def test_rooms_invite_shared_history_initial_sync(self) -> None: + def test_TODO(self) -> None: """ TODO """ @@ -510,5 +510,27 @@ class SlidingSyncPrePopulatedTablesTestCase(HomeserverTestCase): room_id1 = self.helper.create_room_as(user2_id, tok=user2_tok) - # user1 joins the room + # User1 joins the room self.helper.join(room_id1, user1_id, tok=user1_tok) + + def test_server_left_room(self) -> None: + """ + TODO + """ + user1_id = self.register_user("user1", "pass") + user1_tok = self.login(user1_id, "pass") + user2_id = self.register_user("user2", "pass") + user2_tok = self.login(user2_id, "pass") + + room_id1 = self.helper.create_room_as(user2_id, tok=user2_tok) + + # User1 joins the room + self.helper.join(room_id1, user1_id, tok=user1_tok) + + # User2 leaves the room + self.helper.leave(room_id1, user2_id, tok=user2_tok) + + # User1 leaves the room + self.helper.leave(room_id1, user1_id, tok=user1_tok) + + # TODO: Server left room test