synapse-product/synapse
Sean Quah cdea7c11d0
Faster joins: Avoid starting duplicate partial state syncs (#14844)
Currently, we will try to start a new partial state sync every time we
perform a remote join, which is undesirable if there is already one
running for a given room.

We intend to perform remote joins whenever additional local users wish
to join a partial state room, so let's ensure that we do not start more
than one concurrent partial state sync for any given room.

------------------------------------------------------------------------

There is a race condition where the homeserver leaves a room and later
rejoins while the partial state sync from the previous membership is
still running. There is no guarantee that the previous partial state
sync will process the latest join, so we restart it if needed.

Signed-off-by: Sean Quah <seanq@matrix.org>
2023-01-20 12:06:19 +00:00
..
_scripts Check sqlite database file exists before porting. (#14692) 2022-12-22 13:26:37 -05:00
api Merge account data streams (#14826) 2023-01-13 14:57:43 +00:00
app Add listener health (#14747) 2023-01-11 12:00:38 +00:00
appservice Fix missing cache invalidation in application service code (#14670) 2022-12-12 18:13:43 +00:00
config Implement MSC3930: polls push rules (#14787) 2023-01-19 12:47:10 +00:00
crypto Add some clarifying comments and refactor a portion of the Keyring class for readability (#14804) 2023-01-13 12:37:28 +00:00
events Implement MSC3925: changes to bundling of edits (#14811) 2023-01-10 16:31:28 +00:00
federation Stabilise serving partial join responses (#14839) 2023-01-17 12:44:15 +00:00
handlers Faster joins: Avoid starting duplicate partial state syncs (#14844) 2023-01-20 12:06:19 +00:00
http Respond with proper error responses on unknown paths. (#14621) 2022-12-08 11:37:05 -05:00
logging Improve logging and opentracing for to-device message handling (#14598) 2022-12-06 09:52:55 +00:00
metrics Fix logging context warnings due to common usage metrics setup (#14574) 2022-11-28 15:25:18 +00:00
module_api Add set_displayname to the module API (#14629) 2023-01-11 18:41:52 +00:00
push Remove undocumented device from pushrules (#14727) 2023-01-09 17:17:24 +00:00
replication Fix bug in wait for stream position (#14872) 2023-01-19 22:19:56 +00:00
res Fix #11308 : Remove dependency on jquery on reCAPTCHA page (#14672) 2022-12-14 12:02:28 +00:00
rest Remove unnecessary reactor reference from _PerHostRatelimiter (#14842) 2023-01-16 13:16:19 +00:00
server_notices Remove redundant types from comments. (#14412) 2022-11-16 15:25:24 +00:00
spam_checker_api Fix import in module_api module and docs on the new check_event_for_spam signature (#12918) 2022-05-31 12:04:53 +02:00
state Allow compute_state_after_events to use partial state (#14676) 2022-12-14 14:52:35 +00:00
static Add viewport directive to HTML templates to optimise for mobile (#13493) 2022-08-11 14:04:20 +01:00
storage Implement MSC3930: polls push rules (#14787) 2023-01-19 12:47:10 +00:00
streams Implement message forward pagination from start when no from is given, fixes #12383 (#14149) 2022-11-24 09:10:51 +00:00
types Wait for streams to catch up when processing HTTP replication. (#14820) 2023-01-18 19:35:29 +00:00
util Remove unnecessary reactor reference from _PerHostRatelimiter (#14842) 2023-01-16 13:16:19 +00:00
__init__.py Parse SYNAPSE_ASYNC_IO_REACTOR env variable & log the reactor on startup (#14092) 2022-10-07 15:19:59 +01:00
event_auth.py Properly check for frozendicts in event auth code. (#14864) 2023-01-18 09:27:57 -05:00
notifier.py Batch up notifications after event persistence (#14033) 2022-10-05 10:12:48 -07: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 Remove unnecessary reactor reference from _PerHostRatelimiter (#14842) 2023-01-16 13:16:19 +00:00
visibility.py Move StateFilter to synapse.types (#14668) 2022-12-12 16:19:30 +00:00