Commit Graph
4892 Commits
Author SHA1 Message Date
Erwan Leboucher 7afe5885e9 feat(media): Remove legacy unauthenticated media support 2026-11-13 21:24:34 +00:00
Erwan Leboucher 77e8a6b41b fix(membership): Return the local join error when there are no remote servers to try 2026-11-13 16:57:29 +01:00
Erwan Leboucher 4ebcf299e2 fix: Refetch OIDC signing keys on unknown key id 2026-11-13 06:22:35 +00:00
Erwan Leboucher c72156cb04 fix: Keep one account data entry per type when updates race
Signed-off-by: Erwan Leboucher <erwanleboucher@gmail.com>
2026-11-13 06:21:54 +00:00
ginger b5594c3061 fix: I am god's most intelligent catgirl 2026-11-13 03:35:10 +00:00
ginger ae0a2d1797 Return 404 instead of 403 for summaries of missing rooms 2026-11-13 03:32:50 +00:00
theS1LV3R 5d0dc8b137 chore: Update variable name, improve doc comment 2026-11-12 14:26:17 +00:00
theS1LV3R 4d271a5621 chore: stupid fucking rustrover 2026-11-12 14:26:17 +00:00
theS1LV3R 23a51bcf96 fix: Set initial backoff time to 90 days immediately
As per the MSC:
> This MSC recommends homeservers should wait a minimum of 24 hours
> and should wait no longer than 90 days, balancing the need to respect
> the server's intent to be offline whilst allowing for potential future
> changes in server operation or domain ownership.

And as per nex:
> Technically the MSC said it should be up to 90 days, but they'll never
> make me parse cache-control!
2026-11-12 14:26:17 +00:00
theS1LV3R 4f63edac33 feat: Support marking servers as unhealthy+stale during resolution
For when the server resolution process returns an error or Gone
2026-11-12 14:26:17 +00:00
Erwan Leboucher 8603ae21cc fix: Address redacted content review nitpicks 2026-11-11 21:52:50 +00:00
Erwan Leboucher f154ecb542 feat: Expire retained unredacted content and address review 2026-11-11 21:52:50 +00:00
Erwan Leboucher 98fe280de4 feat: Allow room moderators to view redacted event content (MSC2815) 2026-11-11 21:52:50 +00:00
Erwan Leboucher 2c605151eb fix: Don't apply get_missing_events limit to earliest_events 2026-11-11 21:51:52 +00:00
timedout 4bd09a6d88 fix: Find some zen
Non-successful media responses get the `application/json` treatment, and the content-type is lowercased for case-insensitive matching, per RFC something or other I forgot already
2026-11-11 21:42:37 +00:00
timedout cb37a9cf0b feat: Assert content type on federation responses 2026-11-11 21:42:37 +00:00
Erwan Leboucher aefededfc8 test: Skip system CA roots in state_at_incoming test services 2026-11-11 21:31:39 +00:00
Erwan Leboucher 9be45212f1 fix: Don't require resolv.conf when dns_servers is configured 2026-11-11 21:31:39 +00:00
Henry-Hiles aef031c9d7 fix(sync): Give each sliding sync response its own pos 2026-11-11 14:28:43 +00:00
Henry-Hiles 7b927196a2 chore: Use up-to-date Ruma
Some changes to sticky events were needed for this also.
2026-11-11 14:28:43 +00:00
Erwan Leboucher b570420b9f fix: preserve predecessors sharing a state-before ID
Signed-off-by: Erwan Leboucher <erwanleboucher@gmail.com>
2026-11-10 23:56:33 +01:00
timedout 0a52421b65 fix: Re-introduce edge reference tracking 2026-11-10 21:18:13 +00:00
Jade Ellis 79b49134f4 fix: Correct conflict in patch 2026-11-10 21:01:48 +00:00
timedout 4a721dad07 fix: SEC15
Reviewed-By: Jade Ellis <jade@ellis.link>
Reviewed-By: Ginger <ginger@gingershaped.computer>
2026-11-10 20:42:04 +00:00
timedout 3abb32dd75 fix: SEC31
Reviewed-By: Jade Ellis <jade@ellis.link>
Reviewed-By: Ginger <ginger@gingershaped.computer>
2026-11-10 20:41:38 +00:00
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
timedoutandGinger b2b9c79927 fix: SEC39
Reviewed-By: timedout <git@nexy7574.co.uk>
Co-Authored-By: Ginger <ginger@gingershaped.computer>
2026-11-10 20:40:28 +00:00
timedout 23a3ada393 fix: SEC36
Reviewed-By: Jacob Taylor <jacob@explodie.org>
Reviewed-By: Jade Ellis <jade@ellis.link>
Reviewed-By: Ginger <ginger@gingershaped.computer>
2026-11-10 20:39:13 +00:00
Jade Ellis 88441a409a refactor(rooms/timeline): Simplify deduplication of read receipts 2026-11-10 20:02:21 +00:00
Jade Ellis f42955602e test: Add unit test for merging threaded and private receipts 2026-11-10 20:02:21 +00:00
Jade Ellis c7aebd2b52 fix: Deduplicate read receipts and preserve per-thread state 2026-11-10 20:02:20 +00:00
Jade Ellis 61a50a627b fix(client): Add membership checks to read markers 2026-11-10 20:02:20 +00:00
Jade Ellis 76ace2bc09 fix(client): Allow setting read receipts on backfilled events 2026-11-10 20:02:20 +00:00
Jade Ellis e0d3d12654 fix(sync/v3): Pack room receipts into single m.receipt event 2026-11-10 20:02:20 +00:00
Jade Ellis be2f540a9d fix(client): Accurately include receipt senders in lazy loading 2026-11-10 20:02:19 +00:00
Jade Ellis 0368097791 fix(service/sending): Prevent panics and fix receipt limit in federation sender 2026-11-10 20:02:18 +00:00
Ginger 4d7a7d6cdc chore(deps): Clean up features and remove unused dependencies 2026-11-10 13:24:05 -05:00
Jade Ellis 779374bb54 fix(deps): Properly use intended crypto backends 2026-11-08 20:34:05 +00:00
theS1LV3R a9bb74df6d chore: Disable hickory-dns feature from reqwest
As we now pass in our own resolver (and hickory instance) for every client,
having the hickory-dns feature enabled isn't necessary.
2026-11-08 19:40:49 +00:00
theS1LV3R 144777dab0 fix: Add DNS resolver to oidc crate as well
Because openidconnect vendors reqwest (??), we have to re-implement
the entire Resolve trait.

