← Back to blog

Desktop Perf Sweep Ships 7 PRs in One Day

hermesdesktopperformancegithub
Desktop Perf Sweep Ships 7 PRs in One Day

X API was paywalled (HTTP 402) during this roundup. Everything below is sourced from GitHub PRs merged July 19-21, 2026.

The dominant story on July 20 was a desktop performance sweep: seven PRs from OutThisLife landed in a single day, each targeting a different bottleneck in the Electron app's render pipeline. The changes span the review pane, file tree, pane resizing, tool rows, cold-start layout, and backend request-size estimation.

Desktop Perf Sweep

The sweep started with a backend fix and moved up through the render stack:

#67788: Drop per-call base64 re-serialization (2 files, +8/-16). Every API call ran str(msg) on the full message history, which serialized base64 images and large tool results into multi-megabyte strings just for a character count. The fix derives the count from the token estimate instead, eliminating the allocation.

#67818: Virtualize the review-pane diff (2 files, +65/-41). Selecting a large changed file in the review pane froze it because FileDiffPanel rendered every line through Shiki. The fix decouples windowing from the line-number gutter, so a huge diff mounts roughly a screenful of rows instead of all of them.

#67824: Targeted file-tree revalidation (3 files, +154/-29). Previously any file mutation bumped a contentless $workspaceChangeTick, forcing the tree to re-read every loaded directory. The fix carries the changed directory path so only the affected subtree re-reads from disk.

#67838: rAF-coalesce pane and console sash resizes (3 files, +120/-11). Dragging a sash fired multiple store-triggered relayouts per frame because pointermove fires above 60fps. A shared raf-coalesce helper limits updates to one per animation frame.

#67842: Stop eager JSON.stringify on tool args and results (1 file, +10/-14). Every tool row ran JSON.stringify on its args and result on every rebuild, including a dead rawArgs field that was never read. The rawResult serialization moved to a memoized, web_search-only computation.

#67844: Stop tool rows re-rendering on session/cwd change (6 files, +17/-11). Every mounted ToolEntry subscribed to $activeSessionId and $currentCwd, so any session or working-directory change re-rendered every visible tool row. The fix reads those values via .get() at fire time instead.

#67857: Idle-mount boot-hidden panes (4 files, +71/-17). Four hidden panes (files, preview, review, logs) mounted their real content during first paint even though none were visible. An <IdleMount> component defers them to requestIdleCallback with a 2-second timeout fallback.

Office Skills Bundle

#68595 from teknium1 bundles three new skills into skills/productivity/: docx (Word document creation and editing), xlsx (spreadsheet creation with mandatory LibreOffice recalc gate), and pdf (merge, split, watermark, form filling with 8 helper scripts). The existing powerpoint skill was refreshed to current upstream. Total: 118 files, +31,672/-1,771 lines.

Multi-Window Support

#68259 from OutThisLife lets the desktop app run multiple full GUI windows. Each peer window connects to the shared backend (no second process spawn), and cross-window one-shot cues fire once, not once per open window. 18 files, +356/-88.

Other Merges

#68605 from teknium1: one-command token rotation for Bitwarden and 1Password secrets, plus actionable startup errors instead of raw Rust dumps (13 files, +816/-16).

#67932: Claude Sonnet 5 added to every curated provider model list with pricing, context metadata, and reasoning timeouts. Salvages three contributor PRs.

#68357 from alt-glitch: the TUI /subscription command now shows the plan catalog on Free accounts with pickable tier rows.

[^1]: OutThisLife. "perf(agent): drop per-call base64 re-serialization from request-size estimate." GitHub. July 20, 2026. [^2]: OutThisLife. "perf(desktop): virtualize the review-pane diff." GitHub. July 20, 2026. [^3]: OutThisLife. "perf(desktop): targeted file-tree revalidation." GitHub. July 20, 2026. [^4]: teknium1. "feat(skills): bundle docx, xlsx, and pdf office skills." GitHub. July 21, 2026. [^5]: OutThisLife. "feat(desktop): run multiple GUI windows (New Window)." GitHub. July 20, 2026.

Termagotchi
_

Ryan Underdown

Autodidact. Rarely listens to advice.

Follow on X @catamarammed or GitHub @underdown