Erik Johnston
b5facbac0f
Improve perf of sync device lists ( #17216 )
...
Re-introduces #17191 , and includes #17197 and #17214
The basic idea is to stop calling `get_rooms_for_user` everywhere, and
instead use the table `device_lists_changes_in_room`.
Commits reviewable one-by-one.
2024-05-21 16:48:20 +01:00
Eric Eastwood
717b160400
Adjust wording, add todo
2024-05-21 10:26:42 -05:00
Eric Eastwood
c2221bbcc3
Lint
2024-05-21 10:20:58 -05:00
Eric Eastwood
2f112e73df
Merge branch 'develop' into madlittlemods/msc3575-sliding-sync-e2ee
2024-05-21 10:08:23 -05:00
Eric Eastwood
f6122ff0a2
Use client_patterns()
for endpoint URL
...
See https://github.com/element-hq/synapse/pull/17167#discussion_r1608170900
2024-05-21 09:54:31 -05:00
Eric Eastwood
9ffafe781d
Try to think about this logic
2024-05-21 09:52:55 -05:00
Erik Johnston
b250ca5df2
Merge branch 'release-v1.108' into develop
2024-05-21 12:21:26 +01:00
Erik Johnston
e0d420fbd1
Fixup changelog
2024-05-21 10:57:58 +01:00
dependabot[bot]
9956f35c6a
Bump twine from 5.0.0 to 5.1.0 ( #17225 )
2024-05-21 10:57:31 +01:00
dependabot[bot]
d464ee3602
Bump bcrypt from 4.1.2 to 4.1.3 ( #17224 )
2024-05-21 10:57:08 +01:00
dependabot[bot]
439a095edc
Bump pyasn1 from 0.5.1 to 0.6.0 ( #17223 )
2024-05-21 10:56:40 +01:00
dependabot[bot]
5d040f2066
Bump types-psycopg2 from 2.9.21.20240311 to 2.9.21.20240417 ( #17222 )
2024-05-21 10:56:24 +01:00
dependabot[bot]
f33266232e
Bump serde from 1.0.201 to 1.0.202 ( #17221 )
2024-05-21 10:56:16 +01:00
dependabot[bot]
d43042864a
Bump anyhow from 1.0.83 to 1.0.86 ( #17220 )
2024-05-21 10:56:07 +01:00
Erik Johnston
f4ce030608
Fixup changelog
2024-05-21 10:55:22 +01:00
Erik Johnston
8b43cc89fa
1.108.0rc1
2024-05-21 10:54:19 +01:00
Eric Eastwood
6dadfe9628
Try handle no from_token or to_token already newer
2024-05-20 18:44:38 -05:00
Eric Eastwood
07d84ab66c
Start of gathering room list to display in sync
2024-05-20 18:18:11 -05:00
Eric Eastwood
bfa8c63e57
Merge branch 'madlittlemods/msc3575-sliding-sync-e2ee' into madlittlemods/msc3575-sliding-sync-0.0.1
2024-05-20 14:32:24 -05:00
Eric Eastwood
02cecfa626
Merge branch 'develop' into madlittlemods/msc3575-sliding-sync-e2ee
2024-05-20 13:02:49 -05:00
Eric Eastwood
5f194f9b3d
Exclude application services
...
See https://github.com/element-hq/synapse/pull/17167#discussion_r1595924522
2024-05-20 11:58:22 -05:00
Eric Eastwood
3539abe0aa
Membership in timeline for better derived info
2024-05-20 11:46:25 -05:00
Eric Eastwood
3092ab5047
Calculate room derived membership info for device_lists
...
See https://github.com/element-hq/synapse/pull/17167#discussion_r1595923800
2024-05-20 11:32:56 -05:00
Erik Johnston
52af16c561
Add a short sleep if the request is rate-limited ( #17210 )
...
This helps prevent clients from "tight-looping" retrying their request.
2024-05-18 12:03:30 +01:00
Dominic Schubert
38f03a09ff
Federated Knocking Endpoints added (missing in Docu) ( #17058 )
2024-05-17 09:54:11 +00:00
Eric Eastwood
4ad7a8b755
No need to change this formatting from develop
2024-05-16 17:24:28 -05:00
Eric Eastwood
35ca937608
Format docstring
2024-05-16 17:20:19 -05:00
Eric Eastwood
821a1b3acc
Add missing field to docstring
2024-05-16 17:18:18 -05:00
Eric Eastwood
b23abca9e7
Fix test inheritance
...
See https://github.com/element-hq/synapse/pull/17167#discussion_r1594517041
2024-05-16 17:04:26 -05:00
Eric Eastwood
7331401e89
Lint
2024-05-16 13:36:34 -05:00
Eric Eastwood
9bdfa16b3e
Merge branch 'develop' into madlittlemods/msc3575-sliding-sync-e2ee
...
Conflicts:
synapse/handlers/sync.py
tests/handlers/test_sync.py
2024-05-16 13:10:58 -05:00
Eric Eastwood
c856ae4724
Refactor SyncResultBuilder
assembly to its own function ( #17202 )
...
We will re-use `get_sync_result_builder(...)` in
https://github.com/element-hq/synapse/pull/17167
Split out from https://github.com/element-hq/synapse/pull/17167
2024-05-16 13:05:31 -05:00
Eric Eastwood
fe07995e69
Fix joined_rooms
/joined_room_ids
usage ( #17208 )
...
This change was introduced in
https://github.com/element-hq/synapse/pull/17203
But then https://github.com/element-hq/synapse/pull/17207 was reverted
which brought back usage `joined_rooms` that needed to be updated.
Wasn't caught because `develop` wasn't up to date before merging.
2024-05-16 17:27:38 +00:00
Eric Eastwood
52a649580f
Rename to be obvious: joined_rooms
-> joined_room_ids
( #17203 )
...
Split out from https://github.com/element-hq/synapse/pull/17167
2024-05-16 11:55:51 -05:00
Eric Eastwood
28a948f04f
Removed request_key
from the SyncConfig
(moved outside as its own function parameter) ( #17201 )
...
Removed `request_key` from the `SyncConfig` (moved outside as its own function parameter) so it doesn't have to flow into `_generate_sync_entry_for_xxx` methods. This way we can separate the concerns of caching from generating the response and reuse the `_generate_sync_entry_for_xxx` functions as we see fit. Plus caching doesn't really have anything to do with the config of sync.
Split from https://github.com/element-hq/synapse/pull/17167
Spawning from https://github.com/element-hq/synapse/pull/17167#discussion_r1601497279
2024-05-16 11:54:46 -05:00
Andrew Morgan
7cb3f8a979
Route /make_knock
and /send_knock
to workers in Complement docker image ( #17195 )
2024-05-16 16:53:26 +00:00
Erik Johnston
fd12003441
Revert "Improve perf of sync device lists" ( #17207 )
...
Reverts element-hq/synapse#17191
2024-05-16 16:07:54 +01:00
Erik Johnston
5e892671a7
Fix bug where push rules would be empty in /sync
( #17142 )
...
Fixes #16987
Some old accounts seem to have an entry in global account data table for
push rules, which we should ignore
2024-05-16 15:04:14 +01:00
Eric Eastwood
d2d48cce85
Refactor Sync handler to be able to return different sync responses (SyncVersion
) ( #17200 )
...
Refactor Sync handler to be able to be able to return different sync
responses (`SyncVersion`). Preparation to be able support sync v2 and a
new Sliding Sync `/sync/e2ee` endpoint which returns a subset of sync
v2.
Split upon request:
https://github.com/element-hq/synapse/pull/17167#discussion_r1601497279
Split from https://github.com/element-hq/synapse/pull/17167 where we
will add `SyncVersion.E2EE_SYNC` and a new type of sync response.
2024-05-16 11:36:54 +01:00
Eric Eastwood
f3db068c28
Copy body to config
2024-05-15 17:00:00 -05:00
Eric Eastwood
ee6baba7b6
Iterating
2024-05-15 14:53:53 -05:00
Andrew Morgan
2359c64dec
Fix request path for federation_whitelist_endpoint_enabled
option in documentation ( #17199 )
2024-05-15 17:26:22 +01:00
Eric Eastwood
c8256b6cbc
Start to map out response
2024-05-15 11:18:47 -05:00
Eric Eastwood
2dd0cde7c7
Fill out more options
2024-05-15 09:50:36 -05:00
Eric Eastwood
2863fbadcc
More optional
2024-05-15 09:35:28 -05:00
Eric Eastwood
aee594adf8
Can't use StringConstraints
2024-05-14 09:42:56 -05:00
Andrew Morgan
68dca8076f
Merge branch 'master' into develop
2024-05-14 15:21:42 +01:00
Erik Johnston
284d85dee3
Cache literal sync filter validation ( #17186 )
...
The sliding sync proxy (amongst other things) use literal json blobs as
filters, and repeatedly validating them takes a bunch of CPU.
2024-05-14 15:08:46 +01:00
Erik Johnston
ebe77381b0
Reduce pauses on large device list changes ( #17192 )
...
For large accounts waking up all the relevant notifier streams can cause
pauses of the reactor.
2024-05-14 14:39:11 +01:00
Erik Johnston
0b91ccce47
Improve perf of sync device lists ( #17191 )
...
It's almost always more efficient to query the rooms that have device
list changes, rather than looking at the list of all users whose devices
have changed and then look for shared rooms.
2024-05-14 14:39:04 +01:00