Commit Graph
713 Commits
Author SHA1 Message Date
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
Allinen d52d5003b1 refactor: cleaned up code 2026-09-16 17:57:11 +00:00
Allinen bdaa78340e style: fix typo 2026-09-16 17:57:11 +00:00
Allinen 89e07ae239 feat(config): connection_uri_file added to config 2026-09-16 17:57:11 +00: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
Lake 439f266d8f chore: resolve conflicts with main 2026-09-12 15:07:35 -05:00
Henry-Hiles b221a49b77 chore: upgrade argon2 2026-09-11 16:13:03 -04: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
stratself 5fbd4914ca fix: Disable unauthenticated media by default 2026-09-11 14:21:08 +00:00
Erwan Leboucher fe38efbb63 feat(oidc): Show the provider's name and icon on the login page 2026-09-10 14:08:03 +00: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 b89c3e9313 fix: Actually add the openreg feature to the crates 2026-08-26 18:21:22 +01:00
timedout dd5b9c6c46 feat: Disable challengeless registration without signing a waiver 2026-08-26 18:01:24 +01:00
Renovate BotandGinger 746a2686e3 chore(deps): Update ruma digest to 83d80c8
Co-authored-by: Ginger <ginger@gingershaped.computer>
2026-08-25 13:53:39 +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 df95abf5ab fix(federation): Queue PDUs during remote joins 2026-08-22 18:29:54 +00:00
Jacob Taylor 43f117de46 fix: Update sender_retry_backoff_limit to match docs and actually be 1 week 2026-08-20 07:41:06 -07:00
timedout f1a77e0404 fix: Address review comments 2026-08-20 00:57:11 +00:00
timedout 9af60bcf62 feat: Lower default backoff base for a gentler backoff curve 2026-08-20 00:57:11 +00:00
timedout 6104c68768 style: Centralise decision for stale marker 2026-08-20 00:57:11 +00:00
timedout 2d713c1631 feat: Use an explicit backoff base value 2026-08-20 00:57:11 +00:00
timedout 79c9f7da30 chore: Tidy up backoff helper code 2026-08-20 00:57:11 +00:00
Erwan Leboucher 1ecfb21aea fix(spaces): Correct hierarchy traversal 2026-08-19 03:33:41 +00:00
Erwan Leboucher 39b08f73f7 fix(state-res): Derive sender power from the create event when sorting 2026-08-18 20:22:38 +00:00
renegadespork 02bee2e898 docs: Reference latest version of matrix spec 2026-08-06 15:34:46 -07:00
renegadespork 1c23cf3a93 docs: Fix servernameevent_data_cache_capacity default description. 2026-08-06 14:18:32 +00:00
renegadespork 97d37a9bb3 docs: Corrected description of auth chain logic. 2026-08-06 14:18:32 +00:00
renegadespork 4ff7a88df0 docs: Add missing documentation to config parameters. 2026-08-06 14:18:32 +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
Jacob Taylor f1755dd36f fix: Fix link preview unfurl source 2026-08-05 18:02:14 +00:00
alexia 6647d405f4 chore(ci): fix formatting so prek/CI doesn't complain 2026-08-04 19:03:13 +00:00
alexia c3bd6d697a docs: fix default user-agent example being outdated
is it fine that this is wrapped? :p
2026-08-04 19:03:13 +00:00
theS1LV3R e6ae6b83e6 chore: Fix errors for resolvematrix update 2026-08-04 16:03:03 +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
Omar Pakker b9c6d5956f feat: Introduce accepted_ip_sources as a multiple options variant of request_ip_source
The current `request_ip_source` setting only allows a single option.
While it does fall back to the peer IP if the header is missing as of !2003,
which likely covers a lot of regular use, only allowing a single option limits
the deployment options available to more advanced deployments.
Setups where internal and external traffic use different reverse proxies will
end up with the wrong IP and the implicitness of the fallback allows for
situations where the used IP is not the IP expected.

By introducing a setting that allows multiple options to be set,
this limitation is resolved and it becomes possible to have client IP resolution
behind different reverse proxies and also making it possible to decide if and/or
what the fallback should be.

If set, options are evaluated in order. If all fail, the request fails.
2026-07-21 14:35:55 +00:00
Lake bb8703e0f0 build: shear unused dependencies 2026-07-17 17:02:20 -05:00
Ginger 0ac0bd93ae fix: Default deserialize for compatibility_mode 2026-07-12 16:28:27 +01:00