There is no /messages call anywhere in the Matrix backend. Scrollback is only what the daemon witnessed live, read back out of local SQLite.
Join a room with years of history and you see nothing above your first sync. Restart with a fresh store and everything before that moment is gone. Discord has three separate backfill paths (backfill_channel_history, extend_history, catch_up_channel); Matrix has none.
Done looks like:GET /rooms/{id}/messages with from/dir=b paging, wired into getBacklog's before > 0 branch the way Discord's extend_history already is. Two things to handle while there: origin_server_ts needs to be used for the timestamp (see the separate issue), and encrypted rooms need each backfilled event run through decrypt_room_event.
Filed from a protocol coverage survey of the four deployed protocols, 2026-08-29 (moho 1a11250, nobilis 030707f).
There is no `/messages` call anywhere in the Matrix backend. Scrollback is only what the daemon witnessed live, read back out of local SQLite.
Join a room with years of history and you see nothing above your first sync. Restart with a fresh store and everything before that moment is gone. Discord has three separate backfill paths (`backfill_channel_history`, `extend_history`, `catch_up_channel`); Matrix has none.
**Done looks like:** `GET /rooms/{id}/messages` with `from`/`dir=b` paging, wired into `getBacklog`'s `before > 0` branch the way Discord's `extend_history` already is. Two things to handle while there: `origin_server_ts` needs to be used for the timestamp (see the separate issue), and encrypted rooms need each backfilled event run through `decrypt_room_event`.
---
_Filed from a protocol coverage survey of the four deployed protocols, 2026-08-29 (moho `1a11250`, nobilis `030707f`)._
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
There is no
/messagescall anywhere in the Matrix backend. Scrollback is only what the daemon witnessed live, read back out of local SQLite.Join a room with years of history and you see nothing above your first sync. Restart with a fresh store and everything before that moment is gone. Discord has three separate backfill paths (
backfill_channel_history,extend_history,catch_up_channel); Matrix has none.Done looks like:
GET /rooms/{id}/messageswithfrom/dir=bpaging, wired intogetBacklog'sbefore > 0branch the way Discord'sextend_historyalready is. Two things to handle while there:origin_server_tsneeds to be used for the timestamp (see the separate issue), and encrypted rooms need each backfilled event run throughdecrypt_room_event.Filed from a protocol coverage survey of the four deployed protocols, 2026-08-29 (moho
1a11250, nobilis030707f).Finished — nobilis
e1665bf