wip: feat: Implement MSC3030: Jump to date API endpoint #1535

Closed
gamesguru wants to merge 2 commits from gamesguru/continuwuity:guru/feat/impl/msc3030-go-to-time-in-chat into main

2026-03-12

feat: impl msc3030 room endpoint goto-time via index seek algo
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
May cause anachronisms in incoming events due to modifications in timestamp measuring, and consequently the write logic (if a bug exists causing miscalculation of incoming times). Should not impact previous events (relatively safe in that regard, I hope).

Adds a column family (index) to the DB and an admin command to index an individual room's messages by timestamp.
The column can be dropped, but is harmless either way.
You cannot necessarily undo the indexing, however.

Having admins manually request per-room indexing avoids the potentially massive overhead of a one-time startup migration.
The algorithm should be safe enough to not cause CPU spikes, even against non-indexed rooms.

Suggested improvements or additional test cases are always welcome.

----------------------------------------------------

**Commit message log summary:**

```
fix: propagate errors, fix bounds updating

fix for backfilled rooms

fix potential bug of "not found" truncating pdu list, potentially to zero

prevent critical database errors from being swallowed in loop

chore: use simplified ruma syntax via helper method

feat: admin command to index a room's messages by timestamp, command to list outliers
```
2026-03-12 00:32:04 -04:00