Commit Graph
950 Commits
Author SHA1 Message Date
Henry-Hiles be5ff91eb3 chore: break out of loop when level is empty 2026-11-08 19:34:25 +00:00
Henry-Hiles 5ff6d71e7c chore: Make walk use counts only 2026-11-08 19:34:25 +00:00
Henry-Hiles 2e43797d95 chore: Make Clippy happy 2026-11-08 19:34:25 +00:00
Henry-Hiles 15b4e8e2f9 fix: Correct relations pagination and recursion
Ended up rewriting a fair bit, but should work better.
2026-11-08 19:34:25 +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
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 14f5f62182 fix: Only consider accepted PDUs in extremity consistency check 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 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 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 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 fe0ab62124 refactor: Unify retry backoff helpers 2026-10-12 11:14:01 +01:00
timedout b76dc816a4 fix: Handle policy server errors better 2026-10-08 20:26:30 +01:00
Jade Ellis 5d55b413a2 feat: Send private read receipts to appservices 2026-10-06 23:56:30 +01:00
Jade Ellis 7ce47be4de feat: Send read receipts and typing indicators to appservices 2026-10-06 23:56:28 +01:00
timedout 20fe43d200 fix: Don't insert top-level redacts in v11+ rooms 2026-10-06 02:34:10 +00:00
timedout 0224a558b3 fix: Stop embedding prev_content during event creation 2026-10-06 02:34:10 +00:00
Jade Ellis 1e34bd2ed9 style: Run formatting 2026-10-05 00:27:12 +01:00
timedout c94fa39fd1 fix: Don't panic when a join doesn't include a create event 2026-10-03 15:19:10 +00:00
timedout 550dd0160a fix: SEC8
Reviewed-By: Ginger <ginger@gingershaped.computer>
Reviewed-By: Jade <jade@ellis.link>
Reviewed-By: Jacob Taylor <jacob@explodie.org>
2026-09-28 02:00:37 +01:00
timedout 05d6922351 style: Take an optional context instead of deconstructed parameters 2026-09-27 17:33:26 +01:00
timedout f0a0596d12 fix: Remove undocumented prev_sender unsigned field 2026-09-27 17:32:47 +01:00
timedout fbedf994db fix: Don't unnecessarily embed prev_content in populate_unsigned 2026-09-27 17:32:47 +01:00
timedout 4812837d13 fix: Don't allow set_unsigned to panic
While an error in this function is probably bad, detonating a metric tonne of TNT on the call tree is probably worse
2026-09-27 17:32:47 +01:00
timedout 05ee24df7d fix: Move helper to helpers.rs, rename field, don't recurse unsigned in redacted_because
Renamed `redacted_because_id` to `org.continuwuity.redacted_by` for proper namespacing; `get_unsigned_context` now lives in helpers.rs instead of `mod.rs`. The helper function also now explicitly wipes `unsigned` for `redacted_because` to avoid leaks (see comment).
2026-09-27 17:32:46 +01:00
timedout 89eecd2bf7 fix: Record redacted_because_id instead of redacted_because 2026-09-27 17:32:46 +01:00
timedout b2072baf59 perf: Strip unsigned over federation and generate it on the fly locally 2026-09-27 17:32:46 +01:00
Ginger 4ea4e15edb chore: Reformat with latest nightly 2026-09-24 09:53:59 -04:00
Erwan Leboucher cee69b4c8d fix: Walk auth events once instead of re-queueing parents 2026-09-22 21:19:25 +02:00
timedout 7924e96589 chore: add todo to fix 2026-09-22 00:16:27 +00:00
timedout 6299df3552 style: Document fetch_and_handle_auth_events control flow 2026-09-22 00:16:27 +00:00
Erwan Leboucher 20d146bd5e fix: Throttle client-triggered remote event fetches 2026-09-22 00:16:27 +00:00