diff options
| author | Adam Malczewski <[email protected]> | 2026-05-29 13:59:17 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-05-29 13:59:17 +0900 |
| commit | 520c9e30cc58b40d3b1ee9e7895f003c4f873206 (patch) | |
| tree | 7a10da94141d754dca25e728f4a388057a5d5981 /packaging/[email protected] | |
| parent | 0954c6520878e073c7822fc4a8f4a752474f5d7a (diff) | |
| download | dispatch-520c9e30cc58b40d3b1ee9e7895f003c4f873206.tar.gz dispatch-520c9e30cc58b40d3b1ee9e7895f003c4f873206.zip | |
feat: disappearing chat history — chunk-limited frontend window with backend pagination
Frontend keeps only a bounded window of chunks in memory (configurable via
settings slider, default 100). Older messages are evicted when at the bottom
and re-fetched from the backend on scroll-up.
- Backend: paginated GET /tabs/:id/messages with ?limit=N&before=seq
- Store: evictMessages trims oldest messages until total chunks ≤ limit
- Store: loadMoreMessages fetches next page and prepends with dedup
- ChatPanel: smart scroll hooks trigger eviction on return-to-bottom
- ChatPanel: onNearTop loads older history with scroll-position maintenance
- Settings: chunk limit slider in Memory section
- Fix: oldestLoadedSeq recalculated after eviction (pagination cursor stays valid)
- Fix: seq preserved on ChatMessage for cursor tracking
- Fix: scrolledUpTabs cleaned up on tab switch (no memory leak)
- Fix: evictMessages reads appSettings.chunkLimit directly (live updates)
Diffstat (limited to 'packaging/[email protected]')
0 files changed, 0 insertions, 0 deletions
