continuwuity/src/service
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
..
account_data run cargo fix for rust 2024 changes and rustfmt 2025-02-23 01:17:45 -05:00
admin refactor: Replace remaining std RwLocks 2025-07-20 16:33:36 +01:00
announcements feat: Allow mentioning @room in an admin announcement 2025-06-14 19:09:54 +01:00
appservice fix(auth): prevent token collisions and optimise lookups 2025-08-10 17:10:06 +01:00
client feat(config): introduce federation connection timeout setting 2025-07-20 16:24:26 +01:00
config run cargo fix for rust 2024 changes and rustfmt 2025-02-23 01:17:45 -05:00
emergency refactor+fix various issues with regs/logins and admin user commands 2025-03-02 23:16:30 -05:00
federation refactor: Centralize server forbidden checks into moderation module 2025-04-19 23:37:54 +01:00
globals refactor: Replace remaining std RwLocks 2025-07-20 16:33:36 +01:00
key_backups run cargo fix for rust 2024 changes and rustfmt 2025-02-23 01:17:45 -05:00
media chore: Fix typos across the codebase 2025-05-06 20:51:12 +01:00
presence run cargo fix for rust 2024 changes and rustfmt 2025-02-23 01:17:45 -05:00
pusher Post-formatting aesthetic and spacing corrections 2025-07-02 19:17:06 +01:00
resolver chore: Fix typos across the codebase 2025-05-06 20:51:12 +01:00
rooms fix(relations): improve thread pagination and include root event 2025-08-10 19:12:56 +01:00
sending Post-formatting aesthetic and spacing corrections 2025-07-02 19:17:06 +01:00
server_keys Post-formatting aesthetic and spacing corrections 2025-07-02 19:17:06 +01:00
sync refactor: Replace remaining std Mutexes 2025-07-20 16:32:48 +01:00
transaction_ids run cargo fix for rust 2024 changes and rustfmt 2025-02-23 01:17:45 -05:00
uiaa refactor: Replace std RwLock with parking_lot 2025-07-20 16:31:55 +01:00
users fix(auth): prevent token collisions and optimise lookups 2025-08-10 17:10:06 +01:00
Cargo.toml feat: Add ReCaptcha registration flow 2025-07-08 18:58:05 +01:00
manager.rs refactor: Replace std RwLock with parking_lot 2025-07-20 16:31:55 +01:00
migrations.rs Fix clippy::unnecessary-unwrap. 2025-07-02 19:29:32 +01:00
mod.rs feat: Prefill server name in federation test 2025-05-01 21:23:37 +01:00
moderation.rs feat: Allow controlling client message filtering 2025-04-26 21:59:25 +01:00
service.rs refactor: Replace std RwLock with parking_lot 2025-07-20 16:31:55 +01:00
services.rs refactor: Replace std RwLock with parking_lot 2025-07-20 16:31:55 +01:00
state.rs feat: Prefill server name in federation test 2025-05-01 21:23:37 +01:00