Shay
11a11414c5
Add an option to issue redactions as admin user on admin redaction endpoint ( #18671 )
...
Currently the [admin redaction
endpoint](https://element-hq.github.io/synapse/latest/admin_api/user_admin_api.html#redact-all-the-events-of-a-user )
defaults to puppeting the user being redacted. This PR adds an optional
param `use_admin`, which when provided issues the redactions as the
admin user instead.
2025-07-21 16:40:45 +00:00
Quentin Gliech
5ea2cf2484
Move device changes off the main process ( #18581 )
...
The main goal of this PR is to handle device list changes onto multiple
writers, off the main process, so that we can have logins happening
whilst Synapse is rolling-restarting.
This is quite an intrusive change, so I would advise to review this
commit by commit; I tried to keep the history as clean as possible.
There are a few things to consider:
- the `device_list_key` in stream tokens becomes a
`MultiWriterStreamToken`, which has a few implications in sync and on
the storage layer
- we had a split between `DeviceHandler` and `DeviceWorkerHandler` for
master vs. worker process. I've kept this split, but making it rather
writer vs. non-writer worker, using method overrides for doing
replication calls when needed
- there are a few operations that need to happen on a single worker at a
time. Instead of using cross-worker locks, for now I made them run on
the first writer on the list
---------
Co-authored-by: Eric Eastwood <erice@element.io >
2025-07-18 09:06:14 +02:00
Kim Brose
a0d6469069
fix schema and docs of rc_delayed_event_mgmt ( #18692 )
...
Signed-off-by: Kim Brose <kim.brose@nordeck.net >
2025-07-17 15:54:33 +01:00
Johannes Marbach
b274d6561c
Document that some config options for the user directory are in violation of the Matrix spec ( #18548 )
...
Fix #17534
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-07-15 13:25:25 -05:00
Eric Eastwood
88f38ea149
Correct version that recaptcha_{private,public}_key_path config options were introduced ( #18684 )
...
Introduced in https://github.com/element-hq/synapse/pull/17984
I already see a
[`v1.134.0rc1`](https://github.com/element-hq/synapse/releases/tag/v1.134.0rc1 )
tag from 5 days ago so I assume
https://github.com/element-hq/synapse/pull/17984 will actually ship in
the next release (which will be `v1.135.0`)
2025-07-15 09:05:45 -05:00
V02460
481c4e2b55
Add recaptcha_{private,public}_key_path config option ( #17984 )
...
Another config option on my quest to a `*_path` variant for every
secret. Adds the config options `recaptcha_private_key_path` and
`recaptcha_public_key_path`. Tests and docs are included.
A public key is of course no secret, but it is closely related to the
private key, so it’s still useful to have a `*_path` variant for it.
2025-07-14 11:37:36 -05:00
Travis Ralston
5129668449
Allow admins to see soft failed events (if they want to) ( #18238 )
2025-07-14 16:55:19 +01:00
Quentin Gliech
1dc29563c1
Move registrations off the main worker ( #18552 )
...
This is mainly moving a few store methods around. Note that this doesn't
yet remove the replication servlet to avoid breaking during rollout.
2025-07-10 13:13:27 +00:00
Erik Johnston
66daf0bfae
Add ability to limit amount uploaded by a user ( #18527 )
...
You can now configure how much media can be uploaded by a user in a
given time period.
Note the first commit here is a refactor of create/upload content
function
2025-07-10 13:39:09 +01:00
Andrew Morgan
be4c95baf1
Replace PyICU with Rust icu_segmenter crate ( #18553 )
...
Co-authored-by: anoa's Codex Agent <codex@amorgan.xyz >
Co-authored-by: Quentin Gliech <quenting@element.io >
2025-07-03 11:12:12 +01:00
reivilibre
c17fd947f3
Fix documentation of the Delete Room Admin API's status field. ( #18519 )
...
Fixes : #18502
---------
Signed-off-by: Olivier 'reivilibre <oliverw@matrix.org >
2025-07-01 17:55:38 +01:00
Andrew Morgan
291880012f
Stop sending or processing the origin field in PDUs ( #18418 )
...
Co-authored-by: Quentin Gliech <quenting@element.io >
Co-authored-by: Eric Eastwood <erice@element.io >
2025-07-01 12:04:23 +01:00
Tulir Asokan
434e38941a
Add federated_user_may_invite spam checker callback ( #18241 )
...
Co-authored-by: Sebastian Spaeth <Sebastian@SSpaeth.de >
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2025-06-26 12:27:21 +01:00
Travis Ralston
74ca7ae720
Add report user API from MSC4260 ( #18120 )
...
Co-authored-by: turt2live <1190097+turt2live@users.noreply.github.com >
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2025-06-20 13:02:14 +01:00
Erik Johnston
5102565369
Fixup generated config documentation ( #18568 )
...
Somehow its got out of sync, picked up by CI on develop.
2025-06-18 16:40:52 +01:00
reivilibre
96c556081a
Add config doc generation command to lint.sh and add missing config schema. ( #18522 )
...
Follows: #17892 , #18456
<ol>
<li>
Add config doc generation command to lint.sh
</li>
<li>
Add missing `user_types` config schema
</li>
</ol>
---------
Signed-off-by: Olivier 'reivilibre <oliverw@matrix.org >
2025-06-10 12:43:58 +01:00
Andrew Morgan
1ab35a0a78
Mark new module APIs as experimental ( #18536 )
2025-06-10 11:13:47 +01:00
Hugh Nimmo-Smith
82189cbde4
Export RatelimitOverride from ModuleApi ( #18513 )
2025-06-06 10:48:49 +00:00
Dirk Klimpel
865d43b4b3
docs: render missing docs for scheduled tasks admin api ( #18516 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2025-06-05 15:02:40 +01:00
Mateusz Reszka
586b82e580
Propose CAP_NET_BIND_SERVICE instead running Synapse with root ( #18408 )
...
There are alternative ways to use low numbered ports besides root. Users
might be mislead into thinking they should run Synapse with root
privileges.
2025-06-04 20:44:25 +00:00
Hugh Nimmo-Smith
9b2bc75ed4
Add ratelimit callbacks to module API to allow dynamic ratelimiting ( #18458 )
2025-06-04 12:09:11 +00:00
Hugh Nimmo-Smith
28f21b4036
Add user_may_send_state_event callback to spam checker module API ( #18455 )
2025-06-04 11:26:04 +00:00
Hugh Nimmo-Smith
379356c0ea
Add media repository callbacks to module API to control media upload size ( #18457 )
...
Adds new callbacks for media related functionality:
- `get_media_config_for_user`
- `is_user_allowed_to_upload_media_of_size`
2025-06-04 11:33:10 +01:00
Hugh Nimmo-Smith
fbe7a898f0
Pass room_config argument to user_may_create_room spam checker module callback ( #18486 )
...
This PR adds an additional `room_config` argument to the
`user_may_create_room` spam checker module API callback.
It will continue to work with implementations of `user_may_create_room`
that do not expect the additional parameter.
A side affect is that on a room upgrade the spam checker callback is
called *after* doing some work to calculate the state rather than
before. However, I hope that this is acceptable given the relative
infrequency of room upgrades.
2025-06-04 11:30:45 +01:00
Hugh Nimmo-Smith
a4d8da7a1b
Make user_type extensible and allow default user_type to be set ( #18456 )
2025-06-03 11:34:40 +00:00
V02460
fae72f181b
Machine-readable config description ( #17892 )
2025-06-03 10:29:38 +01:00
Hubert Chathi
2436512a25
Mark dehydrated devices in admin get devices endpoint ( #18252 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2025-05-28 12:20:27 +01:00
Dagfinn Ilmari Mannsåker
553e124f76
Include room ID in room deletion status response ( #18318 )
...
When querying by `delete_id` it's handy to see which room the delete
pertains to.
2025-05-20 11:53:30 -05:00
Andrew Morgan
4b1d9d5d0e
Add a unit test for the phone home stats ( #18463 )
2025-05-20 16:26:45 +01:00
Strac Consulting Engineers Pty Ltd
a6cb3533db
Update postgres.md ( #18445 )
2025-05-20 13:31:05 +00:00
Andrew Morgan
1f4ae2f9eb
Allow only requiring a field be present in an SSO response, rather than specifying a required value ( #18454 )
2025-05-19 17:50:02 +01:00
_
44ae5362fd
Add option to allow registrations that begin with '_' ( #18262 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2025-05-15 11:31:52 +00:00
Kim Brose
194b923a6e
Fix room_list_publication_rules docs for v1.126.0 ( #18286 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2025-05-14 11:36:54 +01:00
Will Lewis
fe8bb620de
Add the ability to exclude remote users in user directory search results ( #18300 )
...
This change adds a new configuration
`user_directory.exclude_remote_users`, which defaults to False.
When set to True, remote users will not appear in user directory search
results.
### 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 >
2025-05-02 15:38:02 +01:00
Quentin Gliech
b8146d4b03
Allow a few admin APIs used by MAS to run on workers ( #18313 )
...
This should be reviewed commit by commit.
It adds a few admin servlets that are used by MAS when in delegation
mode to workers
---------
Co-authored-by: Olivier 'reivilibre <oliverw@matrix.org >
Co-authored-by: Devon Hudson <devon.dmytro@gmail.com >
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2025-05-02 15:37:58 +02:00
Shay
411d239db4
Apply should_drop_federated_event to federation invites ( #18330 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2025-05-02 13:04:01 +00:00
Shay
ea376126a0
Fix typo in doc for Scheduled Tasks Admin API ( #18384 )
2025-05-02 12:14:31 +01:00
Shay
6dc1ecd359
Add an Admin API endpoint to fetch scheduled tasks ( #18214 )
2025-05-01 18:30:00 +00:00
Sebastian Spaeth
2965c9970c
docs/workers.md: Add ^/_matrix/federation/v1/event/ to list of delegatable endpoints ( #18377 )
2025-05-01 15:11:59 +01:00
Martin Lavén
d59bbd8b6b
Added Pocket ID to openid.md ( #18237 )
2025-04-30 16:13:09 +00:00
Kim Brose
f79811ed80
Fix typo in docs about push ( #18320 )
2025-04-30 14:27:08 +01:00
Erik Johnston
5b89c92643
Allow /rooms/ admin API to be on workers ( #18360 )
...
Tested by https://github.com/matrix-org/sytest/pull/1400
2025-04-25 15:18:22 +01:00
Erik Johnston
33824495ba
Move GET /devices/ off main process ( #18355 )
...
We can't move PUT/DELETE as they do need to happen on main process (due
to notification of device changes).
---------
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com >
2025-04-25 15:08:33 +01:00
Devon Hudson
89cb613a4e
Revert "Add total event, unencrypted message, and e2ee event counts to stats reporting" ( #18346 )
...
Reverts element-hq/synapse#18260
It is causing a failure when building release debs for `debian:bullseye`
with the following error:
```
sqlite3.OperationalError: near "RETURNING": syntax error
```
2025-04-16 16:41:41 +00:00
Andrew Morgan
a832375bfb
Add total event, unencrypted message, and e2ee event counts to stats reporting ( #18260 )
...
Co-authored-by: Eric Eastwood <erice@element.io >
2025-04-15 07:49:08 -07:00
Olivier D
dd05cc55ee
Add passthrough_authorization_parameters support to OIDC configuration ( #18232 )
...
# Add passthrough_authorization_parameters support to OIDC configuration
This PR adds `the passthrough_authorization_parameters` option to OIDC
configuration, allowing specific query parameters (like `login_hint`) to
be passed from the redirect endpoint to the authorization grant URL.
This enables clients to provide additional context to identity providers
during authentication flows.
# 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: Quentin Gliech <quenting@element.io >
2025-04-10 13:39:27 +00:00
Will Hunt
02eed668b8
Document media hashing changes ( #18296 )
...
Essentially document the change in behaviour in #18277
### 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 ))
2025-04-01 12:43:05 +02:00
Marcel Pennewiß
3c188231c7
Update admin_faq - Fix how to obtain access token ( #18225 )
...
Riot is now known as element and Access token moved to Help & About
2025-03-27 17:31:37 +00:00
Eric Eastwood
31110f35d9
Add docs for how to clear out the Poetry wheel cache ( #18283 )
...
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
2025-03-26 14:35:54 -05:00
Andrew Morgan
d8fef721a0
Correct typo "SAML" -> SSO in mapping providers docs ( #18276 )
2025-03-25 10:35:01 +00:00