Ginger
4922e5da01
feat: Add support for OAuth client credentials grant
2026-11-05 10:35:17 -05:00
Erwan Leboucher
8c720e5427
fix: Store to-device messages before syncs can read their count
2026-11-05 15:17:36 +00:00
Erwan Leboucher
fb389cb6f9
fix: Record device list changes before syncs can read their count
...
Signed-off-by: Erwan Leboucher <erwanleboucher@gmail.com >
2026-11-05 15:17:23 +00:00
Bardi Harborow
db86d42801
fix: Compare push user_is_target against the notified user
...
`user_is_target` was set by comparing a member event's `state_key` to its
sender, rather than to the user receiving the notification.
2026-11-05 15:27:50 +11:00
Bardi Harborow
223e889459
fix: Return 405 when setting m.fully_read via account data
...
The spec requires servers to reject client writes to server-managed
account data types with 405 M_BAD_JSON. We returned 400.
2026-11-04 19:32:17 +00:00
Bardi Harborow
219e8d2e1e
fix: Return M_UNKNOWN_DEVICE for unknown masqueraded appservice devices
...
When an appservice masqueraded as a device_id that does not exist for
the user, we returned 403 M_FORBIDDEN. The spec requires 400
M_UNKNOWN_DEVICE.
2026-11-04 19:32:17 +00:00
Bardi Harborow
4d0ccd998f
fix: Return M_PROFILE_TOO_LARGE for oversize profiles
...
Profile updates that would push the profile over 64 KiB were rejected
with an untyped error, producing a 500. The spec requires 400
M_PROFILE_TOO_LARGE, which ruma now provides.
2026-11-04 19:32:17 +00:00
Bardi Harborow
42609eab02
fix: Return M_KEY_TOO_LARGE for oversize profile keys
...
Profile keys longer than 255 bytes were rejected with 413 M_TOO_LARGE.
The spec requires 400 M_KEY_TOO_LARGE, which ruma now provides.
2026-11-04 19:32:17 +00:00
Bardi Harborow
dad9e1426c
fix: Advertise m.forget_forced_upon_leave capability according to config
2026-11-04 18:48:40 +00:00
Ginger
34c5787af0
fix: Fix join rule evaluation for servers again
...
Reviewed-by: timedout <git@nexy7574.co.uk >
Reviewed-by: Jade Ellis <jade@ellis.link >
2026-11-04 12:24:51 -05:00
Ginger
c77bbf6d18
fix: Fix busted url_preview feature gate
2026-11-03 20:41:11 -05:00
Erwan Leboucher
0727d564a2
fix: Avoid v12 room ID collisions when creating rooms concurrently
...
Fixes #2424 . v12 rooms created by the same user in the same millisecond got the same room ID, so they ended up as one room.
Reviewed-on: https://forgejo.ellis.link/continuwuation/continuwuity/pulls/2433
Reviewed-by: nex <me@nexy7574.co.uk >
Reviewed-by: Jade Ellis <jade@ellis.link >
2026-11-03 09:52:43 +00:00
timedout
f3d8e8d688
chore: Reformat
2026-11-02 00:50:41 +00:00
Ginger
dc03f2136a
fix: Validate OAuth HTTPS redirect URIs are subdomains of the client domain
2026-11-02 00:44:02 +00:00
Erwan Leboucher
abf8f878bc
fix: gap fill outliers that are missing prev events
...
Signed-off-by: Erwan Leboucher <erwanleboucher@gmail.com >
2026-10-31 09:02:27 +01:00
timedout
068ba88378
style: Fix formatting
2026-10-30 00:54:52 +00:00
timedout
60de549cf9
perf: Write empty rows when replacing extremities
2026-10-30 00:51:52 +00:00
timedout
363097b31b
fix: Centralise extremity progression
2026-10-30 00:51:52 +00:00
timedout
d128207d71
fix: Make the extremity check consistency migration faster
2026-10-30 00:51:51 +00:00
timedout
c6832372c2
feat: Add command to enumerate extremities
2026-10-30 00:51:51 +00:00
timedout
14f5f62182
fix: Only consider accepted PDUs in extremity consistency check
2026-10-30 00:51:51 +00:00
timedout
5208efcb5e
fix: Make migration handle excessive extremities too
2026-10-30 00:51:51 +00:00
timedout
224cf04936
fix: Never allow unknown/backfilled PDUs to become extremities
2026-10-30 00:51:51 +00:00
timedout
ae26d5c239
fix: Add startup migration to re-process existing extremities on-disk
2026-10-30 00:51:51 +00:00
timedout
30f62eef25
style: reformat
2026-10-30 00:51:51 +00:00
timedout
b04ffd7e6a
fix: Correctly remove extremities after creating a new event
2026-10-30 00:51:51 +00:00
timedout
bc15b7b668
fix: Remove dead references to mark_event_referenced
2026-10-30 00:51:50 +00:00
timedout
3eb2788eb9
feat: Only track appended extremities
2026-10-30 00:51:47 +00:00
timedout
b580379a2d
fix: Only check that room_id is not present on create events in PDU check 1
2026-10-30 00:43:55 +00:00
timedout
3c19206534
fix: Perform PDU checks 1, 2, and 3 before yielding a gapfilled PDU
...
Fixes #2386
2026-10-30 00:43:55 +00:00
Renovate Bot
7358712fb9
chore(deps): update rust crate tower-sec-fetch to 0.2.0
2026-10-29 13:40:37 +00:00
Julian Anderson
4c62b96821
chore: Bump sentry and update config to required builder pattern
2026-10-29 09:05:13 +00:00
Erwan Leboucher
c5e976f4bc
fix: Store event_id on state events received from send_knock
2026-10-28 23:22:52 +00:00
Jade Ellis
6fae2475b8
style: Format
2026-10-28 21:56:38 +00:00
Jade Ellis
addd1875d3
refactor(uiaa): Defer uiaa_sessions lock until session insert
...
Do not hold the uiaa_sessions lock across device lookup in OAuth or
during initial validation. Lock the map only when inserting the newly
created session.
2026-10-28 21:48:55 +00:00
Jade Ellis
24b1e2ebe8
refactor(service): Use SyncRwLock and SyncMutex for in-memory services
...
Convert in-memory data structures in appservice, rooms::typing, and sync
wakers to use SyncRwLock and SyncMutex. Drop appservice locks before
making outbound network requests in room alias queries and federation
invites.
2026-10-28 21:48:22 +00:00
Jade Ellis
5297e01357
refactor(metrics): Replace std::sync::Mutex with SyncMutex
...
Replace std::sync::Mutex with parking_lot::Mutex (SyncMutex) in
core::metrics::runtime_intervals. Note that info::introspection retains
std::sync::Mutex because parking_lot panics in dtor after thread locals
are destroyed.
2026-10-28 21:47:41 +00:00
Jade Ellis
18f5f4fbfa
refactor(threepid): Use SyncMutex and decouple guard from ValidSession
...
Change threepid sessions and send_attempts to SyncMutex and avoid
holding the sessions mutex across callers of get_valid_session.
2026-10-28 21:47:09 +00:00
Jade Ellis
98ae1fcaa1
refactor(oauth): Avoid holding pending grants lock across async calls
...
Convert pending grants and tickets to SyncMutex and scope locks tightly
before awaiting external calls in grant_info and redeem_token.
2026-10-28 21:46:29 +00:00
Jade Ellis
ad0181a3d8
refactor(service): Scope services.manager lock during lifecycle calls
...
Avoid holding the services.manager lock across manager.start(),
manager.stop(), and manager.poll() async invocations.
2026-10-28 21:45:49 +00:00
Jade Ellis
938b3d2825
refactor(admin): Release handle lock before command execution
...
Change admin service handle to SyncRwLock and copy the handler
function pointer before awaiting execution to prevent deadlock.
2026-10-28 21:45:18 +00:00
Jade Ellis
35d606eeb7
fix(main): Prevent re-entrant read lock deadlock during reload
...
Reuse the already-held main_lock when checking module staleness
in run() instead of re-acquiring server.mods.read().
2026-10-28 21:44:35 +00:00
Jade Ellis
9c4f84940e
fix(service): Prevent remote join lock inversion
...
Do not hold state.mutex across join_remote_room to prevent an ABBA
deadlock against mutex_federation.
2026-10-28 21:44:02 +00:00
Ginger
81c62c4a35
fix: Silence tower_sessions warning
2026-10-25 13:47:36 -04:00
Ginger
3295427af6
fix: Don't check room summary access rules on remote rooms
2026-10-25 14:00:28 +00:00
Ginger
ef1378509e
fix: Remove deactivate link from account page
2026-10-24 15:14:01 -04:00
timedout
9c27441acf
style: Reformat with nightly
2026-10-23 23:37:51 +02:00
Erwan Leboucher
c5b70958cf
fix: preserve event order during state resolution
...
Signed-off-by: Erwan Leboucher <erwanleboucher@gmail.com >
2026-10-23 23:19:45 +02:00
Ginger
783a68cc90
fix: Add link to the account management panel to the first run web UI
2026-10-21 18:27:42 -04:00
timedout
b0a5caf576
perf: Fetch auth chain events in parallel
2026-10-16 18:32:38 +01:00