synapse/changelog.d
Richard van der Hoff 13683a3a22
Extend StreamChangeCache to support multiple entities per stream ID (#7303)
First some background: StreamChangeCache is used to keep track of what "entities" have 
changed since a given stream ID. So for example, we might use it to keep track of when the last
to-device message for a given user was received [1], and hence whether we need to pull any to-device messages from the database on a sync [2].

Now, it turns out that StreamChangeCache didn't support more than one thing being changed at
a given stream_id (this was part of the problem with #7206). However, it's entirely valid to send
to-device messages to more than one user at a time.

As it turns out, this did in fact work, because *some* methods of StreamChangeCache coped
ok with having multiple things changing on the same stream ID, and it seems we never actually
use the methods which don't work on the stream change caches where we allow multiple
changes at the same stream ID. But that feels horribly fragile, hence: let's update
StreamChangeCache to properly support this, and add some typing and some more tests while
we're at it.

[1]: https://github.com/matrix-org/synapse/blob/release-v1.12.3/synapse/storage/data_stores/main/deviceinbox.py#L301
[2]: https://github.com/matrix-org/synapse/blob/release-v1.12.3/synapse/storage/data_stores/main/deviceinbox.py#L47-L51
2020-04-22 13:45:40 +01:00
..
.gitignore Correct attrs package name in requirements (#3492) 2018-07-07 10:46:59 +10:00
6446.misc Add some benchmarks for LruCache (#6446) 2020-04-03 16:31:52 +01:00
6573.bugfix Don't default to an invalid sqlite config if no database configuration is provided (#6573) 2020-03-26 17:13:14 +00:00
6634.bugfix Fix CAS redirect url (#6634) 2020-03-24 11:59:04 +00:00
6639.bugfix Fill in the 'default' field for user-defined push rules (#6639) 2020-03-31 15:08:56 +01:00
6892.doc update debian installation instructions to recommend installing virtualenv instead of python3-virtualenv (#6892) 2020-03-27 15:02:00 +00:00
6899.bugfix Improve error responses when a remote server doesn't allow you to access its public rooms list (#6899) 2020-04-06 12:35:30 +01:00
6946.bugfix Transfer alias mappings when joining an upgraded room (#6946) 2020-03-30 17:53:25 +01:00
6988.doc Improve database configuration docs (#6988) 2020-03-20 15:24:22 +00:00
7006.feature Extend web_client_location to handle absolute URLs (#7006) 2020-04-03 11:57:34 -04:00
7009.feature Set Referrer-Policy to no-referrer for media (#7009) 2020-03-23 09:48:28 +00:00
7010.misc Newsfile 2020-02-28 11:27:37 +00:00
7011.misc Remove concept of a non-limited stream. (#7011) 2020-03-20 14:40:47 +00:00
7024.misc Move catchup of replication streams to worker. (#7024) 2020-03-25 14:54:01 +00:00
7040.feature Add ability to run replication protocol over redis. (#7040) 2020-04-22 13:07:41 +01:00
7051.feature Admin API to join users to a room. (#7051) 2020-03-27 19:16:43 +00:00
7068.bugfix Validate that the session is not modified during UI-Auth (#7068) 2020-03-26 07:39:34 -04:00
7089.bugfix Fix a bug in the federation API which could cause occasional "Failed to get PDU" errors (#7089). 2020-03-19 08:22:56 -04:00
7096.feature Add options to prevent users from changing their profile. (#7096) 2020-03-27 19:15:23 +00:00
7102.feature Support SAML in the user interactive authentication workflow. (#7102) 2020-04-01 08:48:00 -04:00
7107.doc Update pre-built package name for FreeBSD (#7107). (#7107) 2020-03-23 15:31:02 +00:00
7109.bugfix Use the proper error code when a canonical alias that does not exist is used. (#7109) 2020-03-23 15:21:54 -04:00
7110.misc Convert some of the media REST code to async/await (#7110) 2020-03-20 07:20:02 -04:00
7115.misc Clean-up some auth/login REST code (#7115) 2020-03-20 16:22:47 -04:00
7116.misc Convert *StreamRow classes to inner classes (#7116) 2020-03-23 13:59:11 +00:00
7117.bugfix Fix processing of groups stream, and use symbolic names for streams (#7117) 2020-03-23 11:39:36 +00:00
7118.feature Allow server admins to define and enforce a password policy (MSC2000). (#7118) 2020-03-26 16:51:13 +00:00
7119.doc Update postgres.md (#7119) 2020-04-01 12:44:51 +01:00
7120.misc Clean up some LoggingContext stuff (#7120) 2020-03-24 14:45:33 +00:00
7128.misc Remove usage of "conn_id" for presence. (#7128) 2020-03-30 16:37:24 +01:00
7133.bugfix 1.12.1rc1 2020-03-31 11:49:43 +01:00
7136.misc Refactor the CAS code (move the logic out of the REST layer to a handler) (#7136) 2020-03-26 15:05:26 -04:00
7137.removal Remove unused captcha_bypass_secret option (#7137) 2020-03-25 17:49:34 +00:00
7141.doc Various cleanups to INSTALL.md (#7141) 2020-03-25 13:56:40 +00:00
7147.doc Add developer documentation for running a local CAS server (#7147) 2020-03-30 07:28:42 -04:00
7150.bugfix Ensure is_verified on /_matrix/client/r0/room_keys/keys is a boolean (#7150) 2020-03-27 13:30:22 +00:00
7151.bugfix Update changelog.d/7151.bugfix 2020-03-26 20:35:50 +02:00
7152.feature Improve the UX of the login fallback when using SSO (#7152) 2020-03-27 20:19:54 +00:00
7153.feature Always whitelist the login fallback for SSO (#7153) 2020-03-27 20:24:52 +00:00
7155.bugfix 1.12.1rc1 2020-03-31 11:49:43 +01:00
7157.misc Add tests for outbound device pokes 2020-03-27 12:01:37 +00:00
7158.misc Fix device list update stream ids going backward (#7158) 2020-04-03 10:40:22 +01:00
7159.bugfix Rewrite prune_old_outbound_device_pokes for efficiency (#7159) 2020-03-30 19:06:52 +01:00
7160.feature Always send the user updates to their own device list (#7160) 2020-04-20 17:20:38 +01:00
7167.doc Improve TURN documentation. (#7167) 2020-03-31 15:50:48 +01:00
7171.doc Fix a small typo in the metrics_flags config option. (#7171) 2020-03-30 17:38:21 +01:00
7177.bugfix Only setdefault for signatures if device has key_json (#7177) 2020-03-31 14:51:22 +01:00
7178.bugfix Fix a bug which could cause incorrect 'cyclic dependency' error. (#7178) 2020-03-31 13:09:16 +01:00
7181.misc Fix "'NoneType' has no attribute start|stop" logcontext errors (#7181) 2020-03-31 15:18:41 +01:00
7183.misc Reduce the number of calls to resource.getrusage (#7183) 2020-04-03 13:21:30 +01:00
7184.misc Fix use of async/await in media code (#7184) 2020-03-31 09:33:02 -04:00
7185.misc Move client command handling out of TCP protocol (#7185) 2020-04-06 09:58:42 +01:00
7186.feature Support CAS in UI Auth flows. (#7186) 2020-04-03 15:35:05 -04:00
7187.misc Move server command handling out of TCP protocol (#7187) 2020-04-07 10:51:07 +01:00
7188.misc Convert http.HTTPStatus objects to their int equivalent (#7188) 2020-04-03 14:26:07 +01:00
7190.misc changelog 2020-03-31 17:44:36 +01:00
7191.feature Allow admins to create aliases when they are not in the room (#7191) 2020-04-01 08:27:05 -04:00
7192.misc Remove sent outbound device list pokes from the database (#7192) 2020-04-07 15:19:19 +01:00
7193.misc bg update to clear out duplicate outbound_device_list_pokes (#7193) 2020-04-07 23:06:39 +01:00
7195.misc Remove connections per replication stream metric. (#7195) 2020-04-01 10:40:46 +01:00
7199.bugfix Server notices: Dissociate room creation/lookup from invite (#7199) 2020-04-04 17:27:45 +02:00
7203.bugfix Remove some run_in_background calls in replication code (#7203) 2020-04-03 12:29:30 +01:00
7207.misc Remove stream before/after debug log lines (#7207) 2020-04-06 12:40:34 +01:00
7213.misc Added explicit Python build tools to snap requirements (#7213) 2020-04-17 17:28:00 +01:00
7219.misc Add typing information to federation_server. (#7219) 2020-04-07 15:03:23 -04:00
7225.misc Extend room admin api with additional attributes (#7225) 2020-04-22 13:38:41 +01:00
7226.misc Fix race in replication (#7226) 2020-04-07 11:01:04 +01:00
7228.misc Unblacklist /upgrade creates a new room (#7228) 2020-04-09 13:53:35 +01:00
7230.feature Default PL100 to enable encryption in a room (#7230) 2020-04-09 18:45:38 +01:00
7233.misc Remove redundant checks on daemonize from synctl (#7233) 2020-04-08 11:59:47 +01:00
7234.doc Make systemd-with-workers doc official (#7234) 2020-04-08 11:59:26 +01:00
7235.feature Fix changelog for #7235 2020-04-08 11:59:51 +02:00
7236.misc Upgrade jQuery to 3.x on fallback login/registration screens (#7236) 2020-04-09 12:23:30 +01:00
7237.misc Make it clearer to the user that they haven't overridden onLogin/Register (#7237) 2020-04-09 12:38:38 +01:00
7238.doc Add documentation to password_providers config option (#7238) 2020-04-08 00:46:50 +01:00
7240.bugfix Do not allow a deactivated user to login via SSO. (#7240) 2020-04-09 13:28:13 -04:00
7241.misc Convert delete_url_cache_media to async/await. (#7241) 2020-04-07 21:56:34 +01:00
7243.misc Fix the parameters of a test fixture (#7243) 2020-04-14 15:37:28 -04:00
7248.doc Add matrix-synapse-shared-secret-auth as an example password provider (#7248) 2020-04-09 12:49:05 +01:00
7249.bugfix Fix --help commandline argument (#7249) 2020-04-09 12:44:37 +01:00
7251.doc Add setting to nginx configuration to allow larger file uploads (#7251) 2020-04-13 17:23:36 +01:00
7255.bugfix Only register devices edu handler on the master process (#7255) 2020-04-14 11:36:24 +01:00
7259.bugfix Add notes to the changelog about an additional SSO template. (#7259) 2020-04-15 10:36:33 -04:00
7260.bugfix Check on room creation if the user is allowed to publish the room to the room directory. (#7260) 2020-04-13 07:42:32 -04:00
7261.misc Convert auth handler to async/await (#7261) 2020-04-15 12:40:18 -04:00
7265.feature Allow specifying the value of Accept-Language header for URL previews (#7265) 2020-04-15 13:35:29 +01:00
7268.bugfix Reject unknown UI auth sessions (instead of silently generating a new one) (#7268) 2020-04-20 08:54:42 -04:00
7271.bugfix Do not treat display names as globs for push rules. (#7271) 2020-04-22 13:07:12 +01:00
7272.doc Clarify the comments for media_storage_providers options (#7272) 2020-04-17 07:09:33 -04:00
7274.bugfix Fix a potentially-huge sql query (#7274) 2020-04-15 10:16:35 +01:00
7279.feature Use a template for the SSO success page to allow for customization. (#7279) 2020-04-17 13:34:55 -04:00
7286.misc On catchup, process each row with its own stream id (#7286) 2020-04-20 11:43:29 +01:00
7289.bugfix Query missing cross-signing keys on local sig upload (#7289) 2020-04-22 12:29:36 +01:00
7290.misc Fix 'generator object is not subscriptable' error (#7290) 2020-04-16 14:37:06 +01:00
7291.misc Improve type checking in replication.tcp.Stream (#7291) 2020-04-17 14:49:55 +01:00
7295.misc Reduce logging verbosity of URL cache cleanup. (#7295) 2020-04-22 07:45:16 -04:00
7300.misc Fix indention in generated config file (#7300) 2020-04-20 16:51:27 +01:00
7303.misc Extend StreamChangeCache to support multiple entities per stream ID (#7303) 2020-04-22 13:45:40 +01:00
7311.feature Fix changelog file 2020-04-21 13:20:16 +01:00
7319.misc import urllib.parse when using urllib.parse.quote (#7319) 2020-04-22 12:18:51 +01:00
7321.misc Reduce federation logging on success (#7321) 2020-04-22 11:18:18 +01:00
7329.misc changelog 2020-04-07 17:44:51 +01:00