Erik Johnston
02bc71a771
Merge remote-tracking branch 'origin/develop' into erikj/ss_remove_list_ops
2024-09-10 10:25:05 +01:00
Erik Johnston
b3047f3f17
Sliding sync: various fixups to the sliding sync joined room background job ( #17673 )
...
Follow-up to #17652 , https://github.com/element-hq/synapse/pull/17641 ,
https://github.com/element-hq/synapse/pull/17634 ,
https://github.com/element-hq/synapse/pull/17631 and
https://github.com/element-hq/synapse/pull/17632 to fix-up
https://github.com/element-hq/synapse/pull/17512
2024-09-10 10:22:46 +01:00
Erik Johnston
9689ac3294
Sliding Sync: Look for bump _stamp
in the room timeline ( #17684 )
...
This allows us to skip checking the database a lot of the time.
---------
Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
2024-09-10 10:20:30 +01:00
Erik Johnston
b4a1784d66
Update doc
2024-09-10 10:16:51 +01:00
Erik Johnston
588e5b521d
Sliding Sync: Retrieve fewer events from DB in sync ( #17688 )
...
When using timeline limit of 1 we end up fetching 2 events from the DB
purely to tell if the response was "limited" or not. Lets not do that.
2024-09-10 09:52:42 +01:00
Eric Eastwood
515c1cc0a1
Sliding Sync: Add comment to explain extra case where you can be invited -> banned -> unbanned ( #17654 )
...
Add comment to explain extra case where you can be
invited -> banned -> unbanned and we want to be able
to find the invite event.
Follow-up to https://github.com/element-hq/synapse/pull/17636#discussion_r1738993330
2024-09-09 17:55:59 -05:00
Eric Eastwood
e1ed959a68
Sliding Sync: Get bump_stamp
from new sliding sync tables because it's faster ( #17658 )
...
Get `bump_stamp` from [new sliding sync
tables](https://github.com/element-hq/synapse/pull/17512 ) which should
be faster (performance) than flipping through the latest events in the
room.
2024-09-09 16:41:25 +01:00
Erik Johnston
5c229415c4
Revert "Look for bump stamp in the room timeline"
...
This reverts commit a3c49565ff
.
2024-09-09 11:58:50 +01:00
Erik Johnston
a3c49565ff
Look for bump stamp in the room timeline
...
This allows us to skip checking the database a lot of the time.
2024-09-09 11:58:18 +01:00
Eric Eastwood
5389374ef8
Sliding Sync: Speed up incremental sync by avoiding extra work ( #17665 )
...
Speed up incremental sync by avoiding extra work. We first look at the
state delta changes and only fetch and calculate further derived things
if they have changed.
2024-09-09 10:36:22 +01:00
Erik Johnston
e5d07bb083
Fix bump stamp for non-joined rooms ( #17674 )
...
We should only look for bump stamps in joined rooms, otherwise we should
just use the membership stream ordering.
2024-09-06 11:44:37 +01:00
Erik Johnston
a708e1afd0
Small performance improvements for sliding sync ( #17672 )
...
A couple of small performance improvements for sliding sync.
2024-09-06 11:44:13 +01:00
Erik Johnston
786de8570b
Speed up fetching partial-state rooms on sliding sync ( #17666 )
...
Instead of having a large cache of `room_id -> bool` about whether a
room is partially stated, replace with a "fetch rooms the user is which
are partially-stated". This is a lot faster as the set of partially
stated rooms at any point across the whole server is small, and so such
a query is fast.
The main issue with the bulk cache lookup is the CPU time looking all
the rooms up in the cache.
2024-09-06 11:12:54 +01:00
Erik Johnston
d5accec2e5
Speed up sliding sync by avoiding copies ( #17670 )
...
We ended up spending ~10% CPU creating a new dictionary and
`_RoomMembershipForUser`, so let's avoid creating new dicts and copying
by returning `newly_joined`, `newly_left` and `is_dm` as sets directly.
---------
Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
2024-09-06 11:12:29 +01:00
Johannes Marbach
de3363ef58
Stabilise MSC4156: server_name
-> via
( #17650 )
2024-09-05 17:07:39 +01:00
Erik Johnston
6b770d8bfc
Revert "Fix bump stamp for non-joined rooms"
...
This reverts commit f73c844403
.
2024-09-05 15:43:37 +01:00
Erik Johnston
f73c844403
Fix bump stamp for non-joined rooms
...
We should only look for bump stamps in joined rooms, otherwise we should
just use the membership stream ordering.
2024-09-05 15:42:49 +01:00
Erik Johnston
b715c8b292
Newsfile
2024-09-05 14:52:50 +01:00
Erik Johnston
e7487612be
Remove the sync ops from the code
2024-09-05 14:50:28 +01:00
Erik Johnston
8624d45225
Remove list ops from the sliding sync response
2024-09-05 14:50:28 +01:00
Erik Johnston
b09bcf16d9
Fix background update to handle invalid events ( #17641 )
...
Follow-up to #17634 , https://github.com/element-hq/synapse/pull/17631
and https://github.com/element-hq/synapse/pull/17632 to fix-up
https://github.com/element-hq/synapse/pull/17512
2024-09-05 14:15:04 +01:00
Eric Eastwood
b054690c8c
Sliding Sync: Prevent duplicate tags being added to traces ( #17655 )
...
Prevent duplicate tags being added to traces.
Noticed because we see these warnings in Jaeger:
<img width="462" alt="Screenshot 2024-09-03 at 2 34 05 PM"
src="https://github.com/user-attachments/assets/6fac12ed-0074-435b-9451-eccde7e7012a ">
2024-09-05 10:05:01 +01:00
Erik Johnston
dce38f3faf
Fix sliding sync on workers ( #17649 )
...
Broke in #17630
---------
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2024-09-04 10:52:46 +01:00
dependabot[bot]
fc10d38849
Bump twisted from 24.7.0rc1 to 24.7.0 ( #17647 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-03 18:48:43 +01:00
dependabot[bot]
4255c03599
Bump types-psycopg2 from 2.9.21.20240417 to 2.9.21.20240819 ( #17646 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-03 18:38:01 +01:00
dependabot[bot]
c24cce73a1
Bump towncrier from 24.7.1 to 24.8.0 ( #17645 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-03 18:37:30 +01:00
dependabot[bot]
1c5d2a4197
Bump types-pillow from 10.2.0.20240520 to 10.2.0.20240822 ( #17644 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-03 18:19:42 +01:00
Erik Johnston
391c4f870b
Merge remote-tracking branch 'origin/release-v1.114' into develop
2024-09-02 20:58:49 +01:00
Erik Johnston
5eec67b6ef
Fix changelog
2024-09-02 17:08:34 +01:00
Erik Johnston
6722adf04e
Update changelog
2024-09-02 16:27:13 +01:00
Erik Johnston
ac27c9e46a
1.114.0
2024-09-02 15:14:57 +01:00
Erik Johnston
f729ef08c9
Enable sliding sync support by default ( #17648 )
...
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2024-09-02 15:09:04 +01:00
Quentin Gliech
7d52ce7d4b
Format files with Ruff ( #17643 )
...
I thought ruff check would also format, but it doesn't.
This runs ruff format in CI and dev scripts. The first commit is just a
run of `ruff format .` in the root directory.
2024-09-02 12:39:04 +01:00
Erik Johnston
709b7363fe
Sliding sync: use new DB tables ( #17630 )
...
Based on https://github.com/element-hq/synapse/pull/17629
Utilizing the new sliding sync tables added in
https://github.com/element-hq/synapse/pull/17512 for fast acquisition of
rooms for the user and filtering/sorting.
---------
Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
2024-09-01 11:25:39 +01:00
Erik Johnston
560b43ac02
Sliding Sync: Split up get_room_membership_for_user_at_to_token
( #17629 )
...
This is to make it easier to reuse the logic when adding support for the
new tables
---------
Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
2024-09-01 10:52:03 +01:00
Erik Johnston
8b6ff1dba5
Revert "Also handle invalid event errors"
...
This reverts commit b4d0356e48
.
2024-09-01 10:43:26 +01:00
Erik Johnston
b4d0356e48
Also handle invalid event errors
2024-09-01 10:42:49 +01:00
Erik Johnston
d52c17ce01
Sliding sync: various fixes to background update ( #17636 )
...
Follows on from #17512 , other fixes include: #17633 , #17634 , #17635
2024-09-01 10:18:45 +01:00
Erik Johnston
966a50bb63
Fixup changelog
2024-08-30 16:38:53 +01:00
Erik Johnston
d6125c583d
1.114.0rc3
2024-08-30 16:38:08 +01:00
Erik Johnston
da58e55a0b
Fix starting non-media repos ( #17626 )
...
Regressed in #17543 .
The `max_download_size` config is not available on workers that don't
load the media repo.
Besides, we should honour the max_size param that was passed into the
function.
2024-08-30 16:37:11 +01:00
Erik Johnston
a5a454fc35
Fixup changelog
2024-08-30 15:39:53 +01:00
Erik Johnston
1caff75526
Fixup changelog
2024-08-30 15:36:52 +01:00
Erik Johnston
7b75922020
1.114.0rc2
2024-08-30 15:35:18 +01:00
Quentin Gliech
26c1330764
Replace isort and black with ruff ( #17620 )
...
Ruff now has decent parity with black and isort, so this is going to just save us a bunch of time
2024-08-30 15:32:43 +01:00
Quentin Gliech
48303fcbcc
MSC3861: load the issuer and account management URLs from OIDC discovery ( #17407 )
...
This will help mitigating any discrepancies between the issuer
configured and the one returned by the OIDC provider.
This also removes the need for configuring the `account_management_url`
explicitely, as it will now be loaded from the OIDC discovery, as per
MSC2965.
Because we may now fetch stuff for the .well-known/matrix/client
endpoint, this also transforms the client well-known resource to be
asynchronous.
2024-08-30 15:31:51 +01:00
Michael Telatynski
53a3783750
Use custom stage UIA error for MAS cross-signing reset ( #17509 )
...
Rather than 501 M_UNRECOGNISED
Client side implementation at
https://github.com/matrix-org/matrix-react-sdk/pull/12892/
2024-08-30 15:31:51 +01:00
Erik Johnston
b913aaa788
Sliding sync: Store the per-connection state in the database. ( #17599 )
...
Based on #17600
---------
Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
2024-08-30 15:31:05 +01:00
Erik Johnston
dab88a7b1f
Sliding Sync: Make PerConnectionState
immutable ( #17600 )
...
This is so that we can cache it.
We also move the sliding sync types to
`synapse/types/handlers/sliding_sync.py`. This is mainly in-prep for
The only change in behaviour is that
`RoomSyncConfig.combine_sync_config(..)` now returns a new room sync
config rather than mutating in-place.
Reviewable commit-by-commit.
---------
Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
2024-08-30 15:29:07 +01:00
Quentin Gliech
ca69d0f571
MSC3861: load the issuer and account management URLs from OIDC discovery ( #17407 )
...
This will help mitigating any discrepancies between the issuer
configured and the one returned by the OIDC provider.
This also removes the need for configuring the `account_management_url`
explicitely, as it will now be loaded from the OIDC discovery, as per
MSC2965.
Because we may now fetch stuff for the .well-known/matrix/client
endpoint, this also transforms the client well-known resource to be
asynchronous.
2024-08-30 14:04:08 +00:00