synapse/changelog.d
Eric Eastwood 7c2a78bb3b
Marker events as state - MSC2716 (#12718)
Sending marker events as state now so they are always able to be seen by homeservers (not lost in some timeline gap).

Part of [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716)

Complement tests: https://github.com/matrix-org/complement/pull/371

As initially discussed at https://github.com/matrix-org/matrix-spec-proposals/pull/2716#discussion_r782629097 and https://github.com/matrix-org/matrix-spec-proposals/pull/2716#discussion_r876684431

When someone joins a room, process all of the marker events we see in the current state. Marker events should be sent with a unique `state_key` so that they can all resolve in the current state to easily be discovered. Marker events as state

 - If we re-use the same `state_key` (like `""`), then we would have to fetch previous snapshots of state up through time to find all of the marker events. This way we can avoid all of that. This PR was originally doing this but then thought of the smarter way to tackle in an [out of band discussion with @erikjohnston](https://docs.google.com/document/d/1JJDuPfcPNX75fprdTWlxlaKjWOdbdJylbpZ03hzo638/edit#bookmark=id.sm92fqyq7vpp).
 - Also avoids state resolution conflicts where only one of the marker events win

As a homeserver, when we see new marker state, we know there is new history imported somewhere back in time and should process it to fetch the insertion event where the historical messages are and set it as an insertion extremity. This way we know where to backfill more messages when someone asks for scrollback.
2022-05-23 20:43:37 -05:00
..
.gitignore Correct attrs package name in requirements (#3492) 2018-07-07 10:46:59 +10:00
10533.misc Track in memory events using weakrefs (#10533) 2022-05-17 10:34:27 +01:00
12477.misc Add some type hints to datastore. (#12477) 2022-05-10 14:07:48 -04:00
12498.misc Skip waiting for full state if a StateFilter does not require it (#12498) 2022-05-18 18:33:57 +00:00
12513.feature SpamChecker metrics (#12513) 2022-05-13 12:17:38 +01:00
12567.misc Add StreamKeyType class and replace string literals with constants (#12567) 2022-05-16 15:35:31 +00:00
12586.misc Add @cancellable decorator, for use on request handlers (#12586) 2022-05-10 14:05:22 +01:00
12588.misc Add ability to cancel disconnected requests to SynapseRequest (#12588) 2022-05-10 14:06:08 +01:00
12611.bugfix Prevent expired events from being filtered out when retention is disabled (#12611) 2022-05-23 17:18:23 +00:00
12618.feature add default_power_level_content_override config option. (#12618) 2022-05-12 10:41:35 +00:00
12623.feature Add a new room version for MSC3787's knock+restricted join rule (#12623) 2022-05-17 10:41:39 +00:00
12630.misc Add helper class for testing request cancellation (#12630) 2022-05-10 14:06:56 +01:00
12672.feature Send USER_IP commands on a different Redis channel, in order to reduce traffic to workers that do not process these commands. (#12809) 2022-05-20 15:28:23 +01:00
12673.feature Reload cache factors from disk on SIGHUP (#12673) 2022-05-11 13:43:22 +00:00
12676.misc Add class-diagrams and notes for push. (#12676) 2022-05-10 07:43:34 -04:00
12677.misc Move free functions into PushRuleEvaluatorForEvent. (#12677) 2022-05-10 07:54:30 -04:00
12679.misc Stop writing to event_reference_hashes (#12679) 2022-05-10 15:35:08 +01:00
12680.misc Remove code which updates application_services_state.last_txn (#12680) 2022-05-17 11:07:18 +01:00
12683.bugfix Fix /messages throwing a 500 when querying for non-existent room (#12683) 2022-05-10 23:39:14 -05:00
12687.bugfix Add a unique index to state_group_edges to prevent duplicates being accidentally introduced and the consequential impact to performance. (#12687) 2022-05-19 14:16:49 +01:00
12689.misc Refactor EventContext (#12689) 2022-05-10 19:43:13 +00:00
12691.misc Remove unneeded ActionGenerator class. (#12691) 2022-05-11 07:15:21 -04:00
12693.misc Consolidate logic for parsing relations. (#12693) 2022-05-16 12:42:45 +00:00
12694.misc Capture the Deferred for request cancellation in _AsyncResource (#12694) 2022-05-10 20:39:05 +01:00
12695.misc Fix incorrect type hint in filtering code. (#12695) 2022-05-10 14:10:22 -04:00
12696.bugfix Fix room upgrades creating an empty room when auth fails (#12696) 2022-05-16 14:06:04 +01:00
12698.misc Respect the @cancellable flag for DirectServe{Html,Json}Resources (#12698) 2022-05-11 12:24:48 +01:00
12699.misc Respect the @cancellable flag for RestServlets and BaseFederationServlets (#12699) 2022-05-11 12:25:13 +01:00
12700.misc Respect the @cancellable flag for ReplicationEndpoints (#12700) 2022-05-11 12:25:39 +01:00
12701.feature Add config flags to allow for cache auto-tuning (#12701) 2022-05-13 12:32:39 -07:00
12703.misc Uniformize spam-checker API, part 1: the Code enum. (#12703) 2022-05-20 14:53:25 +02:00
12705.misc Complain if a federation endpoint has the @cancellable flag (#12705) 2022-05-11 14:52:26 +01:00
12708.misc Enable cancellation of GET /members and GET /state requests (#12708) 2022-05-11 17:22:34 +01:00
12709.removal No longer permit empty body when sending receipts (#12709) 2022-05-11 15:34:17 +00:00
12711.misc Avoid unnecessary copies when filtering private read receipts. (#12711) 2022-05-16 15:06:23 +00:00
12713.bugfix Don't create an empty room when checking for MAU limits (#12713) 2022-05-13 15:30:15 +02:00
12715.doc Fix reference to the wrong symbol in the media admin api docs (#12715) 2022-05-12 09:29:37 +01:00
12716.misc Reduce the number of "untyped defs" (#12716) 2022-05-12 14:33:50 +00:00
12717.misc Add some type hints to datastore (#12717) 2022-05-17 15:29:06 +01:00
12718.feature Marker events as state - MSC2716 (#12718) 2022-05-23 20:43:37 -05:00
12720.misc URL preview cache expiry logs: INFO -> DEBUG, text clarifications (#12720) 2022-05-12 18:16:32 +01:00
12721.bugfix Fix push for m.read events (#12721) 2022-05-17 11:03:07 +01:00
12723.misc Downgrade some OIDC exceptions to warnings (#12723) 2022-05-18 20:10:21 +01:00
12726.misc Another batch of type annotations (#12726) 2022-05-13 12:35:31 +01:00
12727.doc Update issuer URL in example OIDC Keycloak config (#12727) 2022-05-13 10:15:51 +00:00
12731.misc Update configs used by Complement to allow more invites (#12731) 2022-05-13 16:45:47 +01:00
12734.misc Tidy up and type-hint the database engine modules (#12734) 2022-05-17 00:34:38 +01:00
12742.doc Fix typo in listener config (#12742) 2022-05-16 13:50:07 +00:00
12744.feature add SpamChecker callback for silently dropping inbound federated events (#12744) 2022-05-23 16:36:21 +00:00
12747.bugfix Add index to cache invalidations (#12747) 2022-05-17 09:34:59 +00:00
12748.doc Switch the 'Configuration' link in the docs homepage to the config manual (#12748) 2022-05-18 11:29:32 +00:00
12749.doc Fix typo in name of 'run_background_tasks_on' option in config manual (#12749) 2022-05-16 17:31:12 +00:00
12753.misc Add some type hints to event_federation datastore (#12753) 2022-05-18 16:02:10 +01:00
12759.doc Add some documentation around the rc_invites option to the config docs (#12759) 2022-05-18 12:21:32 +01:00
12761.doc Add documentation for cancellation of request processing (#12761) 2022-05-18 17:56:23 +01:00
12762.misc Discard null-containing strings before updating the user directory (#12762) 2022-05-18 11:28:14 +01:00
12765.doc Suggest using docker when testing against postgres (#12765) 2022-05-17 18:05:53 +00:00
12769.misc allow on_invalidate=None in @cached methods (#12769) 2022-05-17 16:06:45 +00:00
12770.bugfix Delete events from federation_inbound_events_staging table on purge (#12770) 2022-05-17 17:01:06 +00:00
12772.misc Move methods that call add_push_rule to PushRuleStore (#12772) 2022-05-18 09:37:48 +00:00
12773.doc Add missing user directory search endpoint to the generic worker documentation (#12773) 2022-05-19 12:03:12 +01:00
12774.misc Make handling of federation Authorization header (more) compliant with RFC7230 (#12774) 2022-05-18 11:19:30 +01:00
12775.misc Refactor resolve_state_groups_for_events to not pull out full state when no state resolution happens. (#12775) 2022-05-18 10:15:52 -07:00
12776.doc Add detail to cache_autotuning config option documentation (#12776) 2022-05-19 07:47:07 -07:00
12777.doc Update configuration manual to document size-related suffixes (#12777) 2022-05-19 07:46:33 -07:00
12779.bugfix Give a meaningful error message when a client tries to create a room with an invalid alias localpart. (#12779) 2022-05-18 11:46:06 +00:00
12781.misc Do not keep going if there are 5 back-to-back background update failures. (#12781) 2022-05-18 13:57:59 +00:00
12783.misc Fix federation in demo scripts. (#12783) 2022-05-18 14:49:33 -04:00
12785.doc Fix YAML parsing error in url_preview_accept_language (#12785) 2022-05-18 17:24:44 +00:00
12786.feature Implement MSC3818: copy room type on upgrade (#12786) 2022-05-19 12:28:10 +01:00
12789.misc hash_password: raise an error if no config file is specified (#12789) 2022-05-19 13:03:13 +00:00
12790.misc Simplify untyped-defs config in mypy.ini (#12790) 2022-05-19 13:49:58 +01:00
12791.misc Update EventContext get_current_event_ids and get_prev_event_ids to accept state filters and update calls where possible (#12791) 2022-05-20 09:54:12 +01:00
12792.feature Add a unit test for copying over arbitrary room types when upgrading a room (#12792) 2022-05-19 18:32:48 +01:00
12794.bugfix Properly close providers.json file stream. (#12794) 2022-05-19 14:23:59 +00:00
12803.bugfix Fix RetryDestinationLimiter re-starting finished log contexts (#12803) 2022-05-19 20:17:10 +01:00
12808.feature Uniformize spam-checker API, part 2: check_event_for_spam (#12808) 2022-05-23 17:27:39 +00:00
12809.feature Send USER_IP commands on a different Redis channel, in order to reduce traffic to workers that do not process these commands. (#12809) 2022-05-20 15:28:23 +01:00
12818.misc Remove Caddy from the Synapse workers image used in Complement. (#12818) 2022-05-23 10:29:24 +01:00
12819.misc Fix Complement TestCanRegisterAdmin with workers, by adding Complement's shared registration secret. (#12819) 2022-05-23 12:20:30 +01:00
12823.bugfix Fix media thumbnails being unusable before the index had been added in the background. (#12823) 2022-05-23 10:28:56 +01:00
12826.misc Support registering Application Services when running with workers under Complement. (#12826) 2022-05-23 14:11:06 +01:00
12833.misc Add some type hints to tests files (#12833) 2022-05-23 11:23:26 +00:00
12842.misc Disable 'faster room join' Complement tests when testing against Synapse with workers. (#12842) 2022-05-23 17:27:05 +01:00