perf: reduce streaming render cost and refresh activity page on demand

- Segment streaming Markdown so completed blocks are reused and only the growing tail is re-parsed; fall back to whole-document parsing for document-wide constructs
- Memoize conversation sidebar rows and cache per-conversation derived activity, ordering and pending approvals
- Activity page loads on entry, refreshes every 15 s while visible, and has a single header refresh button
- Include pending settings, model download source, device sharing and knowledge gateway changes in the working tree
- Add Electron streaming input benchmark and regression tests
This commit is contained in:
mesalogo
2026-10-01 21:49:09 +08:00
parent 016f987026
commit c8f327fc4e
75 changed files with 3042 additions and 905 deletions
+7
View File
@@ -0,0 +1,7 @@
import { contextBridge, ipcRenderer } from 'electron'
contextBridge.exposeInMainWorld('streamingInputBridge', {
onChunk: (callback: (delta: string) => void) => {
ipcRenderer.on('streaming-input:chunk', (_event, delta) => callback(delta))
}
})