timedout
1cc6fb1130
chore: Add newsfrag and re-run cargo fmt
2026-08-22 20:14:43 +01:00
timedout
681daed5e8
fix: Mark prev events as referenced as we come across them
2026-08-22 20:14:43 +01:00
timedout
8d95163da4
perf: Remove unnecessary retain
...
The remove() at the start of the function already does this
2026-08-22 20:14:42 +01:00
timedout
0608f674a3
fix: Properly track orphaned extremities
2026-08-22 20:14:42 +01:00
Erwan Leboucher
df95abf5ab
fix(federation): Queue PDUs during remote joins
2026-08-22 18:29:54 +00:00
Erwan Leboucher
1ecfb21aea
fix(spaces): Correct hierarchy traversal
2026-08-19 03:33:41 +00:00
Erwan Leboucher
3efb66c76c
fix: Do not make late-arriving events forward extremities
2026-08-18 16:55:47 +00:00
timedout
7b3e3a26bb
fix: Don't panic when receiving PDUs with illegal auth events
...
Apparently some servers do this??
2026-08-18 17:50:18 +01:00
Erwan Leboucher
1d655fda53
fix(timeline): Keep extremities a local event did not reference
2026-08-18 15:38:43 +00:00
Erwan Leboucher
918070c512
fix(spaces): Expose restricted children over federation
2026-08-14 12:51:09 +02:00
Erwan Leboucher
7472faa096
fix(sync): Remove sync wake before membership commit point
2026-08-11 14:10:23 +00:00
Erwan Leboucher
1b6bc83b9f
fix(sync): Preserve batched read receipts
2026-08-06 14:01:52 +00:00
timedout
21ea9d3ea7
feat: Validate event references in prev and auth events
...
Also threw in some lovely unit tests, as a treat.
2026-08-05 21:11:05 +00:00
timedout
8f0c7a99d7
fix: Don't accidentally continue with fallback room version
...
Fixes a potential issue where continuwuity correctly defaults to room v1
when encountering an unknown room version, but then fails to *stop*
processing when it encounters the room version it doesn't actually
understand.
2026-08-05 21:11:05 +00:00
Erwan Leboucher
43197f695c
feat(sync): Add MSC4354 sticky events
2026-08-02 17:28:00 +00:00
Erwan Leboucher
27a559a751
fix(sync): Wake sync loops on typing updates
2026-08-02 18:05:27 +02:00
timedout
b0c1381f03
fix: Re-introduce residency check when handling incoming transactions
2026-07-30 18:02:34 +00:00
timedout
14ff018b9f
fix: Don't soft-fail valid redactions
2026-07-30 18:33:47 +01:00
Erwan Leboucher
e161b5f01e
perf: Fetch joined member count once per event when notifying
2026-07-26 14:40:34 +00:00
Erwan Leboucher
08c22b5fcc
fix(sync): Wake local target user after membership changes are committed
2026-07-26 14:12:37 +00:00
new-years-eve
7f8c2aedc8
refactor: Use a shared helper function for submitting state events at room creation
...
On room creation, A list of initial state events may be provided that
should be submitted to the room after creation. These events
should be treated as any other state event and submitted to
the same checks.
With this change, state events submitted on room creation will be
submitted through the same helper as those through the usual endpoint.
The submission helper is moved to the timeline service to make it
available everywhere. This will be useful for implementing MSC4140
(issue #903 ).
2026-07-26 15:06:38 +01:00
reaster
fb7a378d63
deduplicate rooms in hierarchy traversal
2026-07-25 13:55:30 +00:00
Erwan Leboucher
4727f07e26
fix: Correct roomuserid_lastnotificationread table alias
...
roomuserid_lastnotificationread was mapped to userroomid_highlightcount
instead of its own table, so last_notification_read() read the highlight
count and reset_notification_counts clobbered the highlight table when
setting a read marker. Add the missing table definition and fix the alias.
2026-07-24 01:13:42 +00:00
Erwan Leboucher
7ecd2aa5e2
fix(pdu): Exempt m.room.create from auth_events check
2026-07-14 19:27:46 +02:00
timedout
b6e5a106ff
fix: Don't unhelpfully panic when encountering an unrecognised room version
2026-07-12 02:11:50 +00:00
timedout
fbf81fcdeb
fix: Opportunistically re-use room format rules when parsing incoming PDUs
2026-07-12 02:11:50 +00:00
timedout
87030a3a22
fix: Ensure PDU returned by create_hash_and_sign_event is itself signed
2026-07-12 02:11:50 +00:00
timedout
4f509fa113
fix: Convert room summary to federation format when sending invites
2026-07-12 02:11:50 +00:00
timedout
7225bf25ae
feat: Persist create events received during the invite process
2026-07-12 02:11:50 +00:00
timedout
995726923b
feat: Enforce new federation invite checks
...
These were introduced in spec v1.16 however we didn't implement them until now for compatibility.
2026-07-12 02:11:50 +00:00
timedout
13bcb5af13
style: Accept event id reference in pdu_format_check_1
2026-07-11 17:27:42 +01:00
timedout
c34d1fe76e
feat: Move PDU validation out of parsing and into check 1
2026-07-11 17:27:42 +01:00
timedout
838764b0ac
style: Remove needless async def for parse_incoming_pdu_with_known_room
2026-07-11 17:27:42 +01:00
timedout
b51a34c1c1
fix: Address review feedback
2026-07-11 17:27:42 +01:00
timedout
2fbb779d12
fix: Invert boolean returned by policy server check
2026-07-11 17:27:42 +01:00
timedout
e16a62e1ed
feat: Add more debug logging to PDU handle funcs
...
Tracking down weird soft-fails
2026-07-11 17:27:42 +01:00
timedout
64a08262ca
perf: Change signature of build_local_dag to remove refmap hacks
2026-07-11 17:27:42 +01:00
timedout
70a3905761
style: Remove duplicate pdu check 1 call in handle_incoming_pdu
2026-07-11 17:27:42 +01:00
timedout
cf9179e8f6
fix: Perform checks 1-3 on auth chain PDUs
2026-07-11 17:27:42 +01:00
timedout
6b899b7f80
refactor: Move PDU checks 1, 2, and 3 into pdu_checks.rs
2026-07-11 17:27:42 +01:00
timedout
ad57fa06fc
style: Unify and document state_before_incoming
2026-07-11 17:27:42 +01:00
timedout
ec9efbada5
fix: Don't reject auth events when they're innocent in auth chain response
2026-07-11 17:27:42 +01:00
timedout
318d2b205a
style: Move PDU check functions into their own module
2026-07-11 17:27:42 +01:00
timedout
99a5f2a9fb
refactor: Reduce complexity of incoming PDU handling
...
* Ignores any events pushed without a room ID
* Removes needless clones for PDU size checking
* Removes incorrect ACL check in incoming handler
* Fast-path handling already handled outlier events
* Remove redundant same-room checks, replace with useful ones
* Combine event rejection and persistence in a single function
* Additional safety assertions in upgrade task
* Split upgrade task into multiple subroutines for reduced cognitive complexity
* Only mutate current state and forward extremities in tandem
* Improve code documentation to better explain the logic flow
2026-07-11 17:27:42 +01:00
timedout
b915692ae1
fix: Remove broken federated invite revoke handling
...
It turns out it never worked in the first place :D
2026-07-10 16:32:38 +01:00
Ginger
2fabf18451
style: Fix comment
2026-07-09 17:36:56 -04:00
Ginger
63a26141f8
fix: Make depth cap a bit more thorough
2026-07-09 17:33:13 -04:00
Ginger
cc1f667c2b
fix: Cap max_depth to 50 in hierarchy endpoint
2026-07-09 17:22:36 -04:00
timedout
f9b532162f
fix: SEC20
...
Reviewed-By: Ginger <ginger@gingershaped.computer >
2026-07-09 17:58:59 +01:00
Ginger
3467dffd94
fix: Adjust sync watcher logic to be more explicit
2026-07-05 00:42:44 +00:00