feat: Add bundled aggregations support #847

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

2025-12-21

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
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
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
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