Patrick Cloke
49c9745b45
Avoid sending massive replication updates when purging a room. ( #16510 )
2023-10-18 12:26:01 -04:00
Patrick Cloke
6ad1f9eac2
Convert DeviceLastConnectionInfo to attrs. ( #16507 )
...
To improve type safety & memory usage.
2023-10-17 12:47:42 +00:00
Patrick Cloke
77dfc1f939
Fix a bug where servers could be marked as up when they were failing ( #16506 )
...
After this change a server will only be reported as back online
if they were previously having requests fail.
2023-10-17 07:32:40 -04:00
Patrick Cloke
e3e0ae4ab1
Convert state delta processing from a dict to attrs. ( #16469 )
...
For improved type checking & memory usage.
2023-10-16 07:35:22 -04:00
Patrick Cloke
cc865fffc0
Convert user_get_threepids response to attrs. ( #16468 )
...
This improves type annotations by not having a dictionary of Any values.
2023-10-11 20:08:11 -04:00
Patrick Cloke
a4904dcb04
Convert simple_select_many_batch, simple_select_many_txn to tuples. ( #16444 )
2023-10-11 13:24:56 -04:00
Patrick Cloke
d6b7d49a61
Handle content types with parameters. ( #16440 )
2023-10-11 07:50:34 -04:00
David Robertson
1f10c20806
Apply join rate limiter outside the lineariser ( #16441 )
2023-10-06 17:31:52 +00:00
Patrick Cloke
7615e2bf48
Return ThumbnailInfo in more places ( #16438 )
...
Improves type hints by using concrete types instead of
dictionaries.
2023-10-06 10:12:43 -04:00
Patrick Cloke
fc31b495b3
Stop sending incorrect knock_state_events. ( #16403 )
...
Synapse was incorrectly implemented with a knock_state_events
property on some APIs (instead of knock_room_state). This was
correct in Synapse 1.70.0, but *both* fields were sent to also be
compatible with Synapse versions expecting the wrong field.
Enough time has passed that only the correct field needs to be
included/handled.
2023-10-06 07:27:35 -04:00
Patrick Cloke
26b960b08b
Register media servlets via regex. ( #16419 )
...
This converts the media servlet URLs in the same way as
(most) of the rest of Synapse. This will give more flexibility
in the versions each endpoint exists under.
2023-10-06 07:22:55 -04:00
Erik Johnston
009b47badf
Factor out `MultiWriter` token from `RoomStreamToken` ( #16427 )
2023-10-05 10:46:28 +01:00
Erik Johnston
80ec81dcc5
Some refactors around receipts stream ( #16426 )
2023-10-04 16:28:40 +01:00
MomentQYC
5725712d47
Remove Python version from `/_synapse/admin/v1/server_version` ( #16380 )
...
There's no reason to expose the full Python version over what is
frequently a public API.
2023-10-02 09:07:53 -04:00
Will Hunt
79eb6c0cdc
Support rendering some media downloads as inline ( #15988 )
...
Use an `inline` Content-Disposition header when the media is
"safe" to display inline (some known text, image, video, audio
formats).
2023-09-29 07:19:38 -04:00
Patrick Cloke
cdb89dcefe
Improve state types. ( #16395 )
2023-09-28 07:01:46 -04:00
Patrick Cloke
f84da3c32e
Add a cache around server ACL checking ( #16360 )
...
* Pre-compiles the server ACLs onto an object per room and
invalidates them when new events come in.
* Converts the server ACL checking into Rust.
2023-09-26 11:57:50 -04:00
Maxwell G
12611bfcdd
Add support for pydantic v2 via pydantic.v1 compat module ( #16332 )
...
While maintaining support with pydantic v1.
2023-09-25 15:19:08 +00:00
Patrick Cloke
7ec0a141b4
Convert more cached return values to immutable types ( #16356 )
2023-09-20 07:48:55 -04:00
Patrick Cloke
47d4bb6057
Stop patching EventBase.__eq__ in tests. ( #16349 )
...
It is clearer to directly test equality instead of doing indirect
assertions via patching __eq__.
2023-09-18 14:48:02 +00:00
Hanadi
eef2b9e344
Filter locked users in the admin API ( #16328 )
...
Co-authored-by: Hanadi Tamimi <hanadi.tamimi@sdui.de>
2023-09-18 15:37:51 +01:00
Patrick Cloke
85bfd4735e
Return an immutable value from get_latest_event_ids_in_room. ( #16326 )
2023-09-18 09:29:05 -04:00
Patrick Cloke
63d28a88c1
Additional validation of receipts ( #16327 )
...
Reject invalid receipts with a reasonable error message &
expands tests for receipts.
2023-09-18 13:02:12 +00:00
Mathieu Velten
dd44ee00b6
Add automatic purge after all users forget a room ( #15488 )
...
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>
2023-09-15 15:37:44 +02:00
Erik Johnston
954921736b
Refactor `get_user_by_id` ( #16316 )
2023-09-14 12:46:30 +01:00
Hanadi
7afb5e0410
Fix using dehydrated devices (MSC2697) & refresh tokens ( #16288 )
...
Refresh tokens were not correctly moved to the rehydrated
device (similar to how the access token is currently handled).
This resulted in invalid refresh tokens after rehydration.
2023-09-13 08:33:39 -04:00
Erik Johnston
2b35626b6b
Refactor storing of server keys ( #16261 )
2023-09-12 11:08:04 +01:00
Patrick Cloke
9400dc0535
Add the List-Unsubscribe header for notification emails. ( #16274 )
...
Adds both the List-Unsubscribe (RFC2369) and List-Unsubscribe-Post (RFC8058)
headers to push notification emails, which together should:
* Show an "Unsubscribe" link in the MUA UI when viewing Synapse notification emails.
* Enable "one-click" unsubscribe (the user never leaves their MUA, which automatically
makes a POST request to the specified endpoint).
2023-09-11 09:49:48 -04:00
Patrick Cloke
aa483cb4c9
Update ruff config ( #16283 )
...
Enable additional checks & clean-up unneeded configuration.
2023-09-08 11:24:36 -04:00
Patrick Cloke
69b74d9330
Avoid temporary storage of sensitive information. ( #16272 )
...
During the UI auth process, avoid storing sensitive information
into the database.
2023-09-08 08:57:56 -04:00
Marcel
13e9cad537
Send the opentracing span information to appservices ( #16227 )
2023-09-06 15:19:17 -04:00
Aurélien Grimpard
fe69e7f617
Handle "registration_enabled" parameter for CAS ( #16262 )
...
Similar to OIDC, CAS providers can now disable registration such
that only existing users are able to login via SSO.
2023-09-06 14:32:24 -04:00
Patrick Cloke
32fb264120
Merge remote-tracking branch 'origin/release-v1.92' into develop
2023-09-06 13:08:22 -04:00
Patrick Cloke
55c20da4a3
Merge remote-tracking branch 'origin/release-v1.91' into release-v1.92
2023-09-06 11:25:28 -04:00
Quentin Gliech
1940d990a3
Revert MSC3861 introspection cache, admin impersonation and account lock ( #16258 )
2023-09-06 15:19:51 +01:00
Mathieu Velten
4f1840a88a
Delete device messages asynchronously and in staged batches ( #16240 )
2023-09-06 09:30:53 +02:00
Will Hunt
1e571cd664
Fix appservices being unable to handle to_device messages for multiple users ( #16251 )
2023-09-05 15:46:57 -04:00
Travis Ralston
b1d71c687a
Add MSC4040 `matrix-fed` service lookups ( #16137 )
2023-09-05 15:45:39 -04:00
Patrick Cloke
8b5013dcbc
Time out busy presence status & test multi-device busy ( #16174 )
...
Add a (long) timeout to when a "busy" device is considered not online.
This does *not* match MSC3026, but is a reasonable thing for an
implementation to do.
Expands tests for the (unstable) busy presence with multiple devices.
2023-09-05 10:39:38 -04:00
Patrick Cloke
ea75346f6a
Track presence state per-device and combine to a user state. ( #16066 )
...
Tracks presence on an individual per-device basis and combine
the per-device state into a per-user state. This should help in
situations where a user has multiple devices with conflicting status
(e.g. one is syncing with unavailable and one is syncing with online).
The tie-breaking is done by priority:
BUSY > ONLINE > UNAVAILABLE > OFFLINE
2023-09-05 09:58:51 -04:00
Erik Johnston
d35bed8369
Don't wake up destination transaction queue if they're not due for retry. ( #16223 )
2023-09-04 17:14:09 +01:00
Mathieu Velten
dcb2778341
Add last_seen_ts to the admin users API ( #16218 )
2023-09-04 18:13:28 +02:00
Erik Johnston
f84baecb6f
Don't reset retry timers on "valid" error codes ( #16221 )
2023-09-04 14:04:43 +01:00
David Robertson
6525fd65ee
Log the details of background update failures ( #16212 )
2023-09-01 12:41:56 +01:00
Erik Johnston
a2e0d4cd60
Fix rare bug that broke looping calls ( #16210 )
...
* Fix rare bug that broke looping calls
We can't interact with the reactor from the main thread via looping
call.
Introduced in v1.90.0 / #15791 .
* Newsfile
2023-08-30 14:18:42 +01:00
Patrick Cloke
ebd8374fb5
Stop writing to the event_txn_id table ( #16175 )
2023-08-30 11:10:56 +01:00
David Robertson
62a1a9be52
Describe which rate limiter was hit in logs ( #16135 )
2023-08-30 00:39:39 +01:00
Patrick Cloke
9ec3da06da
Bump mypy-zope & mypy. ( #16188 )
2023-08-29 10:38:56 -04:00
Evilham
63b51ef3fb
Support IPv6-only SMTP servers ( #16155 )
...
Use Twisted HostnameEndpoint to connect to SMTP servers (instead
of connectTCP/connectSSL) which properly supports IPv6-only servers.
2023-08-29 09:33:58 -04:00
Patrick Cloke
40901af5e0
Pass the device ID around in the presence handler ( #16171 )
...
Refactoring to pass the device ID (in addition to the user ID) through
the presence handler (specifically the `user_syncing`, `set_state`,
and `bump_presence_active_time` methods and their replication
versions).
2023-08-28 13:08:49 -04:00