feat: Add bundled aggregations support #847

Merged
Jade merged 14 commits from jade/relations into main 2025-12-21 17:14:36 +00:00

14 commits

Author SHA1 Message Date
8fd15f26ce
style: Fix clippy
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Successful in 57s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m15s
Documentation / Build and Deploy Documentation (push) Successful in 1m40s
Checks / Prek / Pre-commit & Formatting (push) Successful in 2m34s
Checks / Prek / Clippy and Cargo Tests (push) Has been cancelled
Release Docker Image / Build linux-amd64 (release) (push) Has been cancelled
Release Docker Image / Build linux-arm64 (release) (push) Has been cancelled
Release Docker Image / Create Multi-arch Release Manifest (push) Has been cancelled
Release Docker Image / Build linux-amd64 (max-perf) (push) Has been cancelled
Release Docker Image / Build linux-arm64 (max-perf) (push) Has been cancelled
Release Docker Image / Create Max-Perf Manifest (push) Has been cancelled
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 24m13s
2025-12-21 17:12:36 +00:00
705fa6c5c6
fix: Simplify visibility check code 2025-12-21 17:12:36 +00:00
6f67c27538
fix: Ensure that room ID is present on state events sent to client
routes

Mostly fixes !1094

The remaining issue is federation routes
2025-12-21 17:12:35 +00:00
8586d747d1
feat: Run visibility checks on bundled relations 2025-12-21 17:12:35 +00:00
11012a9ce1
fix: Always return the same 404 message in context 2025-12-21 17:12:35 +00:00
07be190507
fix: Return 404 when event is not accessible 2025-12-21 17:12:35 +00:00
ae4acc9568
fix: Don't incorrectly add thread root to relation response 2025-12-21 17:12:35 +00:00
f83ddecd8c
refactor(perf): Push down visibility check after limit 2025-12-21 17:12:34 +00:00
dd87232f1f
refactor: Reduce database lookups in some cases 2025-12-21 17:12:34 +00:00
8e33f9a7d0
refactor: Improve code style for bundled aggregations 2025-12-21 17:12:34 +00:00
8d3e4eba99
fix: Add aggregations to the search endpoint 2025-12-21 17:12:34 +00:00
96bfdb97da
fix: Filter out invalid replacements from bundled aggregations 2025-12-21 17:12:34 +00:00
b61010da47
feat: Add bundled aggregations support
Add support for the m.replace and m.reference bundled
aggregations.
This should fix plenty of subtle client issues.
Threads are not included in the new code as they have
historically been written to the database. Replacing the
old system would result in issues when switching away from
continuwuity, so saved for later.
Some TODOs have been left re event visibility and ignored users.
These should be OK for now, though.
2025-12-21 17:12:34 +00:00
987c5eeb03
refactor: Promote handling unsigned data out of timeline
Also fixes:
- Transaction IDs leaking in event route
- Age not being set for event relations or threads
- Both of the above for search results

Notes down concern with relations table
2025-12-21 17:12:33 +00:00