Jacob Taylor
4eb26873c0
bump the number of allowed immutable memtables by 1, to allow for greater flood protection
...
this should probably not be applied if you have rocksdb_atomic_flush = false (the default)
2026-11-12 20:53:22 -08: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
timedout and Ginger
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
Bardi Harborow
223e889459
fix: Return 405 when setting m.fully_read via account data
...
The spec requires servers to reject client writes to server-managed
account data types with 405 M_BAD_JSON. We returned 400.
2026-11-04 19:32:17 +00:00
Bardi Harborow
219e8d2e1e
fix: Return M_UNKNOWN_DEVICE for unknown masqueraded appservice devices
...
When an appservice masqueraded as a device_id that does not exist for
the user, we returned 403 M_FORBIDDEN. The spec requires 400
M_UNKNOWN_DEVICE.
2026-11-04 19:32:17 +00:00
Bardi Harborow
4d0ccd998f
fix: Return M_PROFILE_TOO_LARGE for oversize profiles
...
Profile updates that would push the profile over 64 KiB were rejected
with an untyped error, producing a 500. The spec requires 400
M_PROFILE_TOO_LARGE, which ruma now provides.
2026-11-04 19:32:17 +00:00