No I don't like it, but I can't think of a better solution.
2026-11-08 19:40:49 +00:00
theS1LV3R a484c28f99 fix: Don't try to use system resolv.conf when other servers are configured
Previously, only HTTP clients targeting matrix servers (and using the
resolution spec) would use the DNS servers configured in the c10y config.
This happened because reqwest requires any DNS resolvers passed in to
implement reqwest::dns::Resolve, which only the matrix resolver did,
and no other HTTP client had a proper DNS resolver (which used the
configured DNS servers) passed into it.

To fix this we make a custom resolution struct based on reqwest's
reqwest::dns::HickoryDnsResolver, which implements Request with no
other modifications to the DNS response. HickoryDnsResolver itself isn't
exported, which is why we re-created it instead of using it directly.

no im not an LLM i just wrote this to remember my own changes later on

Fixes: continuwuation/continuwuity#2441
2026-11-08 19:40:49 +00:00
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
Jade Ellis 6075e6e3ad chore: Upgrade other dependencies 2026-11-08 17:41:23 +00:00
Ginger 4a3b0366ac feat: Ratelimit CSAPI endpoints 2026-11-05 16:49:48 +00:00
Erwan Leboucher 8c720e5427 fix: Store to-device messages before syncs can read their count 2026-11-05 15:17:36 +00:00
Erwan Leboucher fb389cb6f9 fix: Record device list changes before syncs can read their count
Signed-off-by: Erwan Leboucher <erwanleboucher@gmail.com>
2026-11-05 15:17:23 +00:00
Bardi Harborow db86d42801 fix: Compare push user_is_target against the notified user
`user_is_target` was set by comparing a member event's `state_key` to its
sender, rather than to the user receiving the notification.
2026-11-05 15:27:50 +11:00