This is particularly a problem in a state reset scenario where the membership might change without a corresponding event. This PR is targeting a scenario where a state reset happens which causes room membership to change. Previously, the cache would just hold onto stale data and now we properly bust the cache in this scenario. We have a few tests for these scenarios which you can see are now fixed because we can remove the `FIXME` where we were previously manually busting the cache in the test itself. This is a general Synapse thing so by it's nature it helps out Sliding Sync. Fix https://github.com/element-hq/synapse/issues/17368 Prerequisite for https://github.com/element-hq/synapse/issues/17929 --- Match when are busting `_curr_state_delta_stream_cache` |
||
|---|---|---|
| .. | ||
| sliding_sync | ||
| __init__.py | ||
| test_account_data.py | ||
| test_account.py | ||
| test_auth_issuer.py | ||
| test_auth.py | ||
| test_capabilities.py | ||
| test_consent.py | ||
| test_delayed_events.py | ||
| test_devices.py | ||
| test_directory.py | ||
| test_ephemeral_message.py | ||
| test_events.py | ||
| test_filter.py | ||
| test_identity.py | ||
| test_keys.py | ||
| test_login_token_request.py | ||
| test_login.py | ||
| test_media.py | ||
| test_models.py | ||
| test_mutual_rooms.py | ||
| test_notifications.py | ||
| test_owned_state.py | ||
| test_password_policy.py | ||
| test_power_levels.py | ||
| test_presence.py | ||
| test_profile.py | ||
| test_push_rule_attrs.py | ||
| test_read_marker.py | ||
| test_receipts.py | ||
| test_redactions.py | ||
| test_register.py | ||
| test_relations.py | ||
| test_rendezvous.py | ||
| test_reporting.py | ||
| test_retention.py | ||
| test_rooms.py | ||
| test_sendtodevice.py | ||
| test_shadow_banned.py | ||
| test_sync.py | ||
| test_tags.py | ||
| test_third_party_rules.py | ||
| test_transactions.py | ||
| test_typing.py | ||
| test_upgrade_room.py | ||
| utils.py | ||