Sliding Sync: Reset `forgotten` status when membership changes (like rejoining a room) (#17835)
Reset `sliding_sync_membership_snapshots` -> `forgotten` status when membership changes (like rejoining a room). Fix https://github.com/element-hq/synapse/issues/17781 ### What was the problem before? Previously, if someone used `/forget` on one of their rooms, it would update `sliding_sync_membership_snapshots` as expected but when someone rejoined the room (or had any membership change), the upsert didn't overwrite and reset the `forgotten` status so it remained `forgotten` and invisible down the Sliding Sync endpoint.
Showing
- changelog.d/17835.bugfix 1 addition, 0 deletionschangelog.d/17835.bugfix
- synapse/storage/databases/main/events.py 9 additions, 2 deletionssynapse/storage/databases/main/events.py
- synapse/storage/databases/main/events_bg_updates.py 118 additions, 0 deletionssynapse/storage/databases/main/events_bg_updates.py
- synapse/storage/databases/main/roommember.py 1 addition, 0 deletionssynapse/storage/databases/main/roommember.py
- synapse/storage/schema/__init__.py 2 additions, 0 deletionssynapse/storage/schema/__init__.py
- synapse/storage/schema/main/delta/88/02_fix_sliding_sync_membership_snapshots_forgotten_column.sql 21 additions, 0 deletions...ix_sliding_sync_membership_snapshots_forgotten_column.sql
- synapse/types/storage/__init__.py 3 additions, 0 deletionssynapse/types/storage/__init__.py
- tests/rest/client/sliding_sync/test_sliding_sync.py 113 additions, 2 deletionstests/rest/client/sliding_sync/test_sliding_sync.py
- tests/rest/client/test_rooms.py 62 additions, 0 deletionstests/rest/client/test_rooms.py
- tests/storage/test_sliding_sync_tables.py 103 additions, 0 deletionstests/storage/test_sliding_sync_tables.py
Loading
Please register or sign in to comment