Feature hasn't been suggested before.
Describe the enhancement you want to request
The /timeline dialog (accessible via Ctrl+X G or <leader>g) currently reads messages from sync.data.message, which only contains the messages loaded in memory. For long sessions, this means older messages are absent from the timeline and cannot be jumped to.
For example, a session with 1,283 messages but only 100 loaded in memory will only show the most recent ~100 user messages in the timeline picker. The user has no way to jump to earlier messages in the conversation.
Proposed solution:
The timeline dialog should fetch user messages directly from the API rather than reading from the in-memory store. This could use the cursor-based pagination introduced in #8535 (before/after parameters on GET /session/:id/message) to load all user messages incrementally.
A possible approach:
- The timeline dialog makes its own paginated API calls to build the full list of user messages
- When a message is selected, the TUI loads a window of messages around the target and scrolls to it
Dependencies:
This builds upon the cursor-based pagination API from #8535, which provides the necessary server-side infrastructure (before/after/oldest cursors on the messages endpoint).
Related:
Feature hasn't been suggested before.
Describe the enhancement you want to request
The
/timelinedialog (accessible viaCtrl+X Gor<leader>g) currently reads messages fromsync.data.message, which only contains the messages loaded in memory. For long sessions, this means older messages are absent from the timeline and cannot be jumped to.For example, a session with 1,283 messages but only 100 loaded in memory will only show the most recent ~100 user messages in the timeline picker. The user has no way to jump to earlier messages in the conversation.
Proposed solution:
The timeline dialog should fetch user messages directly from the API rather than reading from the in-memory store. This could use the cursor-based pagination introduced in #8535 (
before/afterparameters onGET /session/:id/message) to load all user messages incrementally.A possible approach:
Dependencies:
This builds upon the cursor-based pagination API from #8535, which provides the necessary server-side infrastructure (
before/after/oldestcursors on the messages endpoint).Related: