Jacob Taylor
cd97d77ebc
process edus before pdus here, too
2025-09-07 18:36:30 -07:00
Jacob Taylor
066be5b38f
pass and use transaction id to collect timing info
2025-09-07 18:36:30 -07:00
Jacob Taylor
753f8aabae
reduce log volume (keeps 2 infos)
...
adjust log volume
demote a bunch of logs
2025-09-07 18:36:30 -07:00
Jacob Taylor
25b0d43b9c
fix warn by removing unused debug imports
...
delete more imports to quiet cargo
2025-09-07 18:36:30 -07:00
nexy7574
6996985a06
feat(fed): Handle EDUs before PDUs
...
Aranje needs his crypto keys
2025-09-07 18:23:07 -07:00
nexy7574
8584116555
feat(fed): Handle EDUs before PDUs
...
Aranje needs his crypto keys
2025-09-07 18:23:07 -07:00
Ginger
1e541875ad
fix: Nuke src/api/client/utils.rs
2025-09-07 18:06:11 -04:00
Ginger
16f4efa708
fix: Fix pagination tokens being corrupted for backfilled PDUs
2025-09-07 21:20:26 +00:00
nexy7574
e3fbf7a143
feat: Ask remote servers for individual unknown events
2025-09-07 21:20:26 +00:00
nexy7574
09de586dc7
feat(PR977): Log more things in the join process
2025-09-07 22:01:07 +01:00
nexy7574
d1fff1d09f
perf(pr977): Remove redundant ACL check in send_join
2025-09-07 22:01:07 +01:00
nexy7574
f47474d12a
fix(PR977): Adjust some log levels
2025-09-07 22:01:07 +01:00
nexy7574
53da294e53
fix(PR977): Omitting redundant entries from the auth_chain caused problems
2025-09-07 22:01:07 +01:00
nexy7574
2cdccbf2fe
feat(PR977): Support omitting members in the send_join response
2025-09-07 22:01:07 +01:00
Jade Ellis
1d7dda6cf5
chore: Upgrade ctor, cbor
2025-09-06 16:19:56 +01:00
nexy7574
76b93e252d
feat: Only inject vias when manual ones aren't provided during join
2025-09-01 11:27:58 +00:00
nexy7574
66d479e2eb
fix: Make remote leave helper a public fn
2025-09-01 11:27:58 +00:00
nexy7574
241371463e
feat: Force leave remote rooms admin command
2025-09-01 11:27:58 +00:00
nexy7574
d970df5fd2
perf(MSC4323): Parallelise some check futs
2025-09-01 12:13:37 +01:00
nexy7574
4e644961f3
perf(MSC4323): Remove redundant authorisation checks
2025-09-01 12:13:37 +01:00
nexy7574
35cf9af5c8
feat(MSC4323): Add versions flag
2025-09-01 12:13:37 +01:00
nexy7574
04e796176a
style(MSC4323): Satisfy our linting overlords
2025-09-01 12:13:37 +01:00
nexy7574
9783940105
feat(MSC4323): Advertise suspension support in capabilities
2025-09-01 12:13:37 +01:00
nexy7574
1e430f9470
feat(MSC4323): Implement agnostic suspension endpoint
2025-09-01 12:13:37 +01:00
nexy7574
83e3de55a4
fix(sync/v2): Room leaves being omitted incorrectly
...
Partially borrowed from 85a84f93c7
2025-08-30 16:18:46 +01:00
RatCornu
57d7743037
feat: add ldap_only config option
2025-08-23 19:59:36 +00:00
RatCornu
fb7e739b72
chore: remove unused LDAP mail attribute
2025-08-23 19:59:36 +00:00
RatCornu
c7adbae03f
feat: ldap login
2025-08-23 19:59:36 +00:00
Jade Ellis
8b35de6a43
chore: Fix clippy lints with minimal diff
2025-08-22 00:51:54 +01:00
Tom Foster
583cb924f1
refactor: address code review feedback for auth and pagination improvements
...
- Extract duplicated thread/message pagination functions to shared utils module
- Refactor pagination token parsing to use Option combinators instead of defaults
- Split access token generation from assignment for clearer error handling
- Add appservice token collision detection at startup and registration
- Allow appservice re-registration with same token (for config updates)
- Simplify thread relation chunk building using iterator chaining
- Fix saturating_inc edge case in relation queries with explicit filtering
- Add concise comments explaining non-obvious behaviour choices
2025-08-12 05:29:41 +01:00
Tom Foster
9286838d23
fix(relations): improve thread pagination and include root event
...
Replace unreliable PduCount pagination tokens with ShortEventId throughout
the relations and messages endpoints. ShortEventId provides stable, unique
identifiers that persist across server restarts and database operations.
Key improvements:
- Add token parsing helpers that try ShortEventId first, fall back to
PduCount for backwards compatibility
- Include thread root event when paginating backwards to thread start
- Fix off-by-one error in get_relations that was returning the starting
event in results
- Only return next_batch/prev_batch tokens when more events are available,
preventing clients from making unnecessary requests at thread boundaries
- Ensure consistent token format between /relations, /messages, and /sync
endpoints for interoperability
This fixes duplicate events when scrolling at thread boundaries and ensures
the thread root message is visible when viewing a thread, matching expected
client behaviour.
2025-08-10 19:12:56 +01:00
Tom Foster
d1ebcfaf0b
fix(auth): prevent token collisions and optimise lookups
...
Ensures access tokens are unique across both user and appservice tables to
prevent authentication ambiguity and potential security issues.
Changes:
- On startup, automatically logout any user devices using tokens that
conflict with appservice tokens (resolves in favour of appservices)
and log a warning with affected user/device details
- When creating new user tokens, check for conflicts with appservice tokens
and generate a new token if a collision would occur
- When registering new appservices, reject registration if the token is
already in use by a user device
- Use futures::select_ok to race token lookups concurrently for better
performance (adapted from tuwunel commit 066097a8)
This fix-forward approach resolves existing token collisions on startup
whilst preventing new ones from being created, without breaking existing
valid authentications.
The find_token optimisation is adapted from tuwunel (matrix-construct/tuwunel)
commit 066097a8: "Optimize user and appservice token queries" by Jason Volk.
2025-08-10 17:10:06 +01:00
nexy7574
331832616f
feat(space-upgrades): MSC4168: Override space child vias
2025-07-19 18:37:45 +01:00
nexy7574
57868a008c
feat(space-upgrades): Skip empty state events in room upgrade
2025-07-19 18:37:45 +01:00
nexy7574
f063814d94
fix(space-upgrades): Incorrectly updated parent children events
2025-07-19 18:37:38 +01:00
nexy7574
3b5335630d
feat(space-upgrades): Transfer all state keys during upgrade
...
Before this change, only state events with an
empty state key would be cloned.
This allows m.space.child to be cloned appropriately.
2025-07-19 18:35:59 +01:00
nexy7574
b2883c3d6e
feat(space-upgrades): Update parent spaces in upgrade
...
This relies on the room being upgraded referencing
the space itself, but there isn't an easy way to
do it otherwise.
2025-07-19 18:35:58 +01:00
nexy7574
62bdfe1ce8
feat(space-upgrades): Copy over space child & parent states
2025-07-19 18:35:56 +01:00
Nyx
5bf20db8e7
Add /_continuwuity/ paths
2025-07-14 17:49:06 +00:00
nexy7574
1abe8f7835
fix: Creation bug
Documentation / Build and Deploy Documentation (push) Has been skipped
Checks / Prefligit / prefligit (push) Failing after 13s
Release Docker Image / define-variables (push) Failing after 5s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (push) Has been skipped
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (push) Has been skipped
Release Docker Image / merge (push) Has been skipped
Checks / Rust / Format (push) Failing after 6s
Checks / Rust / Clippy (push) Failing after 16s
Checks / Rust / Cargo Test (push) Failing after 11s
2025-07-12 22:37:49 +01:00
nexy7574
f0994355d4
feat(recaptcha): Fix linting issues
2025-07-08 19:15:55 +01:00
nexy7574
df1cb10a8e
feat(recaptcha): Add documentation for new fields
2025-07-08 19:03:35 +01:00
nexy7574
651d07a609
feat: Add ReCaptcha registration flow
2025-07-08 18:58:05 +01:00
Odd E. Ebbesen
564e7097e6
feat: #821 - Options to disable local typing and read receipts
2025-07-08 12:43:48 +02:00
Jade Ellis
293e7243b3
style: Fix formatting/clippy issues
Documentation / Build and Deploy Documentation (push) Has been skipped
Checks / Prefligit / prefligit (push) Failing after 3s
Release Docker Image / define-variables (push) Failing after 12s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (push) Has been skipped
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (push) Has been skipped
Release Docker Image / merge (push) Has been skipped
Checks / Rust / Format (push) Failing after 6s
Checks / Rust / Clippy (push) Failing after 20s
Checks / Rust / Cargo Test (push) Failing after 16s
2025-07-02 19:32:50 +01:00
Jason Volk
c5c309ec43
Split timeline service.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2025-07-02 19:29:28 +01:00
Jason Volk
c06aa49a90
Fix regression 75aadd5c6a
...
Signed-off-by: Jason Volk <jason@zemos.net>
2025-07-02 19:17:09 +01:00
Jason Volk
364293608d
Post-formatting aesthetic and spacing corrections
...
Signed-off-by: Jason Volk <jason@zemos.net>
2025-07-02 19:17:06 +01:00
Jason Volk
af4f66c768
Cleanup/improve other async queries in some client handlers.
...
Signed-off-by: Jason Volk <jason@zemos.net>
2025-07-02 19:12:51 +01:00
Jason Volk
116f85360f
Toward abstracting Pdu into trait Event.
...
Co-authored-by: Jade Ellis <jade@ellis.link>
Signed-off-by: Jason Volk <jason@zemos.net>
2025-07-02 19:03:26 +01:00