synapse/synapse
Eric Eastwood aab3672037
Bust `_membership_stream_cache` cache when current state changes (#17732)
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`
2025-01-08 10:11:09 -06:00
..
_scripts Speed up slow initial sliding syncs on large servers (#17946) 2024-11-19 15:03:32 +00:00
api Refactor get_profile: do not return missing fields. (#18063) 2025-01-03 17:23:29 +00:00
app Add missing license header (#17799) 2024-10-08 12:01:44 +01:00
appservice Support for MSC4190: device management for application services (#17705) 2024-12-04 12:04:49 +01:00
config Drop unstable MSC4151 implementation (#18052) 2025-01-07 15:45:57 -07:00
crypto Fix fetching signing keys when `old_verify_keys` is omitted (#17568) 2024-08-14 14:13:56 +01:00
events Fix bug when rejecting withdrew invite with a third_party_rules module (#17930) 2024-12-10 14:26:38 +00:00
federation Merge branch 'master' into develop 2024-12-03 17:44:48 +01:00
handlers Refactor get_profile: do not return missing fields. (#18063) 2025-01-03 17:23:29 +00:00
http Fix mypy errors on Twisted 24.11.0 (#17998) 2024-12-18 11:49:38 +00:00
logging Stop using twisted.internet.defer.returnValue (#18020) 2024-12-20 10:57:59 +00:00
media Restrict which image formats we will decode in order to generate thumbnails 2024-12-03 09:53:21 +01:00
metrics Format files with Ruff (#17643) 2024-09-02 12:39:04 +01:00
module_api Refactor get_profile: do not return missing fields. (#18063) 2025-01-03 17:23:29 +00:00
push Bump mypy from 1.11.2 to 1.12.1 and fix new typechecking errors (#17999) 2024-12-18 11:42:17 +00:00
replication Fix new scheduled tasks jumping the queue (#17962) 2024-11-28 18:06:19 +00:00
res Send an email if the address is already bound to an user account (#16819) 2024-04-23 16:45:24 +01:00
rest Add the ability to filter by state event type on admin room state endpoint (#18035) 2025-01-08 15:38:26 +00:00
server_notices Format files with Ruff (#17643) 2024-09-02 12:39:04 +01:00
spam_checker_api Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
state Bump black from 23.10.1 to 24.2.0 (#16936) 2024-03-13 16:46:44 +00:00
static Update link to the clients webpage, fix #15825 (#15874) 2023-07-06 17:28:09 +02:00
storage Bust `_membership_stream_cache` cache when current state changes (#17732) 2025-01-08 10:11:09 -06:00
streams Fix regression when bounding future tokens (#17391) 2024-07-02 14:06:36 +01:00
synapse_rust Move server event filtering logic to rust (#17928) 2024-11-14 16:18:24 +00:00
types Sliding Sync: Include invite, ban, kick, targets when `$LAZY`-loading room members (#17947) 2024-12-02 10:17:55 -06:00
util Bust `_membership_stream_cache` cache when current state changes (#17732) 2025-01-08 10:11:09 -06:00
__init__.py Remove support for python 3.8 (#17908) 2024-11-06 19:36:01 +00:00
_pydantic_compat.py import pydantic objects from the `_pydantic_compat` module (#17667) 2024-09-11 21:01:43 +00:00
event_auth.py Support MSC3757: Restricting who can overwrite a state event (#17513) 2024-09-26 15:25:05 +02:00
notifier.py Optimise notifier mk2 (#17766) 2024-09-30 13:32:31 +01:00
py.typed Mark Module API error imports as re-exported and mark Synapse as containing type annotations (#11054) 2021-10-13 08:42:41 +01:00
server.py Fix `delete_old_otks` job on worker deployments (#17960) 2024-11-26 08:45:18 +01:00
visibility.py Move server event filtering logic to rust (#17928) 2024-11-14 16:18:24 +00:00