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
Erwan Leboucher
03f60c7002
fix: Don't re-fetch auth events that can never be resolved
2026-09-22 00:16:27 +00:00
timedout
1a8e5ccc09
fix: Gracefully handle extremityless rooms when gapfilling
...
See also: #2259
2026-09-17 00:06:17 +01:00
Jade
ffcf152016
revert d330930bb5
...
revert feat: Add timestamp to event endpoint
This implementation unfortunately resulted in resource exhaustion when run on some rooms.
2026-09-16 13:05:45 +00:00
Erwan Leboucher
ac8b17db1b
fix: Only count non-outlier prev_events in get_missing_events assertion
2026-09-13 18:50:38 +00:00
Jade Ellis
71e101a4dc
style: Run formatting
2026-09-11 15:54:42 +01:00
Jade Ellis
0f97eea31f
style: Run formatting
2026-09-11 15:39:54 +01:00
Erwan Leboucher
d330930bb5
feat: Add timestamp to event endpoint
2026-09-11 14:22:11 +00:00
Ginger
9fbabe2210
chore: Reformat with latest nightly
2026-09-01 12:55:05 -04:00
timedout
03d669594e
fix: Re-invert prev events filter in fetch_prev_events
2026-09-01 16:24:18 +00:00
timedout
c05ead912e
fix: Don't increment backoff if we're still in backoff
2026-09-01 16:24:18 +00:00
timedout
32c652d67d
fix: Actually check backoff before attempting to fetch prevs
2026-09-01 16:24:18 +00:00
timedout
ebf48d1b08
fix: Rebase properly
2026-09-01 16:24:18 +00:00
timedout
37842d482c
style: Remove unused import and reformat
2026-09-01 16:24:18 +00:00
timedout
e58601d8a7
feat: Plumb event backoff into auth and prev fetchers
2026-09-01 16:24:18 +00:00
timedout
dc302799a0
feat: Add pdu pull backoff
...
# Conflicts:
# src/service/rooms/event_handler/mod.rs
2026-09-01 16:24:18 +00:00