summary refs log tree commit diff
path: root/docs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update the media repository documentation (#11415)Sean Quah2021-11-291-19/+70
|
* Add config for customizing the claim used for JWT logins. (#11361)Kostas2021-11-222-2/+9
| | | | | Allows specifying a different claim (from the default "sub") to use when calculating the localpart of the Matrix ID used during the JWT login.
* Update README.mdShay2021-11-191-2/+4
|
* Add an admin API to run background jobs. (#11352)Dirk Klimpel2021-11-193-6/+31
| | | | | | Instead of having admins poke into the database directly. Can currently run jobs to populate stats and to populate the user directory.
* Add dedicated admin API for blocking a room (#11324)Dirk Klimpel2021-11-181-0/+78
|
* Docs: Quote wildcard `federation_certificate_verification_whitelist` (#11381)Nicolai Søborg2021-11-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise I get this beautiful stacktrace: ``` python3 -m synapse.app.homeserver --config-path /etc/matrix/homeserver.yaml Traceback (most recent call last): File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/root/synapse/synapse/app/homeserver.py", line 455, in <module> main() File "/root/synapse/synapse/app/homeserver.py", line 445, in main hs = setup(sys.argv[1:]) File "/root/synapse/synapse/app/homeserver.py", line 345, in setup config = HomeServerConfig.load_or_generate_config( File "/root/synapse/synapse/config/_base.py", line 671, in load_or_generate_config config_dict = read_config_files(config_files) File "/root/synapse/synapse/config/_base.py", line 717, in read_config_files yaml_config = yaml.safe_load(file_stream) File "/root/synapse/env/lib/python3.8/site-packages/yaml/__init__.py", line 125, in safe_load return load(stream, SafeLoader) File "/root/synapse/env/lib/python3.8/site-packages/yaml/__init__.py", line 81, in load return loader.get_single_data() File "/root/synapse/env/lib/python3.8/site-packages/yaml/constructor.py", line 49, in get_single_data node = self.get_single_node() File "/root/synapse/env/lib/python3.8/site-packages/yaml/composer.py", line 36, in get_single_node document = self.compose_document() File "/root/synapse/env/lib/python3.8/site-packages/yaml/composer.py", line 55, in compose_document node = self.compose_node(None, None) File "/root/synapse/env/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node node = self.compose_mapping_node(anchor) File "/root/synapse/env/lib/python3.8/site-packages/yaml/composer.py", line 133, in compose_mapping_node item_value = self.compose_node(node, item_key) File "/root/synapse/env/lib/python3.8/site-packages/yaml/composer.py", line 82, in compose_node node = self.compose_sequence_node(anchor) File "/root/synapse/env/lib/python3.8/site-packages/yaml/composer.py", line 110, in compose_sequence_node while not self.check_event(SequenceEndEvent): File "/root/synapse/env/lib/python3.8/site-packages/yaml/parser.py", line 98, in check_event self.current_event = self.state() File "/root/synapse/env/lib/python3.8/site-packages/yaml/parser.py", line 379, in parse_block_sequence_first_entry return self.parse_block_sequence_entry() File "/root/synapse/env/lib/python3.8/site-packages/yaml/parser.py", line 384, in parse_block_sequence_entry if not self.check_token(BlockEntryToken, BlockEndToken): File "/root/synapse/env/lib/python3.8/site-packages/yaml/scanner.py", line 116, in check_token self.fetch_more_tokens() File "/root/synapse/env/lib/python3.8/site-packages/yaml/scanner.py", line 227, in fetch_more_tokens return self.fetch_alias() File "/root/synapse/env/lib/python3.8/site-packages/yaml/scanner.py", line 610, in fetch_alias self.tokens.append(self.scan_anchor(AliasToken)) File "/root/synapse/env/lib/python3.8/site-packages/yaml/scanner.py", line 922, in scan_anchor raise ScannerError("while scanning an %s" % name, start_mark, yaml.scanner.ScannerError: while scanning an alias in "/etc/matrix/homeserver.yaml", line 614, column 5 expected alphabetic or numeric character, but found '.' in "/etc/matrix/homeserver.yaml", line 614, column 6 ``` Signed-off-by: Nicolai Søborg <git@xn--sb-lka.org>
* Add support for `/_matrix/media/v3` APIs (#11371)Aaron R2021-11-171-35/+35
| | | | | | | | | | | | | * Add support for `/_matrix/media/v3` APIs Signed-off-by: Aaron Raimist <aaron@raim.ist> * Update `workers.md` to use v3 client and media APIs Signed-off-by: Aaron Raimist <aaron@raim.ist> * Add changelog Signed-off-by: Aaron Raimist <aaron@raim.ist>
* Merge branch 'master' into developDavid Robertson2021-11-172-2/+2
|\
| * Merge remote-tracking branch 'origin/release-v1.47'David Robertson2021-11-1729-277/+535
| |\
| * | Correct target of link to the modules page from the Password Auth Providers ↵reivilibre2021-11-121-1/+1
| | | | | | | | | | | | page (#11309)
| * | Wrong DTLS port in "Troubleshooting" (#11268)jmcparland2021-11-081-1/+1
| | | | | | | | | Port 5349, not 5479.
* | | Add ability to un-shadow-ban via the admin API. (#11347)Patrick Cloke2021-11-161-3/+9
| | |
* | | change 'Home Server' to one word 'homeserver' (#11320)Ashwin Nair2021-11-162-11/+11
| | | | | | | | | Signed-off-by: Ashwin S. Nair <58840757+Ashwin-exe@users.noreply.github.com>
* | | Suggest using `/etc/matrix-synapse/conf.d/` for configuration with Debian ↵reivilibre2021-11-121-0/+6
| | | | | | | | | | | | packages (#11281)
* | | Convert delete room admin API to async endpoint (#11223)Dirk Klimpel2021-11-122-16/+175
| | | | | | | | | Signed-off-by: Dirk Klimpel dirk@klimpel.org
* | | Add documentation page stubs for Single Sign-On, SAML and CAS pages (#11298)Andrew Morgan2021-11-104-3/+24
| | |
* | | Fix typos in the `username_available` admin API documentation. (#11286)Stanislav Motylkov2021-11-091-1/+1
| | |
* | | Allow admins to proactively block rooms (#11228)David Robertson2021-11-091-5/+11
| |/ |/| | | | | Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com> Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* | Add some background update admin APIs (#11263)Erik Johnston2021-11-082-0/+85
| | | | | | Fixes #11259
* | Default value for `public_baseurl` (#11210)Richard van der Hoff2021-11-081-7/+6
| | | | | | | | | | We might as well use a default value for `public_baseurl` based on `server_name` - in many cases, it will be correct.
* | Minor cleanup to Debian packaging (#11269)Dan Callahan2021-11-072-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove unused Vagrant scripts * Change package Architecture to any * Preinstall the wheel package when building venvs. Addresses the following warnings during Debian builds: Using legacy 'setup.py install' for jaeger-client, since package 'wheel' is not installed. Using legacy 'setup.py install' for matrix-synapse-ldap3, since package 'wheel' is not installed. Using legacy 'setup.py install' for opentracing, since package 'wheel' is not installed. Using legacy 'setup.py install' for psycopg2, since package 'wheel' is not installed. Using legacy 'setup.py install' for systemd-python, since package 'wheel' is not installed. Using legacy 'setup.py install' for pympler, since package 'wheel' is not installed. Using legacy 'setup.py install' for threadloop, since package 'wheel' is not installed. Using legacy 'setup.py install' for thrift, since package 'wheel' is not installed. * Allow /etc/default/matrix-synapse to be missing Per the systemd.exec manpage, prefixing an EnvironmentFile with "-": > indicates that if the file does not exist, it will not be read and no > error or warning message is logged. Signed-off-by: Dan Callahan <danc@element.io>
* | Add doc to integrate synapse with LemonLDAP OIDC (#11257)Julian2021-11-051-0/+38
| | | | | | | | Co-authored-by: David Robertson <david.m.robertson1@gmail.com> Co-authored-by: Julian Vanden Broeck <julian.vandenbroeck@dalibo.com>
* | Make minor correction to type of auth_checkers callbacks (#11253)reivilibre2021-11-041-1/+1
| |
* | fix a small typo in the delete room api docsAndrew Morgan2021-11-031-1/+1
| |
* | Add search by room ID and room alias to List Room admin API (#11099)Dirk Klimpel2021-11-021-3/+8
| | | | | | | | Fixes: #10874 Signed-off-by: Dirk Klimpel dirk@klimpel.org
* | Make `check_event_allowed` module API callback not fail open (accept events) ↵reivilibre2021-11-011-0/+8
| | | | | | | | when an exception is raised (#11033)
* | Remove deprecated delete room admin API (#11213)Dirk Klimpel2021-11-012-10/+10
| | | | | | | | | | Remove deprecated delete room admin API, `POST /_synapse/admin/v1/rooms/<room_id>/delete`
* | Support for serving server well-known files (#11211)Richard van der Hoff2021-11-012-37/+63
| | | | | | | | Fixes https://github.com/matrix-org/synapse/issues/8308
* | Add domain specific matching for haproxy config (#11128)Brett Bethke2021-11-011-1/+1
| |
* | Improve code formatting and fix a few typos in docs (#11221)Sumner Evans2021-11-0119-168/+232
| | | | | | | | | | | | * Labeled a lot more code blocks with the appropriate type * Fixed a couple of minor typos (missing/extraneous commas) Signed-off-by: Sumner Evans <me@sumnerevans.com>
* | Deprecate user_may_create_room_with_invites (#11206)Brendan Abolivier2021-11-012-36/+13
| |
* | Clarify lack of Windows support in documentation (#11198)Sean Quah2021-10-292-12/+13
| |
* | docs/openid: Add Authentik documentation. (#11151)Skyler Mäntysaari2021-10-281-0/+34
| |
* | Implement an `on_new_event` callback (#11126)Brendan Abolivier2021-10-261-0/+21
|/ | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Enable changing user type via users admin API (#11174)Jason Robinson2021-10-261-2/+7
| | | | | | | | Users admin API can now also modify user type in addition to allowing it to be set on user creation. Signed-off-by: Jason Robinson <jasonr@matrix.org> Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
* Add more information what happens when a user is deactivated (#11083)Dirk Klimpel2021-10-221-0/+10
|
* Show error when timestamp in seconds is provided to the /purge_media_cache ↵Aaron R2021-10-201-3/+3
| | | | API (#11101)
* Remove false warning about copying the log config to a homeserver.yaml (#11092)Travis Ralston2021-10-201-6/+6
| | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Document the version of Synapse each module callback was introduced in (#11132)Brendan Abolivier2021-10-205-0/+44
| | | | | | | | | | | | | | | | | | | | | * Mention callbacks introduced in v1.37.0 According to the documentation introduced in https://github.com/matrix-org/synapse/pull/10062 * Mention callbacks introduced in v1.39.0 According to https://github.com/matrix-org/synapse/pull/10386 and https://github.com/matrix-org/synapse/pull/9884 * Mention callbacks introduced in v1.42.0 According to https://github.com/matrix-org/synapse/pull/10524 * Mention callbacks introduced in v1.44.0 and v1.45.0 As per https://github.com/matrix-org/synapse/pull/10898, https://github.com/matrix-org/synapse/pull/10910 and https://github.com/matrix-org/synapse/pull/10894 * Mention callbacks introduced in v1.46.0 According to https://github.com/matrix-org/synapse/pull/10548
* Fix instances of [example]{.title-ref} in the upgrade notes (#11118)Andrew Morgan2021-10-191-27/+27
|
* Document Synapse's behaviour when dealing with multiple modules (#11096)Brendan Abolivier2021-10-187-8/+153
| | | | | | Document Synapse's behaviour when multiple modules register the same callback/web resource/etc. Co-authored-by: reivilibre <oliverw@matrix.org>
* Move experimental & retention config out of the server module. (#11070)Patrick Cloke2021-10-151-41/+42
|
* Update doc of the allowed characters for registration tokens (#11093)Dirk Klimpel2021-10-151-1/+1
| | | Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
* Fix upgrade dead links (#11069)David Robertson2021-10-131-4/+4
|
* Port the Password Auth Providers module interface to the new generic ↵Azrenbeth2021-10-135-28/+163
| | | | | | interface (#10548) Co-authored-by: Azrenbeth <7782548+Azrenbeth@users.noreply.github.com> Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
* Update upgrade notesBrendan Abolivier2021-10-121-0/+9
|
* Include the requirements for [mypy,lint] in [dev] (#11034)reivilibre2021-10-111-1/+1
|
* Revert accidental push to develop.Olivier Wilkinson (reivilibre)2021-10-081-1/+1
|
* Update contributing guide to use [all,dev]Olivier Wilkinson (reivilibre)2021-10-081-1/+1
|
* Add content to the Synapse documentation intro page (#10990)Andrew Morgan2021-10-062-1/+75
| | | Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Add a spamchecker method to allow or deny 3pid invites (#10894)Brendan Abolivier2021-10-061-0/+35
| | | | | This is in the context of creating new module callbacks that modules in https://github.com/matrix-org/synapse-dinsic can use, in an effort to reconcile the spam checker API in synapse-dinsic with the one in mainline. Note that a module callback already exists for 3pid invites (https://matrix-org.github.io/synapse/develop/modules/third_party_rules_callbacks.html#check_threepid_can_be_invited) but it doesn't check whether the sender of the invite is allowed to send it.
* Add a spamchecker callback to allow or deny room joins (#10910)Brendan Abolivier2021-10-061-0/+15
| | | Co-authored-by: Erik Johnston <erik@matrix.org>
* Updated development doc on samling environment for testing. (#10973)Max Kratz2021-10-061-6/+5
|
* Remove "reference" wording according Synapse homeserver (#10971)Max Kratz2021-10-062-5/+6
|
* Update links to MSCs in documentation (#10991)Dirk Klimpel2021-10-052-3/+4
| | | | Based on matrix-doc switching from master -> main and MSCs being merged.
* Update installation instructions (#10919)Richard van der Hoff2021-09-291-163/+165
| | | Various updates to the install docs.
* Avoid storing URL cache files in storage providers (#10911)Sean Quah2021-09-271-0/+7
| | | | | URL cache files are short-lived and it does not make sense to offload them (eg. to the cloud) or back them up.
* Add a spamchecker callback to allow or deny room creation based on invites ↵Brendan Abolivier2021-09-241-0/+29
| | | | | | | (#10898) This is in the context of creating new module callbacks that modules in https://github.com/matrix-org/synapse-dinsic can use, in an effort to reconcile the spam checker API in synapse-dinsic with the one in mainline. This adds a callback that's fairly similar to user_may_create_room except it also allows processing based on the invites sent at room creation.
* Update postgresql testing script (#10906)David Robertson2021-09-241-0/+47
| | | | | | | | | | | | | | | | | | - Use sytest:bionic. Sytest:latest is two years old (do we want CI to push out latest at all?) and comes with Python 3.5, which we explictly no longer support. The script now runs under PostgreSQL 10 as a result. - Advertise script in the docs - Move pg testing script to scripts-dev directory - Write to host as the script's exector, not root A few changes to make it speedier to re-run the tests: - Create blank DB in the container, not the script, so we don't have to `initdb` each time - Use a named volume to persist the tox environment, so we don't have to fetch and install a bunch of packages from PyPI each time Co-authored-by: reivilibre <olivier@librepush.net>
* Add documentation for experimental feature flags. (#10865)Patrick Cloke2021-09-222-0/+38
|
* Refactor oEmbed previews (#10814)Patrick Cloke2021-09-211-8/+13
| | | | | | | | | | | | | The major change is moving the decision of whether to use oEmbed further up the call-stack. This reverts the _download_url method to being a "dumb" functionwhich takes a single URL and downloads it (as it was before #7920). This also makes more minor refactorings: * Renames internal variables for clarity. * Factors out shared code between the HTML and rich oEmbed previews. * Fixes tests to preview an oEmbed image.
* Always add local users to the user directory (#10796)David Robertson2021-09-211-5/+9
| | | | | | | | | | | | | | | | | | | | | | | It's a simplification, but one that'll help make the user directory logic easier to follow with the other changes upcoming. It's not strictly required for those changes, but this will help simplify the resulting logic that listens for `m.room.member` events and generally make the logic easier to follow. This means the config option `search_all_users` ends up controlling the search query only, and not the data we store. The cost of doing so is an extra row in the `user_directory` and `user_directory_search` tables for each local user which - belongs to no public rooms - belongs to no private rooms of size ≥ 2 I think the cost of this will be marginal (since they'll already have entries in `users` and `profiles` anyway). As a small upside, a homeserver whose directory was built with this change can toggle `search_all_users` without having to rebuild their directory. Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Fix #10837 by adding JSON encoding/decoding to the Module API example… ↵Charles Wright2021-09-171-2/+2
| | | | (#10845)
* Fix copy-paste error in the password section of the sample-config. (#10804)BramvdnHeuvel2021-09-131-1/+1
|
* Fix 2 typos in docs/log_contexts.md (#10795)reivilibre2021-09-101-2/+2
|
* Easy refactors of the user directory (#10789)David Robertson2021-09-101-0/+37
| | | No functional changes here. This came out as I was working to tackle #5677
* Improve the modules doc (#10758)Brendan Abolivier2021-09-089-404/+536
| | | | | | * Split up the documentation in several files rather than one huge one * Add examples for each callback category * Other niceties like fixing https://github.com/matrix-org/synapse/issues/10632 * Add titles to callbacks so they're easier to find in the navigation panels and link to
* Document that /spaces & /hierarchy can be routed to workers. (#10648)Patrick Cloke2021-09-082-1/+14
| | | Also refactors some of the registration of endpoints on workers.
* Use attrs internally for the URL preview code & add documentation. (#10753)Patrick Cloke2021-09-073-77/+52
|
* Add config option to use non-default manhole password and keys (#10643)Azrenbeth2021-09-062-4/+43
|
* Doc: Clarifying undoing room shutdowns (#10480)David Teller2021-09-061-15/+27
|
* Fix documentation of directory name for remote thumbnails (#10556)cuttingedge11092021-09-021-1/+1
|
* Merge tag 'v1.42.0rc1' into developOlivier Wilkinson (reivilibre)2021-09-011-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 1.42.0rc1 (2021-09-01) ============================== Server administrators are reminded to read [the upgrade notes](docs/upgrade.md#upgrading-to-v1420). Features -------- - Add support for [MSC3231](https://github.com/matrix-org/matrix-doc/pull/3231): Token authenticated registration. Users can be required to submit a token during registration to authenticate themselves. Contributed by Callum Brown. ([\#10142](https://github.com/matrix-org/synapse/issues/10142)) - Add support for [MSC3283](https://github.com/matrix-org/matrix-doc/pull/3283): Expose `enable_set_displayname` in capabilities. ([\#10452](https://github.com/matrix-org/synapse/issues/10452)) - Port the `PresenceRouter` module interface to the new generic interface. ([\#10524](https://github.com/matrix-org/synapse/issues/10524)) - Add pagination to the spaces summary based on updates to [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946). ([\#10613](https://github.com/matrix-org/synapse/issues/10613), [\#10725](https://github.com/matrix-org/synapse/issues/10725)) Bugfixes -------- - Validate new `m.room.power_levels` events. Contributed by @aaronraimist. ([\#10232](https://github.com/matrix-org/synapse/issues/10232)) - Display an error on User-Interactive Authentication fallback pages when authentication fails. Contributed by Callum Brown. ([\#10561](https://github.com/matrix-org/synapse/issues/10561)) - Remove pushers when deleting an e-mail address from an account. Pushers for old unlinked emails will also be deleted. ([\#10581](https://github.com/matrix-org/synapse/issues/10581), [\#10734](https://github.com/matrix-org/synapse/issues/10734)) - Reject Client-Server `/keys/query` requests which provide `device_ids` incorrectly. ([\#10593](https://github.com/matrix-org/synapse/issues/10593)) - Rooms with unsupported room versions are no longer returned via `/sync`. ([\#10644](https://github.com/matrix-org/synapse/issues/10644)) - Enforce the maximum length for per-room display names and avatar URLs. ([\#10654](https://github.com/matrix-org/synapse/issues/10654)) - Fix a bug which caused the `synapse_user_logins_total` Prometheus metric not to be correctly initialised on restart. ([\#10677](https://github.com/matrix-org/synapse/issues/10677)) - Improve `ServerNoticeServlet` to avoid duplicate requests and add unit tests. ([\#10679](https://github.com/matrix-org/synapse/issues/10679)) - Fix long-standing issue which caused an error when a thumbnail is requested and there are multiple thumbnails with the same quality rating. ([\#10684](https://github.com/matrix-org/synapse/issues/10684)) - Fix a regression introduced in v1.41.0 which affected the performance of concurrent fetches of large sets of events, in extreme cases causing the process to hang. ([\#10703](https://github.com/matrix-org/synapse/issues/10703)) - Fix a regression introduced in Synapse 1.41 which broke email transmission on Systems using older versions of the Twisted library. ([\#10713](https://github.com/matrix-org/synapse/issues/10713)) Improved Documentation ---------------------- - Add documentation on how to connect Django with Synapse using OpenID Connect and django-oauth-toolkit. Contributed by @HugoDelval. ([\#10192](https://github.com/matrix-org/synapse/issues/10192)) - Advertise https://matrix-org.github.io/synapse documentation in the `README` and `CONTRIBUTING` files. ([\#10595](https://github.com/matrix-org/synapse/issues/10595)) - Fix some of the titles not rendering in the OpenID Connect documentation. ([\#10639](https://github.com/matrix-org/synapse/issues/10639)) - Minor clarifications to the documentation for reverse proxies. ([\#10708](https://github.com/matrix-org/synapse/issues/10708)) - Remove table of contents from the top of installation and contributing documentation pages. ([\#10711](https://github.com/matrix-org/synapse/issues/10711)) Deprecations and Removals ------------------------- - Remove deprecated Shutdown Room and Purge Room Admin API. ([\#8830](https://github.com/matrix-org/synapse/issues/8830)) Internal Changes ---------------- - Improve type hints for the proxy agent and SRV resolver modules. Contributed by @dklimpel. ([\#10608](https://github.com/matrix-org/synapse/issues/10608)) - Clean up some of the federation event authentication code for clarity. ([\#10614](https://github.com/matrix-org/synapse/issues/10614), [\#10615](https://github.com/matrix-org/synapse/issues/10615), [\#10624](https://github.com/matrix-org/synapse/issues/10624), [\#10640](https://github.com/matrix-org/synapse/issues/10640)) - Add a comment asking developers to leave a reason when bumping the database schema version. ([\#10621](https://github.com/matrix-org/synapse/issues/10621)) - Remove not needed database updates in modify user admin API. ([\#10627](https://github.com/matrix-org/synapse/issues/10627)) - Convert room member storage tuples to `attrs` classes. ([\#10629](https://github.com/matrix-org/synapse/issues/10629), [\#10642](https://github.com/matrix-org/synapse/issues/10642)) - Use auto-attribs for the attrs classes used in sync. ([\#10630](https://github.com/matrix-org/synapse/issues/10630)) - Make `backfill` and `get_missing_events` use the same codepath. ([\#10645](https://github.com/matrix-org/synapse/issues/10645)) - Improve the performance of the `/hierarchy` API (from [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946)) by caching responses received over federation. ([\#10647](https://github.com/matrix-org/synapse/issues/10647)) - Run a nightly CI build against Twisted trunk. ([\#10651](https://github.com/matrix-org/synapse/issues/10651), [\#10672](https://github.com/matrix-org/synapse/issues/10672)) - Do not print out stack traces for network errors when fetching data over federation. ([\#10662](https://github.com/matrix-org/synapse/issues/10662)) - Simplify tests for device admin rest API. ([\#10664](https://github.com/matrix-org/synapse/issues/10664)) - Add missing type hints to REST servlets. ([\#10665](https://github.com/matrix-org/synapse/issues/10665), [\#10666](https://github.com/matrix-org/synapse/issues/10666), [\#10674](https://github.com/matrix-org/synapse/issues/10674)) - Flatten the `tests.synapse.rests` package by moving the contents of `v1` and `v2_alpha` into the parent. ([\#10667](https://github.com/matrix-org/synapse/issues/10667)) - Update `complement.sh` to rebuild the base Docker image when run with workers. ([\#10686](https://github.com/matrix-org/synapse/issues/10686)) - Split the event-processing methods in `FederationHandler` into a separate `FederationEventHandler`. ([\#10692](https://github.com/matrix-org/synapse/issues/10692)) - Remove unused `compare_digest` function. ([\#10706](https://github.com/matrix-org/synapse/issues/10706))
| * 1.42.0rc1Olivier Wilkinson (reivilibre)2021-09-011-3/+3
| |
* | Allow configuration of the oEmbed URLs. (#10714)Patrick Cloke2021-08-311-0/+21
|/ | | | | This adds configuration options (under an `oembed` section) to configure which URLs are matched to use oEmbed for URL previews.
* Advertise matrix-org.github.io/synapse docs (#10595)David Robertson2021-08-311-5/+425
| | | | | Point to the book where possible, and use hyperlinks to github to refer to files not included in the book. Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Removed page summaries from the top of installation and contributing doc ↵Azrenbeth2021-08-272-40/+6
| | | | | | | | | pages (#10711) - Removed page summaries from CONTRIBUTING and installation pages as this information was already in the table of contents on the right hand side - Fixed some broken links in CONTRIBUTING - Added margin-right tag for when table of contents is being shown (otherwise the text in the page sometimes overlaps with it)
* Clarifications to reverse_proxy.md (#10708)Richard van der Hoff2021-08-271-5/+5
| | | | | * Update reverse_proxy.md * Create 10708.doc
* Remove pushers when deleting 3pid from account (#10581)Azrenbeth2021-08-261-0/+5
| | | | | When a user deletes an email from their account it will now also remove all pushers for that email and that user (even if these pushers were created by a different client)
* doc: add django-oauth-toolkit to oidc doc (#10192)Hugo DELVAL2021-08-231-0/+48
| | | | Signed-off-by: Hugo Delval <hugo.delval@gmail.com>
* Fix the titles in the OIDC documentation (#10639)Andrew Morgan2021-08-231-6/+10
| | | | | | | | | | * Fix the titles in the OIDC documentation Having them as links broke the table-of-contents rendering in mdbook. Plus there's no reason for only some of the provider titles to be links. * Changelog * Add link to google idp docs
* Implement MSC3231: Token authenticated registration (#10142)Callum Brown2021-08-214-0/+312
| | | | | Signed-off-by: Callum Brown <callum@calcuode.com> This is part of my GSoC project implementing [MSC3231](https://github.com/matrix-org/matrix-doc/pull/3231).
* Remove not needed database updates in modify user admin API (#10627)Dirk Klimpel2021-08-191-2/+6
|
* Merge branch 'release-v1.41' into developErik Johnston2021-08-186-222/+309
|\
| * Update docs/upgrade.md with new versionErik Johnston2021-08-181-1/+1
| |
| * Mount /_synapse/admin/v1/users/{userId}/media admin API on media workers ↵Andrew Morgan2021-08-182-1/+9
| | | | | | | | | | only (#10628) Co-authored-by: Patrick Cloke <patrickc@matrix.org>
| * Allow /createRoom to be run on workers (#10564)Andrew Morgan2021-08-171-0/+1
| | | | | | Fixes https://github.com/matrix-org/synapse/issues/7867
| * Centralise the custom template directory (#10596)Brendan Abolivier2021-08-174-206/+270
| | | | | | Several configuration sections are using separate settings for custom template directories, which can be confusing. This PR adds a new top-level configuration for a custom template directory which is then used for every module. The only exception is the consent templates, since the consent template directory require a specific hierarchy, so it's probably better that it stays separate from everything else.
| * Make `PeriodicallyFlushingMemoryHandler` the default logging handler. (#10518)reivilibre2021-08-171-7/+20
| |
* | Display an error page during failure of fallback UIA. (#10561)Callum Brown2021-08-181-0/+8
| |
* | Remove deprecated Shutdown Room and Purge Room Admin API (#8830)Dirk Klimpel2021-08-174-125/+13
| |
* | Port the PresenceRouter module interface to the new generic interface (#10524)Azrenbeth2021-08-173-14/+52
|/ | | Port the PresenceRouter module interface to the new generic interface introduced in v1.37.0
* Allow to edit `external_ids` by Edit User admin API (#10598)Dirk Klimpel2021-08-171-11/+29
| | | Signed-off-by: Dirk Klimpel dirk@klimpel.org
* Add an admin API to check if a username is available (#10578)Will Hunt2021-08-171-0/+20
| | | This adds a new API GET /_synapse/admin/v1/username_available?username=foo to check if a username is available. It is the counterpart to https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-register-available, except that it works even if registration is disabled.
* Manhole: wrap coroutines in `defer.ensureDeferred` automatically (#10602)reivilibre2021-08-161-1/+1
|
* Admin API to delete media for a specific user (#10558)Dirk Klimpel2021-08-112-6/+57
|
* support federation queries through http connect proxy (#10475)Dirk Klimpel2021-08-112-3/+30
| | | | | Signed-off-by: Marcus Hoffmann <bubu@bubu1.eu> Signed-off-by: Dirk Klimpel dirk@klimpel.org
* Moved homeserver documentation above reverse proxy examples (#10551)Drew Short2021-08-091-10/+13
| | | | Signed-off-by: Drew Short <warrick@sothr.com>
* Add a setting to disable TLS for sending email (#10546)Richard van der Hoff2021-08-061-0/+8
| | | This is mostly useful in case the server offers TLS, but doesn't present a valid certificate.
* Merge remote-tracking branch 'origin/release-v1.40' into developRichard van der Hoff2021-08-051-28/+23
|\
| * fix broken links in `upgrade.md` (#10543)Dirk Klimpel2021-08-051-28/+23
| | | | | | Signed-off-by: Dirk Klimpel dirk@klimpel.org
* | Add documentation for configuring a forward proxy. (#10443)Dirk Klimpel2021-08-052-0/+75
| |
* | Add warnings to ip_range_blacklist usage with proxies (#10129)Kento Okamoto2021-08-031-0/+4
| | | | | | | | | | | | | | | | Per issue #9812 using `url_preview_ip_range_blacklist` with a proxy via `HTTPS_PROXY` or `HTTP_PROXY` environment variables has some inconsistent bahavior than mentioned. This PR changes the following: - Changes the Sample Config file to include a note mentioning that `url_preview_ip_range_blacklist` and `ip_range_blacklist` is ignored when using a proxy - Changes some logic in synapse/config/repository.py to send a warning when both `*ip_range_blacklist` configs and a proxy environment variable are set and but no longer throws an error. Signed-off-by: Kento Okamoto <kentokamoto@protonmail.com>
* | Make sync response cache time configurable. (#10513)Richard van der Hoff2021-08-031-0/+9
|/
* Revert use of PeriodicallyFlushingMemoryHandler by default (#10515)reivilibre2021-08-031-4/+1
|
* Add developer documentation to explain room DAG concepts like `outliers` and ↵Eric Eastwood2021-08-032-0/+80
| | | | `state_groups` (#10464)
* Allow setting transaction limit for db connections (#10440)Toni Spets2021-08-021-0/+4
| | | | | | | Setting the value will help PostgreSQL free up memory by recycling the connections in the connection pool. Signed-off-by: Toni Spets <toni.spets@iki.fi>
* Add a PeriodicallyFlushingMemoryHandler to prevent logging silence (#10407)reivilibre2021-07-271-1/+4
| | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Add `creation_ts` to list users admin API (#10448)Dirk Klimpel2021-07-221-3/+7
| | | Signed-off-by: Dirk Klimpel dirk@klimpel.org
* Move dev/ docs to development/ (#10453)Eric Eastwood2021-07-227-6/+6
|
* Fix the hierarchy of OpenID providers in the docs. (#10445)Patrick Cloke2021-07-211-1/+1
|
* Port the ThirdPartyEventRules module interface to the new generic interface ↵Brendan Abolivier2021-07-203-14/+74
| | | | | (#10386) Port the third-party event rules interface to the generic module interface introduced in v1.37.0
* Add a module type for account validity (#9884)Brendan Abolivier2021-07-162-91/+41
| | | | | This adds an API for third-party plugin modules to implement account validity, so they can provide this feature instead of Synapse. The module implementing the current behaviour for this feature can be found at https://github.com/matrix-org/synapse-email-account-validity. To allow for a smooth transition between the current feature and the new module, hooks have been added to the existing account validity endpoints to allow their behaviours to be overridden by a module.
* Merge branch 'master' into developBrendan Abolivier2021-07-151-2/+4
|\
| * Make deprecation notice of the spam checker doc more obvious (#10395)Brendan Abolivier2021-07-151-2/+4
| |
* | Updating install prerequisites for newer macOS & ARM Macs. (#9971)Luke Walsh2021-07-151-3/+6
| |
* | Docs: Use something other than the document name to describe a page (#10399)Andrew Morgan2021-07-1511-23/+21
| | | | | | | | | | Our documentation has a history of using a document's name as a way to link to it, such as "See [workers.md]() for details". This makes sense when you're traversing a directory of files, but less sense when the files are abstracted away - as they are on the documentation website. This PR changes the links to various documentation pages to something that fits better into the surrounding sentence, as you would when making any hyperlink on the web.
* | Update the logcontext doc (#10353)Brendan Abolivier2021-07-151-230/+101
| | | | | | By referring to awaitables instead of deferreds.
* | doc: Add delegation example to the caddy reverse proxy section (#10368)Moritz Dietz2021-07-141-0/+27
| |
* | Instructions on installing RC debs (#10396)Richard van der Hoff2021-07-141-9/+12
| |
* | Fix some links in `docs` and `contrib` (#10370)Dirk Klimpel2021-07-132-7/+9
| |
* | Merge tag 'v1.38.0rc2' into developErik Johnston2021-07-096-13/+604
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 1.38.0rc2 (2021-07-09) ============================== Bugfixes -------- - Fix bug where inbound federation in a room could be delayed due to not correctly dropping a lock. Introduced in v1.37.1. ([\#10336](https://github.com/matrix-org/synapse/issues/10336)) Improved Documentation ---------------------- - Update links to documentation in the sample config. Contributed by @dklimpel. ([\#10287](https://github.com/matrix-org/synapse/issues/10287)) - Fix broken links in [INSTALL.md](INSTALL.md). Contributed by @dklimpel. ([\#10331](https://github.com/matrix-org/synapse/issues/10331))
| * Fix broken links in INSTALL.md (#10331)Dirk Klimpel2021-07-086-13/+604
| | | | | | Signed-off-by: Dirk Klimpel dirk@klimpel.org
* | Fix formatting in the logcontext doc (#10337)Brendan Abolivier2021-07-081-1/+1
| |
* | Remove functionality associated with unused historical stats tables (#9721)Cristina2021-07-082-50/+5
| | | | | | Fixes #9602
* | Fix a broken link in the admin api docs (#10322)Richard van der Hoff2021-07-071-2/+2
| | | | | | | | | | | | | | * Fix a broken link in the admin api docs * Rename 10321.doc to 10321.docs * Rename 10321.docs to 10322.doc
* | Merge remote-tracking branch 'origin/release-v1.38' into developRichard van der Hoff2021-07-072-22/+24
|\| | | | | | | merge @dklimpel's fixes to the sample config
| * Update links to documentation in sample config (#10287)Dirk Klimpel2021-07-072-22/+24
| | | | | | Signed-off-by: Dirk Klimpel dirk@klimpel.org
* | Simplify structure of room admin API docs (#10313)Dirk Klimpel2021-07-071-45/+24
|/
* Add upgrade notes about disk space for events migration (#10314)Richard van der Hoff2021-07-061-1/+39
|
* Add support for evicting cache entries based on last access time. (#10205)Erik Johnston2021-07-051-28/+34
|
* Fix bad link in modules documentation (#10302)Brendan Abolivier2021-07-021-1/+1
| | | Fix link in modules doc to point at instructions on registering a callback instead of ones on registering a web resource.
* Add SSO `external_ids` to Query User Account admin API (#10261)Dirk Klimpel2021-07-011-1/+11
| | | Related to #10251
* Fix the homeserver config example in presence router docs (#10288)Andrew Morgan2021-06-301-1/+3
| | | | | The presence router docs include some sample homeserver config. At some point we changed the name of the [config option](https://github.com/matrix-org/synapse/blob/859dc05b3692a3672c1a0db8deaaa9274b6aa6f5/docs/sample_config.yaml#L104-L113), but forgot to update the docs. I've also added `presence.enabled: true` to the example, as that's the new way to enable presence (the `presence_enabled` option has been deprecated).
* Convert UPGRADE.rst to markdown (#10166)Andrew Morgan2021-06-233-8/+1354
| | | | | | | | | This PR: * Converts UPGRADE.rst to markdown and moves the contents into the `docs/` directory. * Updates the contents of UPGRADE.rst to point to the website instead. * Updates links around the codebase that point to UPGRADE.rst. `pandoc` + some manual editing was used to convert from RST to md.
* Implement config option `sso.update_profile_information` (#10108)jkanefendt2021-06-211-0/+11
| | | | | | Implemented config option sso.update_profile_information to keep user's display name in sync with the SSO displayname. Signed-off-by: Johannes Kanefendt <johannes.kanefendt@krzn.de>
* Describe callbacks signatures as async in new modules doc (#10206)Brendan Abolivier2021-06-181-8/+8
|
* Standardise the module interface (#10062)Brendan Abolivier2021-06-184-14/+279
| | | This PR adds a common configuration section for all modules (see docs). These modules are then loaded at startup by the homeserver. Modules register their hooks and web resources using the new `register_[...]_callbacks` and `register_web_resource` methods of the module API.
* Remove support for ACME v1 (#10194)Brendan Abolivier2021-06-173-264/+9
| | | | | Fixes #9778 ACME v1 has been fully decommissioned for existing installs on June 1st 2021(see https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430/27), so we can now safely remove it from Synapse.
* Always require users to re-authenticate for dangerous operations. (#10184)Patrick Cloke2021-06-161-0/+4
| | | | | | | Dangerous actions means deactivating an account, modifying an account password, or adding a 3PID. Other actions (deleting devices, uploading keys) can re-use the same UI auth session if ui_auth.session_timeout is configured.
* A guide to the request log lines format. (#8436)Michael Kaye2021-06-162-0/+45
| | | | | | | This doc is short but a useful guide to what the request log lines mean. Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Co-authored-by: Erik Johnston <erik@matrix.org> Co-authored-by: Daniele Sluijters <daenney@users.noreply.github.com>
* Fix broken links in documentation (#10180)Dirk Klimpel2021-06-1618-51/+52
| | | | | * Fix broken links in documentation * newsfile
* Notes on boolean columns in database schemas (#10164)Richard van der Hoff2021-06-111-0/+42
|
* Support for database schema version ranges (#9933)Richard van der Hoff2021-06-112-1/+97
| | | This is essentially an implementation of the proposal made at https://hackmd.io/@richvdh/BJYXQMQHO, though the details have ended up looking slightly different.
* Mention that you need to configure max upload size in reverse proxy as well ↵Aaron Raimist2021-06-101-0/+4
| | | | | (#10122) Signed-off-by: Aaron Raimist <aaron@raim.ist>
* Name release branches just after major.minor (#10013)Dan Callahan2021-06-081-4/+4
| | | | | | | | | | | | | | | | | | With the prior format, 1.33.0 / 1.33.1 / 1.33.2 got separate branches: release-v1.33.0 release-v1.33.1 release-v1.33.2 Under the new model, all three would share a common branch: release-v1.33 As before, RCs and actual releases exist as tags on these branches. This better reflects our support model, e.g., that the "1.33" series had a formal release followed by two patches / updates. Signed-off-by: Dan Callahan <danc@element.io>
* Make link in docs use HTTPS (#10130)Rohan Sharma2021-06-071-1/+1
| | | | | Fixes #10121 Signed-off-by: Rohan Sharma <rhnsharma5113@gmail.com>
* Compile and render Synapse's docs into a browsable, mobile-friendly and ↵Andrew Morgan2021-06-0330-54/+903
| | | | searchable website (#10086)
* Convert admin api docs to markdown (#10089)Andrew Morgan2021-06-038-1132/+1159
| | | So that they render nicely in mdbook (see #10086), and so that we no longer have a mix of structured text languages in our documentation (excluding files outside of `docs/`).
* Add new admin APIs to remove media by media ID from quarantine. (#10044)Dirk Klimpel2021-06-021-0/+22
| | | | | Related to: #6681, #5956, #10040 Signed-off-by: Dirk Klimpel dirk@klimpel.org
* Move some more endpoints off master (#10084)Erik Johnston2021-05-271-0/+3
|
* Make reason and score optional for report_event (#10077)Callum Brown2021-05-271-2/+2
| | | | | | Implements MSC2414: https://github.com/matrix-org/matrix-doc/pull/2414 See #8551 Signed-off-by: Callum Brown <callum@calcuode.com>
* Remove the experimental spaces enabled flag. (#10063)Patrick Cloke2021-05-261-15/+0
| | | | In lieu of just always enabling the unstable spaces endpoint and unstable room version.
* Add an admin API for unprotecting local media from quarantine (#10040)Dirk Klimpel2021-05-261-0/+21
| | | Signed-off-by: Dirk Klimpel dirk@klimpel.org
* Update CAPTCHA documentation to mention turning off verify origin feature ↵Aaron Raimist2021-05-261-22/+28
| | | | | | | | (#10046) * Update CAPTCHA documentation to mention turning off verify origin Signed-off-by: Aaron Raimist <aaron@raim.ist>
* Remove tls_fingerprints option (#9280)Jerin J Titus2021-05-241-27/+0
| | | | Signed-off-by: Jerin J Titus <72017981+jerinjtitus@users.noreply.github.com>
* Enable experimental spaces by default. (#10011)Patrick Cloke2021-05-241-0/+15
| | | | The previous spaces_enabled flag now defaults to true and is exposed in the sample config.
* Add missing entry to the table of contents of room admin API (#10043)Dirk Klimpel2021-05-241-0/+1
|
* Merge branch 'master' of github.com:matrix-org/synapse into developAndrew Morgan2021-05-201-1/+1
|\
| * Update user_directory.md (#10016)Javier Junquera Sánchez2021-05-201-1/+1
| | | | | | Signed-off-by: Javier Junquera Sánchez <javier@junquera.io>
* | Hardened systemd unit files (#9803)Savyasachee Jha2021-05-191-0/+30
| | | | | | Signed-off-by: Savyasachee Jha savya.jha@hawkradius.com
* | Use a database table to hold the users that should have full presence sent ↵Andrew Morgan2021-05-181-1/+5
| | | | | | | | to them, instead of something in-memory (#9823)
* | Update postgres docs (#9989)Richard van der Hoff2021-05-141-102/+96
| |
* | Support enabling opentracing by user (#9978)Richard van der Hoff2021-05-142-11/+19
| | | | | | | | | | Add a config option which allows enabling opentracing by user id, eg for debugging requests made by a test user.
* | Update minimum supported version in postgres.md (#9988)Andrew Morgan2021-05-141-1/+1
| |
* | Update SSO mapping providers documentation about unique IDs. (#9980)Patrick Cloke2021-05-131-7/+11
|/
* Send the `m.room.create` stripped event with invites (support MSC1772). (#9966)Patrick Cloke2021-05-111-0/+1
| | | | | MSC1772 specifies the m.room.create event should be sent as part of the invite_state. This was done optionally behind an experimental flag, but is now done by default due to MSC1772 being approved.
* Add config option to hide device names over federation (#9945)Aaron Raimist2021-05-111-0/+6
| | | | | Now that cross signing exists there is much less of a need for other people to look at devices and verify them individually. This PR adds a config option to allow you to prevent device display names from being shared with other servers. Signed-off-by: Aaron Raimist <aaron@raim.ist>
* Limit how often GC happens by time. (#9902)Erik Johnston2021-05-051-0/+10
| | | | | | | | | | | | | | | Synapse can be quite memory intensive, and unless care is taken to tune the GC thresholds it can end up thrashing, causing noticable performance problems for large servers. We fix this by limiting how often we GC a given generation, regardless of current counts/thresholds. This does not help with the reverse problem where the thresholds are set too high, but that should only happen in situations where they've been manually configured. Adds a `gc_min_seconds_between` config option to override the defaults. Fixes #9890.
* Add port parameter to the sample config for psycopg2 args (#9911)Andrew Morgan2021-05-041-0/+1
| | | Adds the `port` option with the default value to the sample config file.
* Delete room endpoint (#9889)ThibF2021-04-291-1/+10
| | | | | | Support the delete of a room through DELETE request and mark previous request as deprecated through documentation. Signed-off-by: Thibault Ferrante <thibault.ferrante@pm.me>
* Rename handler and config modules which end in handler/config. (#9816)Patrick Cloke2021-04-202-3/+3
|
* Port "Allow users to click account renewal links multiple times without ↵Andrew Morgan2021-04-191-63/+85
| | | | | hitting an 'Invalid Token' page #74" from synapse-dinsic (#9832) This attempts to be a direct port of https://github.com/matrix-org/synapse-dinsic/pull/74 to mainline. There was some fiddling required to deal with the changes that have been made to mainline since (mainly dealing with the split of `RegistrationWorkerStore` from `RegistrationStore`, and the changes made to `self.make_request` in test code).
* Add an admin API to manage ratelimit for a specific user (#9648)Dirk Klimpel2021-04-131-1/+116
|
* Add a Synapse Module for configuring presence update routing (#9491)Andrew Morgan2021-04-062-2/+256
| | | | | | | | | | | | At the moment, if you'd like to share presence between local or remote users, those users must be sharing a room together. This isn't always the most convenient or useful situation though. This PR adds a module to Synapse that will allow deployments to set up extra logic on where presence updates should be routed. The module must implement two methods, `get_users_for_states` and `get_interested_users`. These methods are given presence updates or user IDs and must return information that Synapse will use to grant passing presence updates around. A method is additionally added to `ModuleApi` which allows triggering a set of users to receive the current, online presence information for all users they are considered interested in. This is the equivalent of that user receiving presence information during an initial sync. The goal of this module is to be fairly generic and useful for a variety of applications, with hard requirements being: * Sending state for a specific set or all known users to a defined set of local and remote users. * The ability to trigger an initial sync for specific users, so they receive all current state.
* Merge branch 'master' into developErik Johnston2021-04-061-0/+33
|\
| * Add deprecation policy doc (#9723)Erik Johnston2021-04-061-0/+33
| | | | | | | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* | Add `order_by` to list user admin API (#9691)Dirk Klimpel2021-04-011-22/+63
| |
* | Make sample config allowed_local_3pids regex stricter. (#9719)Denis Kasak2021-03-311-2/+2
| | | | | | | | | | | | | | The regex should be terminated so that subdomain matches of another domain are not accepted. Just ensuring that someone doesn't shoot themselves in the foot by copying our example. Signed-off-by: Denis Kasak <dkasak@termina.org.uk>
* | Replace `room_invite_state_types` with `room_prejoin_state` (#9700)Richard van der Hoff2021-03-302-8/+28
|/ | | | | | | `room_invite_state_types` was inconvenient as a configuration setting, because anyone that ever set it would not receive any new types that were added to the defaults. Here, we deprecate the old setting, and replace it with a couple of new settings under `room_prejoin_state`.
* Update the OIDC sample config (#9695)Richard van der Hoff2021-03-291-31/+3
| | | | | | | I've reiterated the advice about using `oidc` to migrate, since I've seen a few people caught by this. I've also removed a couple of the examples as they are duplicating the OIDC documentation, and I think they might be leading people astray.
* Preserve host in example apache config (#9696)Paul Tötterman2021-03-261-2/+5
| | | | | Fixes redirect loop Signed-off-by: Paul Tötterman <paul.totterman@iki.fi>
* docs: fallback/web endpoint does not appear to be mounted on workers (#9679)Ben Banfield-Zanin2021-03-241-2/+1
|
* Increase default join burst ratelimiting (#9674)Erik Johnston2021-03-231-2/+2
| | | It's legitimate behaviour to try and join a bunch of rooms at once.
* Add SSO attribute requirements for OIDC providers (#9609)Hubbe2021-03-161-0/+24
| | | | Allows limiting who can login using OIDC via the claims made from the IdP.
* Pass SSO IdP information to spam checker's registration function (#9626)Andrew Morgan2021-03-161-1/+7
| | | | | | | Fixes https://github.com/matrix-org/synapse/issues/9572 When a SSO user logs in for the first time, we create a local Matrix user for them. This goes through the register_user flow, which ends up triggering the spam checker. Spam checker modules don't currently have any way to differentiate between a user trying to sign up initially, versus an SSO user (whom has presumably already been approved elsewhere) trying to log in for the first time. This PR passes `auth_provider_id` as an argument to the `check_registration_for_spam` function. This argument will contain an ID of an SSO provider (`"saml"`, `"cas"`, etc.) if one was used, else `None`.
* Add support for stable MSC2858 API (#9617)Richard van der Hoff2021-03-162-5/+5
| | | | | The stable format uses different brand identifiers, so we need to support two identifiers for each IdP.
* Clean up config settings for stats (#9604)Richard van der Hoff2021-03-161-12/+13
| | | ... and complain if people try to turn it off.
* Fix spam checker modules documentation example (#9580)Jason Robinson2021-03-101-0/+10
| | | | Mention that parse_config must exist and note the check_media_file_for_spam method.
* Link to the List user's media admin API from media Admin API docs (#9571)Andrew Morgan2021-03-091-2/+14
| | | | | Earlier [I was convinced](https://github.com/matrix-org/synapse/issues/9565) that we didn't have an Admin API for listing media uploaded by a user. Foolishly I was looking under the Media Admin API documentation, instead of the User Admin API documentation. I thought it'd be helpful to link to the latter so others don't hit the same dead end :)
* JWT OIDC secrets for Sign in with Apple (#9549)Richard van der Hoff2021-03-092-4/+59
| | | | | Apple had to be special. They want a client secret which is generated from an EC key. Fixes #9220. Also fixes #9212 while I'm here.
* Fixup sample configErik Johnston2021-03-091-2/+1
| | | | After 0764d0c6e575793ca506cf021aff3c4b9e0a5972
* Update reverse proxy to add OpenBSD relayd example configuration. (#9508)Leo Bärring2021-03-061-2/+49
| | | | | Update reverse proxy to add OpenBSD relayd example configuration. Signed-off-by: Leo Bärring <leo.barring@protonmail.com>
* Update nginx reverse-proxy docs (#9512)Richard van der Hoff2021-03-031-0/+2
| | | Turns out nginx overwrites the Host header by default.
* Add support for X-Forwarded-Proto (#9472)Richard van der Hoff2021-02-241-13/+23
| | | | | rewrite XForwardedForRequest to set `isSecure()` based on `X-Forwarded-Proto`. Also implement `getClientAddress()` while we're here.
* Fix typo in spam checker documentationAndrew Morgan2021-02-241-1/+1
|
* Fix deleting pushers when using sharded pushers. (#9465)Erik Johnston2021-02-221-4/+0
|
* Add an `order_by` field to list users' media admin API. (#8978)Dirk Klimpel2021-02-221-4/+34
|
* example systemd config: propagate reloads to units (#9463)Richard van der Hoff2021-02-222-0/+2
| | | | | It should be possible to reload `synapse.target` to have the reload propagate to all the synapse units.
* Clean up the user directory sample config section (#9385)Andrew Morgan2021-02-221-18/+29
| | | | | The user directory sample config section was a little messy, and didn't adhere to our [recommended config format guidelines](https://github.com/matrix-org/synapse/blob/develop/docs/code_style.md#configuration-file-format). This PR cleans that up a bit.
* Add a config option to prioritise local users in user directory search ↵Andrew Morgan2021-02-191-0/+5
| | | | | | | | | results (#9383) This PR adds a homeserver config option, `user_directory.prefer_local_users`, that when enabled will show local users higher in user directory search results than remote users. This option is off by default. Note that turning this on doesn't necessarily mean that remote users will always be put below local users, but they should be assuming all other ranking factors (search query match, profile information present etc) are identical. This is useful for, say, University networks that are openly federating, but want to prioritise local students and staff in the user directory over other random users.
* Add configs to make profile data more private (#9203)AndrewFerr2021-02-191-0/+14
| | | | | | | Add off-by-default configuration settings to: - disable putting an invitee's profile info in invite events - disable profile lookup via federation Signed-off-by: Andrew Ferrazzutti <fair@miscworks.net>
* Parse ui_auth.session_timeout as a duration (instead of treating it as ms) ↵Rishabh Arya2021-02-181-3/+3
| | | | (#9426)
* Add http2 to the nginx example config (#9390)David Vo2021-02-181-4/+4
|
* Revert "Update workers.md"Richard van der Hoff2021-02-181-1/+1
| | | | This reverts commit a8878960c0139f80bbb6f84bd0f0cb7352429c5b.
* Add the shadow-banning status to the display user admin API. (#9400)Dirk Klimpel2021-02-171-3/+6
|
* Update workers.mdRichard van der Hoff2021-02-171-1/+2
|
* Update workers.mdRichard van der Hoff2021-02-171-1/+1
| | | tiny typo in sso paths
* Update black, and run auto formatting over the codebase (#9381)Eric Eastwood2021-02-161-12/+4
| | | | | | | - Update black version to the latest - Run black auto formatting over the codebase - Run autoformatting according to [`docs/code_style.md `](https://github.com/matrix-org/synapse/blob/80d6dc9783aa80886a133756028984dbf8920168/docs/code_style.md) - Update `code_style.md` docs around installing black to use the correct version
* Fix OIDC gitiea redirect URL. (#9404)Marcus2021-02-161-1/+1
| | | | Fixes a "conflict" from 846b9d3df033be1043710e49e89bcba68722071e and d1f13c7485768b45bfc1a2a674830c681c52e2a1.
* Document that pusher instances are shardable (#9407)Erik Johnston2021-02-161-1/+9
|
* Fix sample configAndrew Morgan2021-02-121-1/+1
| | | | Just a small change missed in 7950aa8a27c3f45184c96fda210c62d068dd2591.
* Merge tag 'v1.27.0rc2' into developPatrick Cloke2021-02-111-11/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 1.27.0rc2 (2021-02-11) ============================== Features -------- - Further improvements to the user experience of registration via single sign-on. ([\#9297](https://github.com/matrix-org/synapse/issues/9297)) Bugfixes -------- - Fix ratelimiting introduced in v1.27.0rc1 for invites to respect the `ratelimit` flag on application services. ([\#9302](https://github.com/matrix-org/synapse/issues/9302)) - Do not automatically calculate `public_baseurl` since it can be wrong in some situations. Reverts behaviour introduced in v1.26.0. ([\#9313](https://github.com/matrix-org/synapse/issues/9313)) Improved Documentation ---------------------- - Clarify the sample configuration for changes made to the template loading code. ([\#9310](https://github.com/matrix-org/synapse/issues/9310))
| * Backout changes for automatically calculating the public baseurl. (#9313)Patrick Cloke2021-02-111-11/+9
| | | | | | | | This breaks some people's configurations (if their Client-Server API is not accessed via port 443).
* | Add XWiki OIDC provider example. (#9324)Thomas Mortagne2021-02-091-0/+22
| |
* | Merge pull request #9150 from Yoric/develop-contextDavid Teller2021-02-081-0/+119
|\ \ | | | | | | New API /_synapse/admin/rooms/{roomId}/context/{eventId}
| * | FIXUP: Documenting /_synapse/admin/v1/rooms/<room_id>/context/<event_id>David Teller2021-01-281-0/+119
| | |
* | | Merge branch 'erikj/media_spam_checker' into developErik Johnston2021-02-041-0/+3
|\ \ \
| * | | Add check_media_file_for_spam spam checker hookErik Johnston2021-02-041-0/+3
| | |/ | |/|
* | | Correct `matrix-synapse.service` reference in TURN howto docs. (#9308)dykstranet2021-02-041-1/+1
| | |
* | | Fix escaping of braces in OIDC sample config. (#9317)Patrick Cloke2021-02-041-5/+5
| | | | | | | | | This fixes the Jinja2 templates for the mapping provider.
* | | Merge branch 'social_login_hotfixes' into developRichard van der Hoff2021-02-031-10/+4
|\| |
| * | Clarify documentation about escaping URLs in templates. (#9310)Patrick Cloke2021-02-031-10/+4
| | |
* | | config: Add detail to auto_join_rooms comment (#9291)dykstranet2021-02-031-0/+2
| | | | | | | | | | | | | | | config: Add detail to auto_join_rooms comment Signed-off-by: Gary Dykstra <gary@dykstranet.com>
* | | Convert blacklisted IPv4 addresses to compatible IPv6 addresses. (#9240)Patrick Cloke2021-02-031-0/+8
|/ / | | | | Also add a few more IP ranges to the default blacklist.
* | Add an admin API to get the current room state (#9168)Travis Ralston2021-02-021-0/+30
| | | | | | | | | | This could arguably replace the existing admin API for `/members`, however that is out of scope of this change. This sort of endpoint is ideal for moderation use cases as well as other applications, such as needing to retrieve various bits of information about a room to perform a task (like syncing power levels between two places). This endpoint exposes nothing more than an admin would be able to access with a `select *` query on their database.
* | Put SAML callback URI under /_synapse/client. (#9289)Richard van der Hoff2021-02-022-3/+3
| |
* | Put OIDC callback URI under /_synapse/client. (#9288)Richard van der Hoff2021-02-012-10/+11
| |
* | Add an OpenID example config for Gitea. (#9134)Oliver Hanikel2021-02-011-0/+34
| |
* | Merge branch 'social_login' into developRichard van der Hoff2021-02-012-0/+38
|\ \
| * | Collect terms consent from the user during SSO registration (#9276)Richard van der Hoff2021-02-012-0/+23
| | |
| * | Improve styling and wording of SSO UIA templates (#9286)Richard van der Hoff2021-02-011-0/+15
| | | | | | | | | fixes #9171
* | | Merge branch 'social_login' into developRichard van der Hoff2021-02-012-10/+54
|\| |
| * | Replace username picker with a template (#9275)Richard van der Hoff2021-02-011-1/+31
| | | | | | | | | | | | | | | There's some prelimiary work here to pull out the construction of a jinja environment to a separate function. I wanted to load the template at display time rather than load time, so that it's easy to update on the fly. Honestly, I think we should do this with all our templates: the risk of ending up with malformed templates is far outweighed by the improved turnaround time for an admin trying to update them.
| * | Improve styling and wording of SSO redirect confirm template (#9272)Richard van der Hoff2021-02-011-1/+13
| | |
| * | Fix SSO on workers (#9271)Richard van der Hoff2021-02-011-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #8966. * Factor out build_synapse_client_resource_tree Start a function which will mount resources common to all workers. * Move sso init into build_synapse_client_resource_tree ... so that we don't have to do it for each worker * Fix SSO-login-via-a-worker Expose the SSO login endpoints on workers, like the documentation says. * Update workers config for new endpoints Add documentation for endpoints recently added (#8942, #9017, #9262) * remove submit_token from workers endpoints list this *doesn't* work on workers (yet). * changelog * Add a comment about the odd path for SAML2Resource
* | | Ratelimit invites by room and target user (#9258)Erik Johnston2021-01-291-0/+10
| | |
* | | Merge branch 'social_login' into developRichard van der Hoff2021-01-282-7/+24
|\| |
| * | Add 'brand' field to MSC2858 response (#9242)Richard van der Hoff2021-01-272-4/+12
| | | | | | | | | | | | | | | | | | We've decided to add a 'brand' field to help clients decide how to style the buttons. Also, fix up the allowed characters for idp_id, while I'm in the area.
| * | Support for scraping email addresses from OIDC providers (#9245)Richard van der Hoff2021-01-271-3/+12
| | |
* | | Ratelimit 3PID /requestToken API (#9238)Erik Johnston2021-01-281-1/+5
| |/ |/|
* | Add notes on integrating with Facebook for SSO login. (#9244)Richard van der Hoff2021-01-271-5/+48
| |
* | Add a note to changelog about redis usage (#9227)Erik Johnston2021-01-271-1/+4
| |
* | Do not require the CAS service URL setting (use public_baseurl instead). (#9199)Patrick Cloke2021-01-261-4/+0
| | | | | | | | The current configuration is handled for backwards compatibility, but is considered deprecated.
* | Merge branch 'develop' into jaywink/admin-forward-extremitiesJason Robinson2021-01-261-0/+30
|\ \ | | | | | | | | | | | | # Conflicts: # synapse/rest/admin/__init__.py
| * | Add an admin API for shadow-banning users. (#9209)Patrick Cloke2021-01-251-0/+30
| |/ | | | | | | | | | | | | | | | | | | This expands the current shadow-banning feature to be usable via the admin API and adds documentation for it. A shadow-banned users receives successful responses to their client-server API requests, but the events are not propagated into rooms. Shadow-banning a user should be used as a tool of last resort and may lead to confusing or broken behaviour for the client.
* | Merge branch 'develop' into jaywink/admin-forward-extremitiesJason Robinson2021-01-2310-246/+480
|\|
| * Merge remote-tracking branch 'origin/release-v1.26.0' into developRichard van der Hoff2021-01-211-4/+9
| |\
| | * Prefix idp_id with "oidc-" (#9189)Richard van der Hoff2021-01-211-4/+9
| | | | | | | | | ... to avoid clashes with other SSO mechanisms
| * | Merge tag 'v1.26.0rc1' into developPatrick Cloke2021-01-201-0/+4
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 1.26.0rc1 (2021-01-20) ============================== This release brings a new schema version for Synapse and rolling back to a previous verious is not trivial. Please review [UPGRADE.rst](UPGRADE.rst) for more details on these changes and for general upgrade guidance. Features -------- - Add support for multiple SSO Identity Providers. ([\#9015](https://github.com/matrix-org/synapse/issues/9015), [\#9017](https://github.com/matrix-org/synapse/issues/9017), [\#9036](https://github.com/matrix-org/synapse/issues/9036), [\#9067](https://github.com/matrix-org/synapse/issues/9067), [\#9081](https://github.com/matrix-org/synapse/issues/9081), [\#9082](https://github.com/matrix-org/synapse/issues/9082), [\#9105](https://github.com/matrix-org/synapse/issues/9105), [\#9107](https://github.com/matrix-org/synapse/issues/9107), [\#9109](https://github.com/matrix-org/synapse/issues/9109), [\#9110](https://github.com/matrix-org/synapse/issues/9110), [\#9127](https://github.com/matrix-org/synapse/issues/9127), [\#9153](https://github.com/matrix-org/synapse/issues/9153), [\#9154](https://github.com/matrix-org/synapse/issues/9154), [\#9177](https://github.com/matrix-org/synapse/issues/9177)) - During user-interactive authentication via single-sign-on, give a better error if the user uses the wrong account on the SSO IdP. ([\#9091](https://github.com/matrix-org/synapse/issues/9091)) - Give the `public_baseurl` a default value, if it is not explicitly set in the configuration file. ([\#9159](https://github.com/matrix-org/synapse/issues/9159)) - Improve performance when calculating ignored users in large rooms. ([\#9024](https://github.com/matrix-org/synapse/issues/9024)) - Implement [MSC2176](https://github.com/matrix-org/matrix-doc/pull/2176) in an experimental room version. ([\#8984](https://github.com/matrix-org/synapse/issues/8984)) - Add an admin API for protecting local media from quarantine. ([\#9086](https://github.com/matrix-org/synapse/issues/9086)) - Remove a user's avatar URL and display name when deactivated with the Admin API. ([\#8932](https://github.com/matrix-org/synapse/issues/8932)) - Update `/_synapse/admin/v1/users/<user_id>/joined_rooms` to work for both local and remote users. ([\#8948](https://github.com/matrix-org/synapse/issues/8948)) - Add experimental support for handling to-device messages on worker processes. ([\#9042](https://github.com/matrix-org/synapse/issues/9042), [\#9043](https://github.com/matrix-org/synapse/issues/9043), [\#9044](https://github.com/matrix-org/synapse/issues/9044), [\#9130](https://github.com/matrix-org/synapse/issues/9130)) - Add experimental support for handling `/keys/claim` and `/room_keys` APIs on worker processes. ([\#9068](https://github.com/matrix-org/synapse/issues/9068)) - Add experimental support for handling `/devices` API on worker processes. ([\#9092](https://github.com/matrix-org/synapse/issues/9092)) - Add experimental support for moving off receipts and account data persistence off master. ([\#9104](https://github.com/matrix-org/synapse/issues/9104), [\#9166](https://github.com/matrix-org/synapse/issues/9166)) Bugfixes -------- - Fix a long-standing issue where an internal server error would occur when requesting a profile over federation that did not include a display name / avatar URL. ([\#9023](https://github.com/matrix-org/synapse/issues/9023)) - Fix a long-standing bug where some caches could grow larger than configured. ([\#9028](https://github.com/matrix-org/synapse/issues/9028)) - Fix error handling during insertion of client IPs into the database. ([\#9051](https://github.com/matrix-org/synapse/issues/9051)) - Fix bug where we didn't correctly record CPU time spent in `on_new_event` block. ([\#9053](https://github.com/matrix-org/synapse/issues/9053)) - Fix a minor bug which could cause confusing error messages from invalid configurations. ([\#9054](https://github.com/matrix-org/synapse/issues/9054)) - Fix incorrect exit code when there is an error at startup. ([\#9059](https://github.com/matrix-org/synapse/issues/9059)) - Fix `JSONDecodeError` spamming the logs when sending transactions to remote servers. ([\#9070](https://github.com/matrix-org/synapse/issues/9070)) - Fix "Failed to send request" errors when a client provides an invalid room alias. ([\#9071](https://github.com/matrix-org/synapse/issues/9071)) - Fix bugs in federation catchup logic that caused outbound federation to be delayed for large servers after start up. Introduced in v1.8.0 and v1.21.0. ([\#9114](https://github.com/matrix-org/synapse/issues/9114), [\#9116](https://github.com/matrix-org/synapse/issues/9116)) - Fix corruption of `pushers` data when a postgres bouncer is used. ([\#9117](https://github.com/matrix-org/synapse/issues/9117)) - Fix minor bugs in handling the `clientRedirectUrl` parameter for SSO login. ([\#9128](https://github.com/matrix-org/synapse/issues/9128)) - Fix "Unhandled error in Deferred: BodyExceededMaxSize" errors when .well-known files that are too large. ([\#9108](https://github.com/matrix-org/synapse/issues/9108)) - Fix "UnboundLocalError: local variable 'length' referenced before assignment" errors when the response body exceeds the expected size. This bug was introduced in v1.25.0. ([\#9145](https://github.com/matrix-org/synapse/issues/9145)) - Fix a long-standing bug "ValueError: invalid literal for int() with base 10" when `/publicRooms` is requested with an invalid `server` parameter. ([\#9161](https://github.com/matrix-org/synapse/issues/9161)) Improved Documentation ---------------------- - Add some extra docs for getting Synapse running on macOS. ([\#8997](https://github.com/matrix-org/synapse/issues/8997)) - Correct a typo in the `systemd-with-workers` documentation. ([\#9035](https://github.com/matrix-org/synapse/issues/9035)) - Correct a typo in `INSTALL.md`. ([\#9040](https://github.com/matrix-org/synapse/issues/9040)) - Add missing `user_mapping_provider` configuration to the Keycloak OIDC example. Contributed by @chris-ruecker. ([\#9057](https://github.com/matrix-org/synapse/issues/9057)) - Quote `pip install` packages when extras are used to avoid shells interpreting bracket characters. ([\#9151](https://github.com/matrix-org/synapse/issues/9151)) Deprecations and Removals ------------------------- - Remove broken and unmaintained `demo/webserver.py` script. ([\#9039](https://github.com/matrix-org/synapse/issues/9039)) Internal Changes ---------------- - Improve efficiency of large state resolutions. ([\#8868](https://github.com/matrix-org/synapse/issues/8868), [\#9029](https://github.com/matrix-org/synapse/issues/9029), [\#9115](https://github.com/matrix-org/synapse/issues/9115), [\#9118](https://github.com/matrix-org/synapse/issues/9118), [\#9124](https://github.com/matrix-org/synapse/issues/9124)) - Various clean-ups to the structured logging and logging context code. ([\#8939](https://github.com/matrix-org/synapse/issues/8939)) - Ensure rejected events get added to some metadata tables. ([\#9016](https://github.com/matrix-org/synapse/issues/9016)) - Ignore date-rotated homeserver logs saved to disk. ([\#9018](https://github.com/matrix-org/synapse/issues/9018)) - Remove an unused column from `access_tokens` table. ([\#9025](https://github.com/matrix-org/synapse/issues/9025)) - Add a `-noextras` factor to `tox.ini`, to support running the tests with no optional dependencies. ([\#9030](https://github.com/matrix-org/synapse/issues/9030)) - Fix running unit tests when optional dependencies are not installed. ([\#9031](https://github.com/matrix-org/synapse/issues/9031)) - Allow bumping schema version when using split out state database. ([\#9033](https://github.com/matrix-org/synapse/issues/9033)) - Configure the linters to run on a consistent set of files. ([\#9038](https://github.com/matrix-org/synapse/issues/9038)) - Various cleanups to device inbox store. ([\#9041](https://github.com/matrix-org/synapse/issues/9041)) - Drop unused database tables. ([\#9055](https://github.com/matrix-org/synapse/issues/9055)) - Remove unused `SynapseService` class. ([\#9058](https://github.com/matrix-org/synapse/issues/9058)) - Remove unnecessary declarations in the tests for the admin API. ([\#9063](https://github.com/matrix-org/synapse/issues/9063)) - Remove `SynapseRequest.get_user_agent`. ([\#9069](https://github.com/matrix-org/synapse/issues/9069)) - Remove redundant `Homeserver.get_ip_from_request` method. ([\#9080](https://github.com/matrix-org/synapse/issues/9080)) - Add type hints to media repository. ([\#9093](https://github.com/matrix-org/synapse/issues/9093)) - Fix the wrong arguments being passed to `BlacklistingAgentWrapper` from `MatrixFederationAgent`. Contributed by Timothy Leung. ([\#9098](https://github.com/matrix-org/synapse/issues/9098)) - Reduce the scope of caught exceptions in `BlacklistingAgentWrapper`. ([\#9106](https://github.com/matrix-org/synapse/issues/9106)) - Improve `UsernamePickerTestCase`. ([\#9112](https://github.com/matrix-org/synapse/issues/9112)) - Remove dependency on `distutils`. ([\#9125](https://github.com/matrix-org/synapse/issues/9125)) - Enforce that replication HTTP clients are called with keyword arguments only. ([\#9144](https://github.com/matrix-org/synapse/issues/9144)) - Fix the Python 3.5 / old dependencies build in CI. ([\#9146](https://github.com/matrix-org/synapse/issues/9146)) - Replace the old `perspectives` option in the Synapse docker config file template with `trusted_key_servers`. ([\#9157](https://github.com/matrix-org/synapse/issues/9157))