Mathieu Velten
ef0d3d7bd9
Revert "Allow for the configuration of max request retries and min/max retry delays in the matrix federation client ( #12504 )"
...
This reverts commit d84e66144d
.
2023-06-14 11:55:57 +02:00
Mathieu Velten
14f9d9b452
Fix empty scope when having version mismatch between workers ( #15774 )
2023-06-14 11:53:55 +02:00
Eric Eastwood
fcc3ca37e1
Backfill in the background if we're doing it "just because" ( #15710 )
...
Fix https://github.com/matrix-org/synapse/issues/15702
2023-06-09 15:39:49 -05:00
Shay
d84e66144d
Allow for the configuration of max request retries and min/max retry delays in the matrix federation client ( #12504 )
...
Co-authored-by: Mathieu Velten <mathieuv@matrix.org>
Co-authored-by: Erik Johnston <erik@matrix.org>
2023-06-09 09:00:46 +02:00
Erik Johnston
f6321e386c
Merge branch 'master' into develop
2023-06-08 13:16:46 +01:00
Erik Johnston
c485ed1c5a
Clear event caches when we purge history ( #15609 )
...
This should help a little with #13476
---------
Co-authored-by: Patrick Cloke <patrickc@matrix.org>
2023-06-08 13:14:40 +01:00
Erik Johnston
733342ad3e
Fix using TLS for replication ( #15746 )
...
Fixes #15744 .
2023-06-08 13:03:48 +01:00
David Robertson
d162aecaac
Quick & dirty metric for background update status ( #15740 )
...
* Quick & dirty metric for background update status
* Changelog
* Remove debug
Co-authored-by: Mathieu Velten <mathieuv@matrix.org>
* Actually write to _aborted
---------
Co-authored-by: Mathieu Velten <mathieuv@matrix.org>
2023-06-07 17:12:23 +00:00
Eric Eastwood
e536f02f68
Remove superfluous `room_memberships` join from background update ( #15733 )
...
Spawning from https://github.com/matrix-org/synapse/pull/15731
2023-06-07 11:47:01 -05:00
Grant McLean
5c24d7b9eb
Check required power levels earlier in createRoom handler. ( #15695 )
...
* Check required power levels earlier in createRoom handler.
- If a server was configured to reject the creation of rooms with E2EE
enabled (by specifying an unattainably high power level for
"m.room.encryption" in default_power_level_content_override), the 403
error was not being triggered until after the room was created and
before the "m.room.power_levels" was sent. This allowed a user to
access the partially-configured room and complete the setup of E2EE
and power levels manually.
- This change causes the power level overrides to be checked earlier and
the request to be rejected before the user gains access to the room.
- A new `_validate_room_config` method is added to contain checks that
should be run before a room is created.
- The new test case confirms that a user request is rejected by the new
validation method.
Signed-off-by: Grant McLean <grant@catalyst.net.nz>
* Add a changelog file.
* Formatting fix for black.
* Remove unneeded line from test.
---------
Signed-off-by: Grant McLean <grant@catalyst.net.nz>
2023-06-07 16:21:25 +01:00
Erik Johnston
8934c11935
Merge branch 'master' into develop
2023-06-07 14:45:19 +01:00
Erik Johnston
f7c6553ebc
Fix schema delta error in 1.85 ( #15739 )
...
Some users seem to have multiple rows per user / room with a null thread
ID, which we need to handle.
2023-06-07 13:02:42 +01:00
Erik Johnston
a701c089fa
Fix schema delta error in 1.85 ( #15738 )
...
There appears to be a race where you can end up with entries in
`event_push_summary` with both a `NULL` and `main` thread ID.
Fixes #15736
Introduced in #15597
2023-06-07 10:50:32 +01:00
Eric Eastwood
9d911b0da6
No need for the extra join since `membership` is built-in to `current_state_events` ( #15731 )
...
This helps with the upstream `is_host_joined()` and `is_host_invited()` functions.
`membership` was added to `current_state_events` in https://github.com/matrix-org/synapse/pull/5706 and forced in https://github.com/matrix-org/synapse/pull/13745
2023-06-06 22:19:57 -05:00
Eric Eastwood
8bfded81f3
Trace functions which return `Awaitable` ( #15650 )
2023-06-06 17:39:22 -05:00
Eric Eastwood
4e6390cb10
Update error to more plainly explain we can only authorize our own events ( #15725 )
2023-06-06 16:26:12 -05:00
Eric Eastwood
33c3550887
Add context for when/why to use the `long_retries` option when sending Federation requests ( #15721 )
2023-06-06 16:25:03 -05:00
Shay
6ee96e9366
Improve performance of user directory search ( #15729 )
2023-06-06 21:16:03 +01:00
Sean Quah
dfd77f426e
Remove some unused `server_name` fields ( #15723 )
...
Signed-off-by: Sean Quah <seanq@matrix.org>
2023-06-06 12:32:29 +01:00
Patrick Cloke
f880e64b11
Stabilize support for MSC3952: Intentional mentions. ( #15520 )
2023-06-06 09:11:07 +01:00
Eric Eastwood
f9561b9e37
Some house keeping on `maybe_backfill()` functions ( #15709 )
2023-06-05 23:38:52 -05:00
Shay
d0c4257f14
`N + 3`: Read from column `full_user_id` rather than `user_id` of tables `profiles` and `user_filters` ( #15649 )
2023-06-02 17:24:13 -07:00
Mathieu Velten
e0f2429d13
Add a catch-all * to the supported relation types when redacting ( #15705 )
...
This is an update to MSC3912 implementation
2023-06-02 13:13:50 +00:00
Eric Eastwood
30a5076da8
Log when events are (unexpectedly) filtered out of responses in tests ( #14213 )
...
See https://github.com/matrix-org/synapse/pull/14095#discussion_r990335492
This is useful because when see that a relevant event is an `outlier` or `soft-failed`, then that's a good unexpected indicator explaining why it's not showing up. `filter_events_for_client` is used in `/sync`, `/messages`, `/context` which are all common end-to-end assertion touch points (also notifications, relations).
2023-06-01 21:27:18 -05:00
H. Shay
8af29155ec
Merge branch 'release-v1.85' into develop
2023-06-01 10:26:37 -07:00
Erik Johnston
5ed0e8c61f
Cache requests for user's devices from federation ( #15675 )
...
This should mitigate the issue where lots of different servers requests
the same user's devices all at once.
2023-06-01 13:25:20 +00:00
Hugh Nimmo-Smith
d1693f0362
Implement stable support for MSC3882 to allow an existing device/session to 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.
2023-06-01 08:52:51 -04:00
Shay
6d9e2fd878
Speed up background jobs populate_full_user_id_user_filters and populate_full_user_id_profiles ( #15700 )
2023-05-31 15:13:48 -07:00
Patrick Cloke
6f18812bb0
Add stubs package for lxml. ( #15697 )
...
The stubs have some issues so this has some generous cast
and ignores in it, but it is better than not having stubs.
Note that confusing that Element is a function which creates
_Element instances (and similarly for Comment).
2023-05-31 17:06:57 +00:00
reivilibre
11e15d79b8
Fix a performance issue introduced in Synapse v1.83.0 which meant that purging rooms was very slow and database-intensive. ( #15693 )
...
* Add indices required to efficiently validate new foreign key constraints on stream_ordering
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
2023-05-31 14:59:56 +01:00
Gabriel Féron
daf3a67908
Add get_canonical_room_alias to module API ( #15450 )
...
Co-authored-by: Boxdot <d@zerovolt.org>
2023-05-31 09:18:37 -04:00
Patrick Cloke
c01343de43
Add stricter mypy options ( #15694 )
...
Enable warn_unused_configs, strict_concatenate, disallow_subclassing_any,
and disallow_incomplete_defs.
2023-05-31 07:18:29 -04:00
Quentin Gliech
ceb3dd77db
Enforce that an admin token also has the basic Matrix API scope
2023-05-30 09:43:06 -04:00
Quentin Gliech
32a2f05004
Make the config tests spawn the homeserver only when needed
2023-05-30 09:43:06 -04:00
Quentin Gliech
f739bde962
Reject tokens with multiple device scopes
2023-05-30 09:43:06 -04:00
Quentin Gliech
98afc57d59
Make OIDC scope constants
2023-05-30 09:43:06 -04:00
Quentin Gliech
14a5be9c4d
Handle errors when introspecting tokens
...
This returns a proper 503 when the introspection endpoint is not working
for some reason, which should avoid logging out clients in those cases.
2023-05-30 09:43:06 -04:00
Quentin Gliech
e343125b38
Disable incompatible Admin API endpoints
2023-05-30 09:43:06 -04:00
Quentin Gliech
4d0231b364
Make AS tokens work & allow ASes to /register
2023-05-30 09:43:06 -04:00
Quentin Gliech
c008b44b4f
Add an admin token for MAS -> Synapse calls
2023-05-30 09:43:06 -04:00
Hugh Nimmo-Smith
249f4a338d
Refactor config to be an experimental feature
...
Also enforce you can't combine it with incompatible config options
2023-05-30 09:43:06 -04:00
Quentin Gliech
31691d6151
Disable account related endpoints when using OAuth delegation
2023-05-30 09:43:06 -04:00
Hugh Nimmo-Smith
5fe96082d0
Actually enforce guest + return www-authenticate header
2023-05-30 09:43:06 -04:00
Hugh Nimmo-Smith
a1374b5c70
MSC2967: Check access token scope for use as user and add guest support
2023-05-30 09:43:06 -04:00
Hugh Nimmo-Smith
d20669971a
Use `name` claim as display name when registering users on the fly.
...
This makes is so that the `name` claim got when introspecting the token
is used as the display name when registering a user on the fly.
2023-05-30 09:43:06 -04:00
Quentin Gliech
f9cd549f64
Record the `sub` claims as an external_id
2023-05-30 09:43:06 -04:00
Quentin Gliech
7628dbf4e9
Handle the Synapse admin scope
2023-05-30 09:43:06 -04:00
Quentin Gliech
c5cf1b421d
Save the scopes in the requester
2023-05-30 09:43:06 -04:00
Quentin Gliech
e82ec6d008
MSC2965: OIDC Provider discovery via well-known document
2023-05-30 09:43:06 -04:00
Quentin Gliech
8f576aa462
Expose the public keys used for client authentication on an endpoint
2023-05-30 09:43:06 -04:00