fix: restore the jump-to-bottom glide and keep user state, selections and scroll anchors in windowed lists

Pause scroll writes while the jump-to-bottom smooth scroll runs; keep rows with pending questions, approvals, recent interactions and selection ends mounted; cache Mermaid results; copy text spanning unmounted rows; anchor the sidebar on id changes; disable native overflow-anchor for windowed lists; write terminal output on the leading edge and before clear; forward remote events every 16 ms; flush streaming text before copy/export; add performance principle P10 (no UX regressions).
This commit is contained in:
mesalogo
2026-10-03 16:19:56 +08:00
parent a620c22676
commit 805acc3fce
25 changed files with 834 additions and 63 deletions
+3
View File
@@ -3988,6 +3988,9 @@ export function registerIpcHandlers(
let remoteEventBatchClosed = false
const remoteEventBatcher = new RemoteEventBatcher<RemoteBatchEvent>({
onError: (error) => controller.abort(error),
// The batch already coalesced a frame of deltas: send them now rather
// than holding them for another public-buffer interval.
onTimerFlushed: () => publicEventBuffer.flush(),
persist: (entries) =>
remoteConversationRecovery
? assistantDatabase.appendRemoteConversationTaskEventsBatch({