summary refs log tree commit diff
path: root/docs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update admin_faq - Fix how to obtain access token (#18225)Marcel Pennewiß2025-03-271-1/+1
| | | Riot is now known as element and Access token moved to Help & About
* Add docs for how to clear out the Poetry wheel cache (#18283)Eric Eastwood2025-03-261-0/+22
| | | | | | | As shared by @reivilibre, https://github.com/element-hq/synapse/pull/18261#issuecomment-2754607816 Relevant Poetry issue around how this should be handled by them: https://github.com/python-poetry/poetry/issues/10304
* Correct typo "SAML" -> SSO in mapping providers docs (#18276)Andrew Morgan2025-03-251-1/+1
|
* Delete unreferenced state groups in background (#18254)Devon Hudson2025-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR fixes #18154 to avoid de-deltaing state groups which resulted in DB size temporarily increasing until the DB was `VACUUM`'ed. As a result, less state groups will get deleted now. It also attempts to improve performance by not duplicating work when processing state groups it has already processed in previous iterations. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Erik Johnston <erikj@element.io>
* Update Poetry to 2.1.1, including updating the lock file version. (#18251)reivilibre2025-03-211-4/+4
|
* Fix: corrected routing path for workers doc (#18224)karuto2025-03-131-1/+1
| | | Closes: https://github.com/element-hq/synapse/issues/17926
* Revert the background job to clear unreferenced state groups (that was ↵reivilibre2025-03-071-1/+1
| | | | | | | | | | | | | | | | | introduced in v1.126.0rc1), due to a suspected issue that causes increased disk usage. (#18222) Revert "Add background job to clear unreferenced state groups (#18154)" This mechanism is suspected of inserting large numbers of rows into `state_groups_state`, thus unreasonably increasing disk usage. See: https://github.com/element-hq/synapse/issues/18217 This reverts commit 5121f9210c989fcc909e78195133876dff3bc9b9 (#18154). --------- Signed-off-by: Olivier 'reivilibre <oliverw@matrix.org>
* Add upgrade notes for the debian repo signing key expiry changeOlivier 'reivilibre2025-03-041-0/+18
|
* Add `redirect_uri` option to `oidc_providers` entries (#18197)Andrew Morgan2025-03-031-0/+7
| | | | | | | | | | | | | | | | | | | | | Allows overriding the `redirect_uri` parameter sent to both the authorization and token endpoints of the IdP. Typically this parameter is hardcoded to `<public_baseurl>/_synapse/client/oidc/callback`. Yet it can be useful in certain contexts to allow a different callback URL. For instance, if you would like to intercept the authorization code returned from the IdP and do something with it, before eventually calling Synapse's OIDC callback URL yourself. This change enables enterprise use cases but does not change the default behaviour. --- Best reviewed commit-by-commit. --------- Co-authored-by: Eric Eastwood <erice@element.io>
* Add worker_replication_secret_path config option (#18191)V024602025-02-261-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Workers now get their secrets from files, too! There are not many config options left to pathify :) Includes documentation and unit tests. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Devon Hudson <devon.dmytro@gmail.com>
* Add form_secret_path config option (#18090)V024602025-02-251-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I [was told](https://github.com/element-hq/synapse/pull/17983#issuecomment-2593370897) about another config option with a secret, so I got `form_secret` a companion: `form_secret_path` This PR makes NixOS and Kubernetes users a little bit happy. Includes docs and tests. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Define delayed event ratelimit category (#18019)Andrew Ferrazzutti2025-02-251-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply ratelimiting on delayed event management separately from messages. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [ ] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Move User Event Redaction Admin API version indicator to the correct place ↵Andrew Morgan2025-02-251-2/+2
| | | | | (#18152) Previously it was in the middle of the parameter definitions.
* Add background job to clear unreferenced state groups (#18154)Devon Hudson2025-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #18150 ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Erik Johnston <erikj@element.io>
* Disable room list publication by default (#18175)Erik Johnston2025-02-242-2/+26
| | | | | | This is in line with our general policy of ensuring that the default config is reasonably locked down. SyTest PR to fix tests: https://github.com/matrix-org/sytest/pull/1396
* Add support for overriding `id_token_signing_alg_values_supported` for an ↵Eric Eastwood2025-02-201-0/+18
| | | | | | | | | | | | | OpenID identity provider (#18177) Normally, when `discovery` is enabled, `id_token_signing_alg_values_supported` comes from the OpenID Discovery Document (`/.well-known/openid-configuration`). If nothing was specified, we default to supporting `RS256` in the downstream usage. This PR just adds support for adding a default/overriding the the discovered value [just like we do for other things like the `token_endpoint`](https://github.com/element-hq/synapse/blob/1525a3b4d48a0f5657d61423e1f205bff9a77948/docs/usage/configuration/config_documentation.md#oidc_providers), etc.
* Document suspension Admin API (#18162)Shay2025-02-201-0/+26
| | | | | Missed in the transition from experimental to stable. Fixes #18160
* Document consequences of replacing secrets (#18138)V024602025-02-171-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Document consequences of replacing secrets. The covered config options are `registration_shared_secret`, `macaroon_secret_key`, `form_secret` and `worker_replication_secret`. Even though I looked at the source code to check the added documentation is right, I would appreciate additional verification of the statements made. In an hand-wavy attempt at classifying how bad the consequences of secret replacement are, I added some explanations as warnings and others as regular paragraphs. Closes #17971 ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Update `rc_presence` config docs with int burst_count (#18159)Andrew Morgan2025-02-141-1/+1
|
* Document missing server config options (#18122)Eric Eastwood2025-02-121-0/+58
| | | | | | I was looking into the `USE_FROZEN_DICTS` option during the review of https://github.com/element-hq/synapse/pull/18103#discussion_r1935876168 and noticed that there are several other server config options that aren't in the docs.
* feat: Allow multiple values for SSO attribute_requirements via comma ↵meise2025-02-101-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | separation (#17949) In the current `attribute_requirements` implementation it is only possible to allow exact matching attribute values. Multiple allowed values for one attribute are not possible as described in #13238. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Sebastian Neuser <pzkz@infra.run> Co-authored-by: Quentin Gliech <quenting@element.io>
* Add Oracle Linux installation instructions (#17436)villepeh2025-02-101-14/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) I forgot the guide applies to Oracle Linux as well. In fact, I ran a small homeserver on OEL a few months back. I did minimal installations on Rocky and OEL on VirtualBox and noticed Codeready/Powertools repos aren't required, so I removed those commands from the guide. I switched `RHEL`-references to `EL`. #17423 was merged before I remembered about OEL but a new PR shouldn't hurt :) --------- Co-authored-by: Quentin Gliech <quenting@element.io>
* Ratelimit presence updates (#18000)Sven Mäder2025-01-241-0/+21
|
* Document possibility of configuring `tls` for a worker instance in ↵Eric Eastwood2025-01-201-0/+4
| | | | `instance_map` (#18064)
* Merge branch 'master' into developAndrew Morgan2025-01-142-0/+3788
|\
| * move additional release missed in last commit v1.122.0Andrew Morgan2025-01-141-0/+10
| |
| * Move 2023/4 changelog entries under docs/changelogsAndrew Morgan2025-01-142-0/+3778
| |
* | Add the ability to filter by state event type on admin room state endpoint ↵Shay2025-01-081-0/+7
|/ | | | | | | | | | (#18035) Adds a query param `type` to `/_synapse/admin/v1/rooms/{room_id}/state` that filters the state event query by state event type. --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Remove support for PostgreSQL 11 and 12 (#18034)Patrick Cloke2024-12-191-0/+8
| | | | | | | This is essentially matrix-org/synapse#14392. I didn't see anything in there about updating sytest or complement. The main driver of this is so that I can use `jsonb_path_exists` in #17488. 😄
* Update reverse proxy docs with what we've learned from #17986 (#17994)Eric Eastwood2024-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update reverse proxy docs with what we've learned from https://github.com/element-hq/synapse/pull/17986 Also vice versa and update our nginx config with what I learned from the reverse proxy docs. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Add email.tlsname config option (#17849)cynhr2024-12-171-1/+3
| | | | | | | | | | | | | | | The existing `email.smtp_host` config option is used for two distinct purposes: it is resolved into the IP address to connect to, and used to (request via SNI and) validate the server's certificate if TLS is enabled. This new option allows specifying a different name for the second purpose. This is especially helpful, if `email.smtp_host` isn't a global FQDN, but something that resolves only locally (e.g. "localhost" to connect through the loopback interface, or some other internally routed name), that one cannot get a valid certificate for. Alternatives would of course be to specify a global FQDN as `email.smtp_host`, or to disable TLS entirely, both of which might be undesirable, depending on the SMTP server configuration.
* Add `macaroon_secret_key_path` config option (#17983)V024602024-12-161-0/+16
| | | | | | Another config option on my quest to a `*_path` variant for every secret. This time it’s `macaroon_secret_key_path`. Reading secrets from files has the security advantage of separating the secrets from the config. It also simplifies secrets management in Kubernetes. Also useful to NixOS users.
* Add `last_seen_ts` to query user example (#17976)Travis Ralston2024-12-161-0/+1
| | | | | | | | | This section could probably do with a lot more editorial attention, but for now this is all there is in terms of documentation. The field is already returned by Synapse: https://github.com/element-hq/synapse/blob/4587decd678300217969f1d2f69b226421a33ced/synapse/handlers/admin.py#L150 `last_seen_ts` was introduced in https://github.com/matrix-org/synapse/pull/16218
* Add some useful endpoints to Admin API (#17948)Shay2024-12-162-7/+77
| | | | | | | | | - Fetch the number of invites the provided user has sent after a given timestamp - Fetch the number of rooms the provided user has joined after a given timestamp, regardless if they have left/been banned from the rooms subsequently - Get report IDs of event reports where the provided user was the sender of the reported event
* forward requester id to check username for spam callbacks (#17916)Wilson2024-12-132-3/+5
|
* Update Alpine Linux Synapse Package Maintainer within installation.md (#17846)jahway6032024-12-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update Alpine Linux Synapse Package Maintainer within installation.md as it is outdated. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [N/A] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Reorganize account data, receipts and presence request regexps in ↵Rafał Hirsch2024-12-091-11/+7
| | | | | | | | | | | | | | | generic_worker docs (#17954) POST requests for account data, receipts and presence require the worker to be configured as a stream writer. The regular expressions in the default list don't assume any HTTP method, so if the worker is not a stream writer, the request fails. The stream writer section of the documentation lists the same regexps as the one I'm removing, so people configuring stream writers can still configure their routing properly. More context: https://github.com/element-hq/synapse/issues/17243#issuecomment-2493621645
* Return suspended status when querying user account (#17952)Shay2024-11-221-1/+2
|
* Add Forgejo oidc provider config example (#17872)Valentin Iovene2024-11-201-0/+30
|
* Enable authenticated media by default (#17889)Travis Ralston2024-11-202-3/+27
| | | Co-authored-by: Olivier 'reivilibre <oliverw@matrix.org>
* Add some documentation about backing up Synapse (#17931)Richard van der Hoff2024-11-185-3/+146
| | | | Fixes: https://github.com/element-hq/element-meta/issues/2155 Fixes: https://github.com/element-hq/synapse/issues/2046
* Removal: Remove support for experimental msc3886 (#17638)Poruri Sai Rahul2024-11-131-0/+11
|
* Clarify the semantics of the `enable_authenticated_media` configuration ↵reivilibre2024-11-111-0/+20
| | | | | option. (#17913) Signed-off-by: Olivier 'reivilibre <oliverw@matrix.org>
* Remove support for python 3.8 (#17908)Devon Hudson2024-11-063-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Add experimental support for MSC4222 (#17888)Erik Johnston2024-11-051-0/+1
| | | | | | | | | | | Basically, if the client sets a special query param on `/sync` v2 instead of responding with `state` at the *start* of the timeline, we instead respond with `state_after` at the *end* of the timeline. We do this by using the `current_state_delta_stream` table, which is actually reliable, rather than messing around with "state at" points on the timeline. c.f. MSC4222
* Add admin handler to list of handlers used for background tasks (#17847)Shay2024-10-291-0/+3
| | | | | | | Fixes #17823 While we're at it, makes a change where the redactions are sent as the admin if the user is not a member of the server (otherwise these fail with a "User must be our own" message).
* Fix typo in `target_cache_memory_usage` docs (#17825)Andrew Morgan2024-10-141-1/+1
|
* Clarify when 3PID invite module callbacks are called (#17627)Andrew Morgan2024-10-141-3/+6
| | | | Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
* Added display_name_claim in jwt_config which sets the user's display name ↵Nathan2024-10-091-0/+3
| | | | upon registration (#17708)
* Fix incorrectly documented config path argument (#17802)Andrew Ferrazzutti2024-10-081-2/+2
|
* Add config option redis.password_path (#17717)V024602024-10-071-1/+7
| | | | | | | | | | | Adds the option to load the Redis password from a file, instead of giving it in the config directly. The code is similar to how it’s done for `registration_shared_secret_path`. I changed the example in the documentation to represent the best practice regarding the handling of secrets. Reading secrets from files has the security advantage of separating the secrets from the config. It also simplifies secrets management in Kubernetes.
* docs: add note about PYTHONMALLOC for accurate jemalloc memory tracking (#17709)Henrique2024-10-071-0/+2
| | | | | | | | | | | | | | Added a note in the documentation suggesting that users may set `PYTHONMALLOC=malloc` when using `jemalloc`. This allows jemalloc to track memory usage more accurately by bypassing Python's internal small-object allocator (`pymalloc`), helping to ensure that `cache_autotuning` functions as expected. This doc change aims to provide more clarity for users configuring jemalloc with Synapse. Based on: https://github.com/element-hq/synapse/blob/4ac783549c5bac7a490a715d359f330bb0b1a161/synapse/metrics/jemalloc.py#L198-L201
* explain load balancing for `federation_sender_instances` (#17776)Dirk Klimpel2024-10-031-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding information on how the load is distributed for `federation_sender_instances`. Thx to @devonh for the information. causal source: https://github.com/element-hq/synapse/blob/c2e5e9e67c24264f5a12bf3ceaa9c4e195547d26/synapse/config/_base.py#L946-L989 ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Devon Hudson <devon.dmytro@gmail.com>
* Remove spurious TODO in debian install step (#17749)Erik Johnston2024-09-261-5/+3
| | | | | | | | This was a note added in the PR to move to AGPL, which we failed to remove before landing. (The context for this was that we needed to decide if we were going to change which debian repository we published too, but decided not to in the end)
* Support MSC4140: Delayed events (Futures) (#17326)Andrew Ferrazzutti2024-09-232-0/+14
|
* Add an Admin API endpoint to redact all a user's events (#17506)Shay2024-09-181-0/+80
|
* Add config option turn_shared_secret_path (#17690)V024602024-09-101-0/+16
| | | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Replace isort and black with ruff (#17620)Quentin Gliech2024-08-301-3/+1
| | | Ruff now has decent parity with black and isort, so this is going to just save us a bunch of time
* docs: fix typo in saml2_config example (#17594)meise2024-08-291-2/+2
|
* fix listener docs - admin api only on main process (#17590)Dirk Klimpel2024-08-291-3/+4
|
* Sliding Sync: Use `stream_ordering` based timeline pagination for ↵Eric Eastwood2024-08-071-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | incremental sync (#17510) Use `stream_ordering` based `timeline` pagination for incremental `/sync` in Sliding Sync. Previously, we were always using a `topological_ordering` but we should only be using that for historical scenarios (initial `/sync`, newly joined, or haven't sent the room down the connection before). This is slightly different than what the [spec suggests](https://spec.matrix.org/v1.10/client-server-api/#syncing) > Events are ordered in this API according to the arrival time of the event on the homeserver. This can conflict with other APIs which order events based on their partial ordering in the event graph. This can result in duplicate events being received (once per distinct API called). Clients SHOULD de-duplicate events based on the event ID when this happens. But we've had a [discussion below in this PR](https://github.com/element-hq/synapse/pull/17510#discussion_r1699105569) and this matches what Sync v2 already does and seems like it makes sense. Created a spec issue https://github.com/matrix-org/matrix-spec/issues/1917 to clarify this. Related issues: - https://github.com/matrix-org/matrix-spec/issues/1917 - https://github.com/matrix-org/matrix-spec/issues/852 - https://github.com/matrix-org/matrix-spec-proposals/pull/4033
* Clarify `auto_accept_invites.worker_to_run_on` config docs (#17515)Andrew Morgan2024-08-061-1/+3
|
* Update config_documentation - Change example of msisdn in ↵YLong Shi2024-07-251-2/+5
| | | | | | allowed_local_3pids (#17476) Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Fixed presence results not returning offline users on initial sync (#17231)Michael Hollister2024-07-231-0/+5
| | | | | | | | | | | | | | | | This is to address an issue in which `m.presence` results on initial sync are not returning entries of users who are currently offline. The original behaviour was from https://github.com/element-hq/synapse/issues/1535 This change is useful for applications that use the presence system for tracking user profile information/updates (e.g. https://github.com/element-hq/synapse/pull/16992 or for profile status messages). This is gated behind a new configuration option to avoid performance impact for applications that don't need this, as a pragmatic solution for now.
* Prepare for authenticated media freeze (#17433)Shay2024-07-221-0/+12
| | | | | | As part of the rollout of [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/blob/main/proposals/3916-authentication-for-media.md) this PR adds support for designating authenticated media and ensuring that authenticated media is not served over unauthenticated endpoints.
* Improve default_power_level_content_override documentation (#17451)Ben Banfield-Zanin2024-07-181-0/+32
| | | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Add Red Hat Enterprise Linux and Rocky Linux installation instructions (#17423)villepeh2024-07-112-2/+57
| | | | | | | | | | | | | | | | | | | Added RHEL/Rocky install instructions (PyPI). Instructions cover versions 8 and 9 which are the only supported ones - except for RHEL7 which is now on extended life cycle support phase. Large part of the guide is for installing Python 3.11 or 3.12. RHEL8 ships with Python 3.6 and RHEL9 ships with 3.9. Newer Python versions can be installed easily as they don't interfere with OS software that still relies on the default Python version. I was first planning to add prerequisites part to the prerequisites section and then install instructions on the top of the page but that section is for pre-built packages so it just didn't sound right. So I just dumped everything to the PyPI section of the page. But suggestions to change are welcome. I also didn't combine these with Fedora section. I haven't tested those packages on RHEL and Fedora ships with Python 3.12 out-of-box.
* Upload new logo with white bg and update readme to use it (#17387)Will Lewis2024-07-101-0/+94
|
* Note the new federated media worker endpoints in the worker docs & upgrade ↵Andrew Morgan2024-07-092-2/+4
| | | | notes (#17421)
* Allow enabling sliding sync per-user (#17393)Erik Johnston2024-07-051-0/+1
| | | Based on #17392
* Finish up work to allow per-user feature flags (#17392)Erik Johnston2024-07-051-11/+6
| | | | | | | Follows on from @H-Shay's great work at https://github.com/matrix-org/synapse/pull/15344 and MSC4026. Also enables its use for MSC3881, mainly as an easy but concrete example of how to use it.
* Changelog entries only get merged if they have the same content and ↵Eric Eastwood2024-07-041-3/+3
| | | | | | | | | | extension (#17399) Changelog entries only get merged if they have the same content and extension See https://github.com/element-hq/synapse/pull/17301#discussion_r1665387218
* Support MSC3916 by adding `_matrix/client/v1/media/download` endpoint (#17365)Shay2024-07-022-0/+14
|
* Clarify `url_preview_url_blacklist` is a usability feature (#17356)davidegirardi2024-06-281-9/+12
|
* Fix outdated Security Disclosure Policy references (#17341)Denis Kasak2024-06-251-3/+3
|
* Fix refreshable_access_token_lifetime typo (#17357)douglaz2024-06-251-1/+1
| | | Simple typo in the docs
* Correct error in user_directory docs (#17348)devonh2024-06-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> Co-authored-by: reivilibre <oliverw@matrix.org>
* Add default values for rc_invites per_issuer to docs (#17347)devonh2024-06-241-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A simple change to update the docs where default values were missing. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com> Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Filter added to Admin-API GET /rooms (#17276)Alexander Fechler2024-06-191-0/+4
|
* fix missing quotes for exclude_rooms_from_sync (#17308)Dirk Klimpel2024-06-181-1/+1
| | | | | We tried to configure rooms `exclude_rooms_from_sync`. If we do not quote we get an error. The example should be valid.
* Merge branch 'release-v1.109' into developQuentin Gliech2024-06-171-10/+0
|\
| * Automatically apply SQL for inconsistent sequence (#17305)Erik Johnston2024-06-141-10/+0
| | | | | | | | | | | | Rather than forcing the server operator to apply the SQL manually. This should be safe, as there should be only one writer for these sequences.
* | Ratelimiting of remote media downloads (#17256)Shay2024-06-051-0/+18
|/
* Change allow_unsafe_locale to also apply on new databases (#17238)Erik Johnston2024-05-291-6/+5
| | | | We relax this as there are use cases where this is safe, though it is still highly recommended that people avoid using it.
* Update Lemonldap-NG OIDC config (#17204)Yadd2024-05-221-0/+2
| | | | Update OIDC documentation: by default Matrix doesn't query userinfo endpoint, then claims should be put on id_token.
* Bring auto-accept invite logic into Synapse (#17147)devonh2024-05-211-0/+29
| | | | | | | | | | | | | | This PR ports the logic from the [synapse_auto_accept_invite](https://github.com/matrix-org/synapse-auto-accept-invite) module into synapse. I went with the naive approach of injecting the "module" next to where third party modules are currently loaded. If there is a better/preferred way to handle this, I'm all ears. It wasn't obvious to me if there was a better location to add this logic that would cleanly apply to all incoming invite events. Relies on https://github.com/element-hq/synapse/pull/17166 to fix linter errors.
* Federated Knocking Endpoints added (missing in Docu) (#17058)Dominic Schubert2024-05-171-0/+2
|
* Fix request path for `federation_whitelist_endpoint_enabled` option in ↵Andrew Morgan2024-05-151-1/+1
| | | | documentation (#17199)
* Allows CAS SSO flow to provide user IDs composed of numbers only (#17098)Aurélien Grimpard2024-05-141-0/+11
|
* An federation whitelist query endpoint extension (#16848)Erik Johnston2024-05-131-0/+25
| | | | | | | | | | This is to allow clients to query the configured federation whitelist. Disabled by default. --------- Co-authored-by: Devon Hudson <devonhudson@librem.one> Co-authored-by: devonh <devon.dmytro@gmail.com> Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Update docs to bump libjemalloc version on latest debian; correct ↵ll-SKY-ll2024-05-092-3/+3
| | | | "push_rules" stream name (#17171)
* Note preset behaviour in `autocreate_auto_join_room_preset` docs (#17150)Andrew Morgan2024-05-081-0/+5
|
* Add note about external_ids for User Admin API in documentation (#17139)Jacob Sánchez2024-05-071-2/+2
|
* upgrade.md: Bump minimum Rust version to 1.66.0 (element-hq#17079) (#17140)jahway6032024-05-021-0/+8
| | | upgrade.md: Bump minimum Rust version to 1.66.0 (element-hq#17079)
* Apply user `email` & `picture` during OIDC registration if present & ↵devonh2024-04-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | selected (#17120) This change will apply the `email` & `picture` provided by OIDC to the new user account when registering a new user via OIDC. If the user is directed to the account details form, this change makes sure they have been selected before applying them, otherwise they are omitted. In particular, this change ensures the values are carried through when Synapse has consent configured, and the redirect to the consent form/s are followed. I have tested everything manually. Including: - with/without consent configured - allowing/not allowing the use of email/avatar (via `sso_auth_account_details.html`) - with/without automatic account detail population (by un/commenting the `localpart_template` option in synapse config). ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Fix various typos in docs (#17114)devonh2024-04-268-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Add RuntimeDirectory to matrix-synapse.service (#17084)villepeh2024-04-261-0/+1
| | | | | | This makes it easy to store UNIX sockets with correct permissions. Those would be located in /run/synapse which is the directory used in many examples in Synapse configuration manual. Additionally, the directory and sockets are deleted when Synapse is shut down.
* Rephrase enable_notifs configuration (#17116)Amanda H. L. de Andrade Katz2024-04-261-2/+2
|
* Use recommended endpoint for MSC3266 requests (#17078)Andrew Ferrazzutti2024-04-261-1/+1
| | | | | Keep the existing endpoint for backwards compatibility Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
* Update event_cache_size and global_factor configurations documentation (#17071)Amanda H. L. de Andrade Katz2024-04-261-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Add an OSX prompt to manually configure icu4c. (#17069)Neil Johnson2024-04-191-0/+2
| | | Documentation fix.
* Clarify what part of message retention is still experimental (#17099)devonh2024-04-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Fixups to new push stream (#17038)Erik Johnston2024-03-281-2/+2
| | | Follow on from #17037
* Add support for moving `/push_rules` off of main process (#17037)Erik Johnston2024-03-281-0/+7
|
* Add OIDC config to add extra parameters to the authorize URL (#16971)Mathieu Velten2024-03-221-0/+5
|
* Remove the hardcoded poetry version from contributing guide (#17002)Tadeusz Sośnierz2024-03-211-1/+1
|
* Add note to using --curses under sqlite porting (#17012)grahhnt2024-03-211-1/+1
|
* Update link, in installation guide, for docker hub synapse images (#17001)Eirik2024-03-211-1/+1
|
* Pass module API to OIDC mapping provider (#16974)Mathieu Velten2024-03-191-1/+3
| | | | As done for SAML mapping provider, let's pass the module API to the OIDC one so the mapper can do more logic in its code.
* Sort versions in the documentation version picker appropriately. (#16966)Will Hunt2024-03-141-3/+23
| | | | | | Fixes #16964 This adds a proper sorter for versions which takes into account semantic versions, rather than just relying on localeCompare.
* upgrade.md: fix grammatical errors (#16965)Richard van der Hoff2024-03-141-3/+3
| | | | comma splice "rollback" is a noun
* Add query to update local cache of a remote user's device list to docs (#16892)Andrew Morgan2024-03-141-0/+9
|
* deactivated flag refactored to filter deactivated users. (#16874)Alexander Fechler2024-03-111-0/+14
| | | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Fix joining remote rooms when a `on_new_event` callback is registered (#16973)Quentin Gliech2024-03-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Synapse 1.76.0, any module which registers a `on_new_event` callback would brick the ability to join remote rooms. This is because this callback tried to get the full state of the room, which would end up in a deadlock. Related: https://github.com/matrix-org/synapse-auto-accept-invite/issues/18 The following module would brick the ability to join remote rooms: ```python from typing import Any, Dict, Literal, Union import logging from synapse.module_api import ModuleApi, EventBase logger = logging.getLogger(__name__) class MyModule: def __init__(self, config: None, api: ModuleApi): self._api = api self._config = config self._api.register_third_party_rules_callbacks( on_new_event=self.on_new_event, ) async def on_new_event(self, event: EventBase, _state_map: Any) -> None: logger.info(f"Received new event: {event}") @staticmethod def parse_config(_config: Dict[str, Any]) -> None: return None ``` This is technically a breaking change, as we are now passing partial state on the `on_new_event` callback. However, this callback was broken for federated rooms since 1.76.0, and local rooms have full state anyway, so it's unlikely that it would change anything.
* Add docs on upgrading from a very old version (#16951)Twilight Sparkle2024-02-222-0/+25
| | | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Add HAProxy example for single port operation (#16768)Georg2024-02-201-0/+19
|
* fix typo in admin_api/rooms.md (#16857)Rainer Zufall2024-02-201-1/+1
| | | | Co-authored-by: Andrew Morgan <andrew@amorgan.xyz>
* Update docs for MacOS installs (#16854)kegsay2024-02-061-0/+11
| | | | ICU is an optional dependency and also a pain to install. Mention that you can just not install it and still get a working installation.
* Fix broken links on docs (#16853)kegsay2024-02-065-7/+7
| | | | Some links seemed to be incorrect (vector-im/sygnal and vector-im/sytest have never been A Thing iirc) so pointed them back to matrix-org/*).
* Update version picker for element-hq (#16880)Will Hunt2024-02-011-2/+2
|
* listen http2 deprecated nginx (updating documentation) (#16831)Arnold2024-01-221-4/+4
| | | | | More info [here](https://www.nginx.com/blog/nginx-plus-r30-released/). Nginx threw error's at me when I used all the options of the doc
* Allow room creation but not publishing to continue if room publication rules ↵Shay2024-01-221-0/+3
| | | | | | | | | | | | | are violated when creating a new room. (#16811) Prior to this PR, if a request to create a public (public as in published to the rooms directory) room violated the room list publication rules set in the [config](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#room_list_publication_rules), the request to create the room was denied and the room was not created. This PR changes the behavior such that when a request to create a room published to the directory violates room list publication rules, the room is still created but the room is not published to the directory.
* Bump minimum Rust version to 1.65.0 (#16818)Erik Johnston2024-01-221-0/+8
| | | | | The ecosystem e.g. regex crate, have bumped up their MSRV to 1.65.0, which was released Nov 2022. In line with our policy, let's bump to match.
* Fix broken links in issue template (#16810)Erik Johnston2024-01-171-3/+3
| | | This happened during the migration
* Add a link to the Request log format page from Logging Sample Config (#16778)Andrew Morgan2024-01-101-0/+3
|
* Update the contributing guide after reliecensing (#16772)Erik Johnston2024-01-031-77/+15
|
* Add another custom statistics collection server (#16769)Christian Lölkes2024-01-021-0/+1
| | | Signed-off-by: Christian Lölkes <christian.loelkes@gmail.com>
* Enable user without password (#16770)Dirk Klimpel2024-01-021-9/+10
| | | | | | | | | | | Closes: - https://github.com/matrix-org/synapse/issues/10397 - #10397 An administrator should know whether he wants to set a password or not. There are many uses cases where a blank password is required. - Use of only some users with SSO. - Use of bots with password, users with SSO
* Remove config value from header (#16763)Fredrik Lanker2024-01-021-1/+1
| | | Signed-off-by: Fredrik Lanker <fredrik@lanker.se>
* Fix sample config doc CI (#16758)Erik Johnston2023-12-211-0/+1
| | | I accidentally broke it during the move by removing a trailing new line.
* Fix typoErik Johnston2023-12-1313-35/+35
|
* Update book locationErik Johnston2023-12-1312-42/+40
|
* More renamingErik Johnston2023-12-1313-60/+59
|
* Keep pointing at packages.matrix.org for nowErik Johnston2023-12-131-3/+3
|
* Update documentation to refer to element-hq.Patrick Cloke2023-12-136-43/+31
|
* Merge remote-tracking branch 'origin/master' into developErik Johnston2023-12-122-2/+2
|\
| * Version picker added for v1.98 docsAction Bot2023-12-115-1/+224
| |
* | Sentry Alert configuration based on production and development environment ↵Zeeshan Rafiq2023-12-121-1/+6
| | | | | | | | (#16738)
* | Add avatar and topic settings for server notice room (#16679)Mathieu Velten2023-12-122-3/+11
| |
* | Add config to change the delay before sending a notification email (#16696)Mathieu Velten2023-12-121-0/+5
| |
* | Adding a version picker for Synapse docs (#16533)Dmytro Kagirov2023-12-115-0/+223
| |
* | Clarify documentation for `only_for_reauth` (#16737)Dirk Klimpel2023-12-071-9/+9
|/
* Add how to validate configuration file with synapse.config script (#16714)Amanda H. L. de Andrade Katz2023-12-051-0/+17
|
* Switch UNIX socket paths to /run, and add a UNIX socket example for HAProxy ↵villepeh2023-12-042-8/+12
| | | | (#16700)
* Server notices: add an autojoin setting for the notices room (#16699)Mathieu Velten2023-12-042-0/+6
| | | | Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* ModuleAPI SSO auth callbacks (#15207)Andrew Yasinishyn2023-12-011-0/+13
| | | Signed-off-by: Andrii Yasynyshyn yasinishyn.a.n@gmail.com
* Document which versions of Synapse have compatible schema versions. (#16661)Patrick Cloke2023-11-281-0/+9
|
* Fix poetry version typo in contributors' guide (#16695)David Robertson2023-11-271-1/+1
|
* Update admin user API return types in docs. (#16654)Michael Weimann2023-11-171-4/+15
|
* Add an Admin API to temporarily grant the ability to update an existing ↵David Robertson2023-11-151-0/+37
| | | | cross-signing key without UIA (#16634)
* Asynchronous Uploads (#15503)Sumner Evans2023-11-151-0/+34
| | | Support asynchronous uploads as defined in MSC2246.
* Add links to pre-1.0 changelog issue/PR references. (#16638)Patrick Cloke2023-11-151-807/+807
|
* Improve documentation for ↵Will Hunt2023-11-141-1/+2
| | | | `/_synapse/admin/v1/rooms/<room_id>/timestamp_to_event` (#16631)
* Fix outbound_federation_restricted_to docs & note when added (#16628)David Robertson2023-11-131-0/+3
|
* Use dbname instead of database for Postgres config. (#16618)Patrick Cloke2023-11-092-4/+4
|
* Add new module API for adding custom fields to events `unsigned` section ↵Erik Johnston2023-10-272-1/+34
| | | | (#16549)
* Add a new module API to update user presence state. (#16544)Patrick Cloke2023-10-261-0/+7
| | | | | | | | | | This adds a module API which allows a module to update a user's presence state/status message. This is useful for controlling presence from an external system. To fully control presence from the module the presence.enabled config parameter gains a new state of "untracked" which disables internal tracking of presence changes via user actions, etc. Only updates from the module will be persisted and sent down sync properly).
* Pin the recommended poetry version in contributors' guide (#16550)David Robertson2023-10-251-1/+1
|
* Rework alias and public room list rules docs (#16541)David Robertson2023-10-241-34/+132
|
* Fix bug where a new writer advances their token too quickly (#16473)Erik Johnston2023-10-231-3/+10
| | | | | | | | | | | | | | | | | | | * Fix bug where a new writer advances their token too quickly When starting a new writer (for e.g. persisting events), the `MultiWriterIdGenerator` doesn't have a minimum token for it as there are no rows matching that new writer in the DB. This results in the the first stream ID it acquired being announced as persisted *before* it actually finishes persisting, if another writer gets and persists a subsequent stream ID. This is due to the logic of setting the minimum persisted position to the minimum known position of across all writers, and the new writer starts off not being considered. * Fix sending out POSITIONs when our token advances without update Broke in #14820 * For replication HTTP requests, only wait for minimal position
* Mention how to redirect the Jaeger traces to a specific Jaeger instance (#16531)Marcel2023-10-231-0/+5
|
* Clarify presence router docs. (#16529)Patrick Cloke2023-10-201-3/+11
|
* Fix typo in useful_sql_for_admins.md (#16477)Laurence Gill2023-10-121-1/+1
|
* Add documentation on background updates. (#16420)Patrick Cloke2023-10-061-0/+61
|
* Add note to 'federation_domain_whitelist' option (#16416)Erik Johnston2023-10-031-0/+5
|
* Clean-up old release notes (#16418)Patrick Cloke2023-10-022-134/+135
| | | | Fixes some broken formatting from the reStructuedText to Markdown conversion and fixes some typos.
* Remove Python version from `/_synapse/admin/v1/server_version` (#16380)MomentQYC2023-10-021-4/+6
| | | | There's no reason to expose the full Python version over what is frequently a public API.
* Remove warnings from the docs about using message retention. (#16382)Patrick Cloke2023-09-282-7/+3
| | | | | There are no known bugs in the message retention code, but it is possible that there still exists race conditions. Additional fixes will be made as reported.
* Add documentation about the user directory search algorithm (#16320)Patrick Cloke2023-09-261-26/+110
|
* Add developer documentation concerning gradual schema migrations with column ↵reivilibre2023-09-251-0/+157
| | | | | | | alterations. (#15691) Co-authored-by: Eric Eastwood <erice@element.io>
* Fix-up deactivated notes in docs. (#16355)Patrick Cloke2023-09-191-1/+1
|
* Use string for federation_client_minimum_tls_version documentation examples ↵Jan Christian Grünhage2023-09-191-4/+4
| | | | (#16353)
* Filter locked users in the admin API (#16328)Hanadi2023-09-181-5/+12
| | | | Co-authored-by: Hanadi Tamimi <hanadi.tamimi@sdui.de>
* Add automatic purge after all users forget a room (#15488)Mathieu Velten2023-09-151-0/+11
| | | | | | Also add restore of purge/shutdown rooms after a synapse restart. Co-authored-by: Eric Eastwood <erice@matrix.org> Co-authored-by: Erik Johnston <erikj@matrix.org>
* docs: Link to the Alpine Linux community package for Synapse (#16304)65432023-09-141-0/+8
|
* Fix-up incorrect spellings in docs. (#16282)Patrick Cloke2023-09-0817-119/+119
|
* Add `/notifications` endpoint to workers (#16265)Erik Johnston2023-09-071-0/+1
|
* Handle "registration_enabled" parameter for CAS (#16262)Aurélien Grimpard2023-09-061-0/+7
| | | | Similar to OIDC, CAS providers can now disable registration such that only existing users are able to login via SSO.
* Add the ability to use `G` (GiB) and `T` (TiB) suffixes in configuration ↵reivilibre2023-09-061-1/+3
| | | | | | | | | | | | | options that refer to numbers of bytes. (#16219) * Add more suffixes to `parse_size` * Newsfile Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org> --------- Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
* Bump minimum supported Rust version to 1.61.0 (#16248)Erik Johnston2023-09-051-0/+8
|
* Add last_seen_ts to the admin users API (#16218)Mathieu Velten2023-09-041-0/+2
|
* Add warnings about MSC3861 on certain APIs. (#16168)Will Hunt2023-08-254-1/+15
|
* Document `exclude_rooms_fom_sync` configuration option (#16178)Shay2023-08-241-0/+13
|
* Add configuration setting for CAS protocol version (#15816)Aurélien Grimpard2023-08-241-0/+2
|
* Update URLs to matrix.org blog categories. (#16008)Amirreza Aflakparast2023-08-241-2/+2
|
* Add `client_secret_path` as alternative for `client_secret` for OIDC config ↵Maximilian Bosch2023-08-211-0/+8
| | | | (#16030)
* Allow filtering for admins in the list accounts admin API (#16114)Alexander Fechler2023-08-181-0/+2
|
* Add link explaining ELK stack to structured_logging.md (#16091)axel simon2023-08-161-1/+1
|
* Allow customizing IdP name and icon for SAML and CAS (#16094)Gabriel Rodríguez2023-08-111-1/+21
|
* Implements admin API to lock an user (MSC3939) (#15870)Mathieu Velten2023-08-102-0/+3
|
* Add notes describing Synapse's streams (#16015)David Robertson2023-08-072-0/+158
| | | | Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Move support for application service query parameter authorization behind a ↵Shay2023-08-032-1/+29
| | | | configuration option (#16017)
* Allow config of the backoff algorithm for the federation client. (#15754)Mathieu Velten2023-08-031-0/+11
| | | | | | | | | | | Adds three new configuration variables: * destination_min_retry_interval is identical to before (10mn). * destination_retry_multiplier is now 2 instead of 5, the maximum value will be reached slower. * destination_max_retry_interval is one day instead of (essentially) infinity. Capping this will cause destinations to continue to be retried sometimes instead of being lost forever. The previous value was 2 ^ 62 milliseconds.
* Do not expose Admin API in caddy reverse proxy example (#16027)Nils2023-07-311-1/+1
| | | Signed-off-by: Nils ANDRÉ-CHANG <nils@nilsand.re>
* Fix broken Arch Linux package link (#15981)SnipeX_2023-07-241-2/+2
|
* Re-introduce the outbound federation proxy (#15913)Eric Eastwood2023-07-182-7/+50
| | | | | Allow configuring the set of workers to proxy outbound federation traffic through (`outbound_federation_restricted_to`). This is useful when you have a worker setup with `federation_sender` instances responsible for sending outbound federation requests and want to make sure *all* outbound federation traffic goes through those instances. Before this change, the generic workers would still contact federation themselves for things like profile lookups, backfill, etc. This PR allows you to set more strict access controls/firewall for all workers and only allow the `federation_sender`'s to contact the outside world.
* Document that you cannot login as yourself on ↵Will Hunt2023-07-141-1/+2
| | | | /_synapse/admin/v1/users/<user_id>/login (#15938)
* Stop accepting 'user' parameter for application service registration. (#15928)Patrick Cloke2023-07-131-0/+10
| | | This is unspecced, but has existed for a very long time.
* Better clarify how to run a worker instance (pass both configs) (#15921)Eric Eastwood2023-07-111-2/+2
| | | | | | | | | Previously, if you just followed the instructions per the docs, you just ran into an error: ```sh $ poetry run synapse_worker --config-path homeserver_generic_worker1.yaml Missing mandatory `server_name` config option. ```
* Bump Unix sockets intro version (#15924)Eric Eastwood2023-07-111-1/+1
| | | https://github.com/matrix-org/synapse/pull/15708 didn't quite make the cut for `1.88.0` this morning.
* Unix Sockets for HTTP Replication (#15708)Jason Little2023-07-113-4/+58
| | | | | | | | | Unix socket support for `federation` and `client` Listeners has existed now for a little while(since [1.81.0](https://github.com/matrix-org/synapse/pull/15353)), but there was one last hold out before it could be complete: HTTP Replication communication. This should finish it up. The Listeners would have always worked, but would have had no way to be talked to/at. --------- Co-authored-by: Eric Eastwood <madlittlemods@gmail.com> Co-authored-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org> Co-authored-by: Eric Eastwood <erice@element.io>
* Drop debian buster (#15893)Shay2023-07-102-2/+2
|
* Revert "Federation outbound proxy" (#15910)Eric Eastwood2023-07-102-44/+7
| | | | | | Revert "Federation outbound proxy (#15773)" This reverts commit b07b14b494ae1dd564b4c44f844c9a9545b3d08a.
* Remove `worker_replication_*` settings from worker doc (#15872)Dirk Klimpel2023-07-075-21/+1
| | | Co-authored-by: Mathieu Velten <mathieuv@matrix.org>
* Remove `worker_replication_*` deprecated settings, with helpful errors on ↵Jason Little2023-07-073-48/+15
| | | | | | startup (#15860) Co-authored-by: reivilibre <oliverw@matrix.org>
* Federation outbound proxy (#15773)Eric Eastwood2023-07-052-7/+44
| | | | | | | Allow configuring the set of workers to proxy outbound federation traffic through (`outbound_federation_restricted_to`). This is useful when you have a worker setup with `federation_sender` instances responsible for sending outbound federation requests and want to make sure *all* outbound federation traffic goes through those instances. Before this change, the generic workers would still contact federation themselves for things like profile lookups, backfill, etc. This PR allows you to set more strict access controls/firewall for all workers and only allow the `federation_sender`'s to contact the outside world. The original code is from @erikjohnston's branches which I've gotten in-shape to merge.
* Remove support for Python 3.7 (#15851)Eric Eastwood2023-07-052-1/+13
| | | Fix https://github.com/matrix-org/synapse/issues/15836
* docs/admin_api: fix header level on 'Users' page (#15852)Sumner Evans2023-07-051-3/+3
| | | Signed-off-by: Sumner Evans <sumner@beeper.com>
* Add not_user_type param to the list accounts admin API (#15844)Michael Weimann2023-07-041-0/+3
| | | Signed-off-by: Michael Weimann <michaelw@element.io>
* Split out 2022 changes from the changelog (#15846)Eric Eastwood2023-06-281-0/+2766
| | | Split out 2022 changes from the changelog so the rendered version in GitHub doesn't timeout as much.
* Add login spam checker API (#15838)Erik Johnston2023-06-261-0/+36
|
* Fix typo in faster join docs (#15812)Erik Johnston2023-06-211-1/+1
| | | Fixes #15756
* Allow for the configuration of max request retries and min/max retry delays ↵Mathieu Velten2023-06-211-0/+26
| | | | in the matrix federation client (#15783)
* Fix admin api documentation typo (#15805)ew-at-vier2023-06-201-1/+1
| | | | | * Fix admin api documentation typo Signed-off-by: Eric Wolf <eric.wolf@vier.ai>
* Remove experimental MSC2716 implementation to incrementally import history ↵Eric Eastwood2023-06-161-1/+0
| | | | | | | | | | | | into existing rooms (#15748) Context for why we're removing the implementation: - https://github.com/matrix-org/matrix-spec-proposals/pull/2716#issuecomment-1487441010 - https://github.com/matrix-org/matrix-spec-proposals/pull/2716#issuecomment-1504262734 Anyone wanting to continue MSC2716, should also address these leftover tasks: https://github.com/matrix-org/synapse/issues/10737 Closes https://github.com/matrix-org/synapse/issues/10737 in the fact that it is not longer necessary to track those things.
* Revert "Allow for the configuration of max request retries and min/max retry ↵Mathieu Velten2023-06-141-26/+0
| | | | | | delays in the matrix federation client (#12504)" This reverts commit d84e66144dc12dacf71c987a2ba802dd59c0b68e.
* Bump minimum supported Rust version (#15768)Erik Johnston2023-06-121-0/+8
| | | | Important crates such as `log` and `regex` have bumped theirs to 1.60.0 as well.
* Allow for the configuration of max request retries and min/max retry delays ↵Shay2023-06-091-0/+26
| | | | | | | in the matrix federation client (#12504) Co-authored-by: Mathieu Velten <mathieuv@matrix.org> Co-authored-by: Erik Johnston <erik@matrix.org>
* Remove redundant `room_memberships` join to find participating servers in a ↵Eric Eastwood2023-06-071-3/+2
| | | | | room (#15732) Spawning from https://github.com/matrix-org/synapse/pull/15731
* Merge branch 'release-v1.85' into developH. Shay2023-06-011-0/+11
|\
| * Add a note about deprecating /register with a user property. (#15703)Patrick Cloke2023-06-011-0/+11
| | | | | | | | | | Application services providing a "user" property (instead of "username") for the /register endpoint was never specified. Deprecate this very old fallback.
* | Implement stable support for MSC3882 to allow an existing device/session to ↵Hugh Nimmo-Smith2023-06-011-22/+43
|/ | | | | | | | generate a login token for use on a new device/session (#15388) Implements stable support for MSC3882; this involves updating Synapse's support to match the MSC / the spec says. Continue to support the unstable version to allow clients to transition.
* Create dependabot changelogs at release time (#15481)David Robertson2023-05-301-5/+7
| | | | | | | | | * Ditch dependabot changelog workflow * Summarise dependabot commits in release script * Changelog * Update scripts-dev/release.py
* Add Unix socket support for Redis connections (#15644)Jason Little2023-05-261-0/+4
| | | | Adds a new configuration setting to connect to Redis via a Unix socket instead of over TCP. Disabled by default.
* Documentation improvements to contributing guide (#15667) (#15668)Grant McLean2023-05-261-5/+28
| | | | | | | | | Fix #15667 - Reiterate the importance of getting Rust installed and set up before attempting to install the Python dependencies. - Mention the importance of confirming that `poetry install` completed successfully and include a typical error that the user might see if it did not. - Expand on "Now edit homeserver.yaml" to give examples of things likely to need changing and to link to the relevant sections of the Synapse server documentation.
* Consolidate logic to check for deactivated users. (#15634)Patrick Cloke2023-05-231-0/+3
| | | | | | | This moves the deactivated user check to the method which all login types call. Additionally updates the application service tests to be more realistic by removing invalid tests and fixing server names.
* Merge branch 'master' into developOlivier Wilkinson (reivilibre)2023-05-231-6/+17
|\
| * Tweak changelog and upgrade notes v1.84.0Olivier Wilkinson (reivilibre)2023-05-231-6/+17
| |
* | Remove outdated comment in log config (#15648)Andrew Morgan2023-05-221-3/+1
| |
* | Remove old R30 because R30v2 supercedes it (#10428)reivilibre2023-05-191-5/+0
| | | | | | | | | | R30v2 has been out since 2021-07-19 (https://github.com/matrix-org/synapse/pull/10332) and we started collecting stats on 2021-08-16. Since it's been over a year now (almost 2 years), this is enough grace period for us to now rip it out.
* | Add a new admin API to create a new device for a user. (#15611)Quentin Gliech2023-05-171-0/+27
| | | | | | | | This allows an external service (e.g. the matrix-authentication-service) to create devices for users.
* | Update code to refer to "workers". (#15606)Patrick Cloke2023-05-161-6/+0
|/ | | | A bunch of comments and variables are out of date and use obsolete terms.
* Update Mastodon SSO instructions (#15587)villepeh2023-05-151-2/+4
|
* Add redis SSL configuration options (#15312)Roel ter Maat2023-05-111-0/+11
| | | | | | | | | | | | | | | | | * Add SSL options to redis config * fix lint issues * Add documentation and changelog file * add missing . at the end of the changelog * Move client context factory to new file * Rename ssl to tls and fix typo * fix lint issues * Added when redis attributes were added
* Remove `worker_replication_*` settings (#15491)Jason Little2023-05-114-22/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add master to the instance_map as part of Complement, have ReplicationEndpoint look at instance_map for master. * Fix typo in drive by. * Remove unnecessary worker_replication_* bits from unit tests and add master to instance_map(hopefully in the right place) * Several updates: 1. Switch from master to main for naming the main process in the instance_map. Add useful constants for easier adjustment of names in the future. 2. Add backwards compatibility for worker_replication_* to allow time to transition to new style. Make sure to prioritize declaring main directly on the instance_map. 3. Clean up old comments/commented out code. 4. Adjust unit tests to match with new code. 5. Adjust Complement setup infrastructure to only add main to the instance_map if workers are used and remove now unused options from the worker.yaml template. * Initial Docs upload * Changelog * Missed some commented out code that can go now * Remove TODO comment that no longer holds true. * Fix links in docs * More docs * Remove debug logging * Apply suggestions from code review Co-authored-by: reivilibre <olivier@librepush.net> * Apply suggestions from code review Co-authored-by: reivilibre <olivier@librepush.net> * Update version to latest, include completeish before/after examples in upgrade notes. * Fix up and docs too --------- Co-authored-by: reivilibre <olivier@librepush.net>
* Fix documented path to largest rooms statistics endpoint. (#15560)Reto Schneider2023-05-101-1/+1
|
* Add config option to prevent media downloads from listed domains. (#15197)Travis Ralston2023-05-091-0/+24
| | | | | | | This stops media (and thumbnails) from being accessed from the listed domains. It does not delete any already locally cached media, but will prevent accessing it. Note that admin APIs are unaffected by this change.
* Clean up and clarify "Create or modify Account" Admin API documentation (#15544)Andrew Morgan2023-05-051-38/+49
|
* Allow running Complement integration tests via podman (#15543)Andrew Morgan2023-05-051-0/+1
|
* Merge branch 'release-v1.83' into developSean Quah2023-05-031-0/+1
|\
| * Fix up docs summary to include new experimental features admin API docsSean Quah2023-05-021-0/+1
| |
* | Add config option to forget rooms automatically when users leave them (#15224)Sean Quah2023-05-031-0/+10
| | | | | | | | | | This is largely based off the stats and user directory updater code. Signed-off-by: Sean Quah <seanq@matrix.org>
* | Remove references to supporting per-user flag for msc2654 (#15522)Shay2023-05-021-6/+7
| |
* | Allow adding random delay to push (#15516)Erik Johnston2023-05-021-0/+4
|/ | | This is to discourage timing based profiling on the push gateways.
* Add an admin API endpoint to support per-user feature flags (#15344)Shay2023-04-281-0/+54
|
* Update development docs referencing outdated versions of sqlite we no longer ↵Shay2023-04-281-33/+1
| | | | support (#15498)
* Docs: Add Nginx loadbalancing example with sticky mxid for workers (#15411)Tatu Wikman2023-04-271-2/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Docs: Add Nginx loadbalancing example with sticky mxid for workers Add example nginx configuration snippet that * does load balancing for workers * respects mxid part of the token * from both url parameter and auth header * and handles since parameter Thanks to @olmari for pushing me to write this and testing the configs Signed-off-by: Tatu Wikman <tatu.wikman@gmail.com> * Add changelog entry Signed-off-by: Tatu Wikman <tatu.wikman@gmail.com> * Update codeblock formatter Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com> * Remove indirectly related nginx-config Signed-off-by: Sami Olmari <sami@olmari.fi> * Proper definition of action how to target username for worker Signed-off-by: Sami Olmari <sami@olmari.fi> * Change "nginx" to general "reverse proxy" as it's concept now. Signed-off-by: Sami Olmari <sami@olmari.fi> * Wording in better English Co-authored-by: Tatu Wikman <tatu.wikman@gmail.com> * rename changelog entry to have correct extension --------- Signed-off-by: Tatu Wikman <tatu.wikman@gmail.com> Signed-off-by: Sami Olmari <sami@olmari.fi> Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com> Co-authored-by: Sami Olmari <sami@olmari.fi> Co-authored-by: Sami Olmari <sami+github@olmari.fi>
* Add admin endpoint to query room sizes (#15482)Erik Johnston2023-04-261-0/+49
|
* Add a note to the config documentation that the 'delete_stale_devices_after' ↵Andrew Morgan2023-04-171-0/+4
| | | | job always runs on the main process (#15452)
* Load `/capabilities` endpoint on workers (#15436)Dirk Klimpel2023-04-141-0/+1
|