Commit Graph
94 Commits
Author SHA1 Message Date
timedout 7a6bea70b2 fix: SEC34
Reviewed-By: Jade Ellis <jade@ellis.link>
Reviewed-By: Ginger <ginger@gingershaped.computer>
Reviewed-By: Jacob Taylor <jacob@explodie.org>
2026-11-10 20:41:19 +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
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 e6ca06a501 feat: Add support for MSC4560 2026-10-15 22:56:04 -04:00
timedout 1ffb1d637e fix: Don't invert redaction target helper 2026-10-06 02:34:10 +00:00
Ginger 823ee9f6e1 feat: Add support for MSC4484 2026-10-05 14:22:53 +00:00
timedout 43ee11bb00 feat: Support MSC4494 2026-10-02 18:10:17 +01:00
timedout 05d6922351 style: Take an optional context instead of deconstructed parameters 2026-09-27 17:33:26 +01:00
timedout fbedf994db fix: Don't unnecessarily embed prev_content in populate_unsigned 2026-09-27 17:32:47 +01:00
timedout 1de16fed9e style: English is a difficult language 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 90793eaaf4 fix: Actually set unsigned in PDU after set_unsigned 2026-09-27 17:32:47 +01:00
timedout 744928b206 style: Update docstring for Pdu.set_unsigned 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
timedout d3ed175264 fix(stateres): Inject dummy create event when none is available
I'm not sure how this doesn't cause more panics. When running an auth check on the create event during iterative auth checks, there's obviously no create event in the base state nor auth map, so the call to fetch_state() will return nothing and thus panic.
This just inserts the incoming event if it's a create event and there isn't an existing one in the auth state. It's not used for the create event checks anyway so this has no effect aside from plugging the panic.
2026-09-22 02:04:39 +01:00
Erwan Leboucher ed1e634579 feat(push): Add MSC4174 web push 2026-09-21 23:35:05 +00:00
timedout 8891adfba3 fix(stateres): Enforce state ownership checks against creators too
Previously being a room creator short-circuited the `can_send_event`
check, which allowed creators to send state events "owned" (state key
starting with @ but not being the sender's user ID), in effect skipping
auth check 9 in v12 rooms. This removes that short circuit condition,
since `Infinite < Int` always returns false anyway, allowing the state
key check block to execute.

Fixes #2266
2026-09-18 18:57:57 +01:00
timedout 77d47f268e fix(stateres): Don't panic when the create event goes missing
I have no idea how this can even happen and frankly I'm scared to look
however that's a problem for another time.
Panicking causes entire transactions to explode, this just makes one
event explode.
2026-09-14 18:14:22 +01: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 0060a4aac4 feat(rtc): Advertise MSC4143 in /versions 2026-09-08 13:30:35 -04:00
Ginger 9fbabe2210 chore: Reformat with latest nightly 2026-09-01 12:55:05 -04:00
31a05b9c 5cf0a5b376 fix: inverted log statement 2026-08-27 13:39:41 +00:00
timedout 8a7324216e fix: Invert inverted power level comparisons 2026-08-22 22:08:10 +01:00
timedout 4d487afe26 fix: SEC30
Reviewed-By: Ginger <ginger@gingershaped.computer>
Reviewed-By: Jade <jade@ellis.link>
Reviewed-By: Jacob Taylor <jacob@explodie.org>
2026-08-22 20:48:37 +01:00
Erwan Leboucher 39b08f73f7 fix(state-res): Derive sender power from the create event when sorting 2026-08-18 20:22:38 +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
Ginger 4e001abe92 feat: Add stable mutual rooms endpoint 2026-07-27 19:28:15 +00:00
Renovate BotandGinger 6619e6a20a chore(deps): Update ruma digest to 89cce34
Co-Authored-By: Ginger <ginger@gingershaped.computer>
2026-07-07 11:25:13 -04:00
ginger e9e0db8bab fix: Stop advertising support for the stable MSC2666 endpoint 2026-07-07 14:29:14 +00:00
Jade Ellis eee4ef50d2 chore: merge 1818 nex/perf/get-missing-events 2026-07-01 18:45:08 +00:00
timedout 5fa3d5f6c8 fix: Don't create fake objects when defaulting a partial PDU build 2026-07-01 19:15:35 +01:00
Ginger 12491dcc26 feat: Mark spec version 1.17 as supported 2026-06-29 16:46:39 +01:00
timedout e5dc5bedfc fix: MSC2666 is stable but not yet in a release 2026-06-29 13:56:22 +00:00
timedout 72f4c3cc53 chore: Remove unstable features that are now stable or abandoned 2026-06-29 13:56:22 +00:00
timedout 6a8a114197 feat: Update capabilities and advertise spec version v1.18 2026-06-29 13:56:22 +00:00
Ginger 74788dcb19 feat: Mark spec version 1.15 as supported 2026-06-29 09:35:50 -04:00
timedout d719fe2048 chore: Merge origin/main into nex/perf/get-missing-events 2026-06-28 01:29:23 +01:00
timedout 478560daae style: Remove now dead code 2026-06-27 18:36:44 +01:00
timedout f1d3db0ea3 style: Eliminate implement 2026-06-27 18:36:44 +01:00
timedout 63a1a3d9ab feat: Advertise stable prefix in unstable features 2026-06-24 20:05:34 +01:00
timedout c0666a1793 fix: Default PDU content to empty object instead of literal NULL 2026-06-20 17:08:00 +01:00
Ginger 523016a42b feat: Add support for state_after 2026-06-16 23:41:51 -04:00
Ginger a3e57dbab4 fix: Add unstable feature flag 2026-05-28 20:14:22 +00:00
timedout 10dd8bebfe fix: Don't advertise stable MSC2666
Turns out ruma doesn't have the stable definition yet, will need a version bump.

Reverts 088fa3e725
2026-05-11 23:27:00 +01:00
Henry-Hiles 088fa3e725 fix: Use stable ID for Mutual Rooms support 2026-05-10 03:48:25 +00:00