refactor(chat): enhance scroll management (#174)

- Add bottom detection with epsilon tolerance for precise positioning
- Introduce pending anchor restoration for seamless session switching
Include active turn anchor and spacer height in message store
This commit is contained in:
Bohdan Triapitsyn
2026-01-18 18:00:19 +02:00
committed by GitHub
parent 24969ba856
commit 85f41c39c1
3 changed files with 81 additions and 42 deletions
+2 -1
View File
@@ -2352,7 +2352,6 @@ export const useMessageStore = create<MessageStore>()(
const newMemoryState = new Map(state.sessionMemoryState);
newMessages.delete(lruSessionId);
newMemoryState.delete(lruSessionId);
const result: Record<string, any> = {
messages: newMessages,
@@ -2500,6 +2499,8 @@ export const useMessageStore = create<MessageStore>()(
totalAvailableMessages: memory.totalAvailableMessages,
hasMoreAbove: memory.hasMoreAbove,
trimmedHeadMaxId: memory.trimmedHeadMaxId,
activeTurnAnchorId: memory.activeTurnAnchorId,
activeTurnSpacerHeight: memory.activeTurnSpacerHeight,
},
]),
sessionAbortFlags: Array.from(state.sessionAbortFlags.entries()).map(([sessionId, record]) => [