Ginger
fe8314bb4d
chore: Fix typo
2026-11-05 10:35:18 -05:00
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
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
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
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
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
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
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
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
3295427af6
fix: Don't check room summary access rules on remote rooms
2026-10-25 14:00:28 +00:00
timedout
9c27441acf
style: Reformat with nightly
2026-10-23 23:37:51 +02:00
Ginger
98c694eaa3
chore: Add some comments
2026-10-15 22:56:04 -04:00
Ginger
e6ca06a501
feat: Add support for MSC4560
2026-10-15 22:56:04 -04:00
Ginger
4f21fa2bda
refactor: Clean up join rule evaluation logic
2026-10-15 22:55:36 -04:00
timedout
090203c2ea
style: Remove import
2026-10-12 22:28:50 +01:00
timedout
ff63d9f203
fix: Don't unconditionally mark gapfilled events as referenced
...
This is pointless and fallible
2026-10-12 22:28:50 +01:00
timedout
511e791b9f
fix: Mark state and auth chain events as referenced after joining a room
...
It's generally safe to assume that all of these events have been referenced by the time we get to joining.
2026-10-12 22:28:50 +01:00
timedout
bc70c4eaff
fix: Mark PDUs as referenced during gapfill immediately
2026-10-12 22:28:50 +01:00
timedout
bbbc9bc7d8
fix: Never add unknown events to the extremity tracker
2026-10-12 22:28:46 +01:00
Erwan Leboucher
24e289113b
fix(pusher): Only strip notification_push_path as a URL suffix
2026-10-12 11:14:02 +01:00
Erwan Leboucher
805d4d9416
fix(pusher): Enforce ip_range_denylist on resolved pusher hosts
2026-10-12 11:14:02 +01:00
Erwan Leboucher
fe0ab62124
refactor: Unify retry backoff helpers
2026-10-12 11:14:01 +01:00
theS1LV3R
39bb4fefa1
feat: Add support for custom DNS servers
...
Adds an option `dns_servers` which takes IPs for custom servers.
Does not allow for custom DNS ports as this is largely not supported in
tokio and hickory, and would otherwise be a pain to implement properly.
Fixes : #1866
See-Also: https://matrix.to/#/!ksTlboXVgcyWjv5GrlEeKyQuJ8ZCprnwQx2b6-BQ44Q/%24qrBGOzosK4BdRbF5jhf5ehrxQUTaIr-U-UpqTmPhkPY?via=wolfgirl.pet&via=matrix.org
2026-10-12 10:14:53 +01:00
Erwan Leboucher
698edda6bd
fix(metrics): Read database memory gauges without a cache
2026-10-12 10:03:15 +01:00
Erwan Leboucher
ea3ec965ed
fix(metrics): Address review feedback
2026-10-12 10:03:15 +01:00