Skip to content

Chathistory seeding and scroll-back paging #33

Description

@zealsprince

draft/chathistory is requested and tracked, but the runtime never issues a CHATHISTORY command: a channel renders only what arrives live after join. Opening a channel should seed from history, and scrolling up should page further back.

Spec

Acceptance criteria

  • Opening a channel issues CHATHISTORY LATEST and renders the batch
  • Scrolling to the top issues CHATHISTORY BEFORE the oldest rendered msgid and prepends
    • This is already intermingled with the actual UI; we should seek to test this in isolation so as to not have a dependency on a full UI implementation.
    • There are more considerations to this implementation case as the UI matures and evolves (images, media, etc)
    • We should have an example case of a list of messages in a scrollable container, where scrolling up issues CHATHISTORY BEFORE and pull the next batch of messages.
  • Replayed batches produce no notification or unread side effects
  • Without the cap, channels degrade to live-only with no error surfaced

Out of scope

  • Cache-first paging and prefill (Clients: local history cache #10)
  • Reconnect catch-up (its own ticket)
  • Calculating media heights and various other nuanced aspects of scrollback behavior ([FLAG] MISSING TICKET)

Blocks reconnection catch-up and the local history cache epic (#10). Blocked by nothing.

([FLAG] MISSING UI TICKET)

Metadata

Metadata

Assignees

Labels

uplinkThe IRC layer: protocol, caps, messaging, metadata

Fields

Start date

None yet

Target date

None yet

Size

None yet

Projects

Status
In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions