Commit graph

24760 commits

Author SHA1 Message Date
reivilibre
7e2412265d
Log exceptions when failing to auto-join new user according to the auto_join_rooms option. (#17176)
Would have been useful for tracking down #16878.

Signed-off-by: Olivier 'reivilibre <oliverw@matrix.org>
2024-05-22 14:22:33 +01:00
reivilibre
7ef00b7628
Add logging to tasks managed by the task scheduler, showing CPU and database usage. (#17219)
The log format is the same as the request log format, except:

- fields that are specific to HTTP requests have been removed
- the task's params are included at the end of the log line.

These log lines are emitted:
- when the task function finishes — both completion and failure (and I
suppose it is possible for a task to become schedulable again?)
- every 5 minutes whilst it is running

Closes #17217.

---------

Signed-off-by: Olivier 'reivilibre <oliverw@matrix.org>
2024-05-22 14:12:58 +01:00
Erik Johnston
b71d277438
Reduce work of calculating outbound device pokes (#17211) 2024-05-22 13:55:18 +01:00
Yadd
a547b49773
Update Lemonldap-NG OIDC config (#17204)
Update OIDC documentation: by default Matrix doesn't query userinfo endpoint, then claims should be put on id_token.
2024-05-22 12:29:31 +00:00
devonh
6a9a641fb8
Bring auto-accept invite logic into Synapse (#17147)
This PR ports the logic from the
[synapse_auto_accept_invite](https://github.com/matrix-org/synapse-auto-accept-invite)
module into synapse.

I went with the naive approach of injecting the "module" next to where
third party modules are currently loaded. If there is a better/preferred
way to handle this, I'm all ears. It wasn't obvious to me if there was a
better location to add this logic that would cleanly apply to all
incoming invite events.

Relies on https://github.com/element-hq/synapse/pull/17166 to fix linter
errors.
2024-05-21 20:09:17 +00:00
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
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
Olivier 'reivilibre
7786060e4a Merge branch 'rei/task_scheduler_better_logging' into matrix-org-hotfixes 2024-05-18 21:16:23 +01:00
Olivier 'reivilibre
effebb3e88 Oops! Clock.time gives seconds 2024-05-18 21:16:06 +01:00
Olivier 'reivilibre
cdd333b4f1 Merge branch 'rei/task_scheduler_better_logging' into matrix-org-hotfixes 2024-05-18 20:51:16 +01:00
Olivier 'reivilibre
3958fdab77 Newsfile
Signed-off-by: Olivier 'reivilibre <oliverw@matrix.org>
2024-05-18 20:50:40 +01:00
Olivier 'reivilibre
d7b8d87dad Log task usage upon finish and every 5 minutes otherwise 2024-05-18 20:50:40 +01:00
Olivier 'reivilibre
dd5f3eb17d Merge branch 'rei/task_scheduler_better_logging' into matrix-org-hotfixes 2024-05-18 20:47:00 +01:00
Olivier 'reivilibre
d9003ae507 Newsfile
Signed-off-by: Olivier 'reivilibre <oliverw@matrix.org>
2024-05-18 20:44:49 +01:00
Olivier 'reivilibre
5831342024 Log task usage upon finish and every 5 minutes otherwise 2024-05-18 20:44:49 +01:00
Olivier 'reivilibre
02efa51f0f Merge branch 'erikj/wait_for_stream_pos' into matrix-org-hotfixes 2024-05-18 19:50:05 +01:00
Olivier 'reivilibre
122d190e40 Merge branch 'erikj/device_list_sync_perf' into matrix-org-hotfixes 2024-05-18 16:33:57 +01:00
Erik Johnston
6a0d2dc6fc Only check for all rooms if not outbound poke 2024-05-18 16:12:46 +01:00
Olivier 'reivilibre
233e25e193 Merge branch 'erikj/device_list_sync_perf' into matrix-org-hotfixes 2024-05-18 15:21:52 +01:00
Olivier 'reivilibre
1e4d9df3cd Add current token to log line 2024-05-18 15:21:40 +01:00
Erik Johnston
7bd1575ddf Ignore typing stream for now 2024-05-18 13:08:52 +01:00
Erik Johnston
a2dc84fc90 Bump typing_extensions version 2024-05-18 12:40:04 +01:00
Erik Johnston
e6d3d808aa Newsfile 2024-05-18 12:33:46 +01:00
Erik Johnston
cf474a094f Add stream change cache for device lists in room 2024-05-18 12:33:26 +01:00
Erik Johnston
5b2b3120c2 Cap the top stream ID when fetching changed devices 2024-05-18 12:27:27 +01:00
Erik Johnston
bec0313e1b 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-18 12:27:12 +01:00
Erik Johnston
bd6b57653f Newsfile 2024-05-18 12:23:54 +01:00
Erik Johnston
169c9f85a8 In sync wait for worker to catch up since token
Otherwise things will get confused.
2024-05-18 12:22:09 +01:00
Erik Johnston
1b7fa7b04a Add StreamToken.is_before_or_eq func 2024-05-18 12:08:30 +01:00
Olivier 'reivilibre
a6b7aed06a Merge branch 'develop' into matrix-org-hotfixes 2024-05-18 12:05:59 +01: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
Erik Johnston
212f6646a6 Merge branch 'erikj/redundant_outbound_pokes' into matrix-org-hotfixes 2024-05-17 18:07:11 +01:00
Erik Johnston
db39ef061b Newsfile 2024-05-17 17:39:14 +01:00
Erik Johnston
689666c4ba Reduce work of calculating outbound device pokes 2024-05-17 17:38:44 +01:00
Dominic Schubert
38f03a09ff
Federated Knocking Endpoints added (missing in Docu) (#17058) 2024-05-17 09:54:11 +00: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
12a4094a5f Merge remote-tracking branch 'origin/develop' into matrix-org-hotfixes 2024-05-16 16:08:39 +01:00