* test(desktop): stress long agent sessions in the multitab perf scenario --tools seeds every transcript with settled tool rounds and drives the live stream as a working agent turn (tool calls opened and completed between text chunks), and each tile reveal is timed to next paint (reveal_max_ms) so deep transcripts report their mount cost. * perf(desktop): hold the transcript window cut steady while streaming A fresh weight-walk per store flush slid the cut forward one message at a time, ~30x/s, and every slide re-indexed the whole windowed transcript — each row rendered a different message and the runtime repository took its O(window) rebuild path instead of the one-message update. advanceTranscriptWindow anchors the cut to a message id and re-cuts once per ~half page of new content instead of once per flush. * perf(desktop): stable rows, stepped backfill, pane-shared render budget Three thread-list fixes for long streaming sessions: memoize the visible- groups slice and each turn row so a budget-cut advance no longer re-renders every mounted turn per streamed token; raise the first-paint backfill in BACKFILL_STEP slices (one bounded commit per frame) instead of a single 20-to-600 transition whose commit landed as a 780ms freeze mid-stream; and share RENDER_BUDGET across mounted panes so a 4-way grid mounts a quarter page per pane instead of 4x the fibers. |
||
|---|---|---|
| .. | ||
| cold-start.mjs | ||
| first-token.mjs | ||
| idle-cost.mjs | ||
| index.mjs | ||
| keystroke.mjs | ||
| multitab.mjs | ||
| profile-switch.mjs | ||
| render-churn.mjs | ||
| right-pane.mjs | ||
| session-load.mjs | ||
| session-switch.mjs | ||
| stream-history.mjs | ||
| stream.mjs | ||
| submit.mjs | ||
| transcript.mjs | ||