Commit Graph
4836 Commits
Author SHA1 Message Date
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
timedout 17ddd3966d fix: Apply proper limits to get_missing_events 2026-10-16 18:19:22 +01:00
timedout fe02b03d15 style: Stop warning when encountering an unknown event in get_missing_events
This is actually an expected condition, but it's retained as a debug warning as it may be relevant in debugging
2026-10-16 18:11:55 +01: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
Jade Ellis 08301fba2a fix: Correctly rebuild the build metadata crate when git changes 2026-10-15 11:31:03 +01: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