hermes-agent/apps/desktop/electron
xxxigm b07b7894ec
fix(desktop): keep streaming painting in unfocused secondary chat windows (#47919)
* fix(desktop): keep streaming painting in unfocused secondary chat windows

The chat transcript streams to screen through a requestAnimationFrame-gated
flush, which Chromium pauses for blurred/occluded windows. The primary window
opted out with `backgroundThrottling: false`, but the secondary "session
windows" (cmd-click pop-out, new-session, subagent-watch) hand-copied their
webPreferences and silently lost that flag — so a streamed answer in one of them
stalled until the window regained focus (reported on Windows 11). The primary
window's own comment even claimed it was "matching the secondary windows," which
was no longer true.

Hoist the chat-window webPreferences into a single shared factory
(`chatWindowWebPreferences`) in session-windows.cjs and use it for BOTH windows,
so they can never drift on this flag again.

* test(desktop): assert chat windows disable background throttling

Cover chatWindowWebPreferences: it must set backgroundThrottling=false (so the
streaming transcript paints while the window is blurred) and pass the preload
path through while keeping the hardened defaults (contextIsolation, sandbox,
nodeIntegration=false).
2026-06-17 14:40:13 -04:00
..
backend-env.cjs fix(desktop): keep profile homes out of bootstrap (#46073) 2026-06-14 03:08:52 -07:00
backend-env.test.cjs fix(desktop): keep profile homes out of bootstrap (#46073) 2026-06-14 03:08:52 -07:00
backend-probes.cjs Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
backend-probes.test.cjs chore(desktop): zero eslint/typecheck debt + prettier pass (#39100) 2026-06-04 14:10:38 +00:00
backend-ready.cjs refactor(desktop): use port 0 for ephemeral port discovery instead of PortPool reservation 2026-06-12 14:02:19 -04:00
bootstrap-platform.cjs chore(desktop): zero eslint/typecheck debt + prettier pass (#39100) 2026-06-04 14:10:38 +00:00
bootstrap-platform.test.cjs chore(desktop): zero eslint/typecheck debt + prettier pass (#39100) 2026-06-04 14:10:38 +00:00
bootstrap-runner.cjs fix(desktop): hide Windows console children launched by GUI 2026-06-10 03:04:54 -07:00
bootstrap-runner.test.cjs fix(desktop): bootstrap falls back to installed agent install.sh on GitHub 404 2026-06-07 03:46:12 -07:00
connection-config.cjs fix(desktop): route global remote profile REST calls (#47011) 2026-06-15 23:24:55 -05:00
connection-config.test.cjs fix(desktop): route global remote profile REST calls (#47011) 2026-06-15 23:24:55 -05:00
dashboard-token.cjs refactor(desktop): use native fetch in dashboard-token 2026-06-11 18:41:16 -05:00
dashboard-token.test.cjs refactor(desktop): fold served-token adoption + foreign-backend refusal into one helper 2026-06-11 18:33:05 -05:00
desktop-uninstall.cjs feat: uninstall the Chat GUI without removing the agent (CLI + desktop UI) (#40355) 2026-06-06 18:22:38 -07:00
desktop-uninstall.test.cjs feat: uninstall the Chat GUI without removing the agent (CLI + desktop UI) (#40355) 2026-06-06 18:22:38 -07:00
entitlements.mac.inherit.plist fix(desktop): inherit microphone entitlement for macOS helpers 2026-06-03 07:32:00 +07:00
entitlements.mac.plist Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
fs-read-dir.cjs fix(desktop): Harden local file tree paths (#43618) 2026-06-11 10:05:59 -04:00
fs-read-dir.test.cjs fix(desktop): Harden local file tree paths (#43618) 2026-06-11 10:05:59 -04:00
gateway-ws-probe.cjs test(desktop): add injectable gateway WebSocket probe + unit tests 2026-06-04 19:49:06 -07:00
gateway-ws-probe.test.cjs test(desktop): add injectable gateway WebSocket probe + unit tests 2026-06-04 19:49:06 -07:00
git-root.cjs fix(desktop): Harden local file tree paths (#43618) 2026-06-11 10:05:59 -04:00
git-root.test.cjs fix(desktop): Harden local file tree paths (#43618) 2026-06-11 10:05:59 -04:00
git-worktrees.cjs feat(desktop): worktree-aware sidebar grouping + composer/sidebar UX fixes 2026-06-12 18:18:39 -05:00
hardening.cjs feat(desktop): composer status stack, live subagent windows, editable prompts (#44630) 2026-06-12 08:30:06 -05:00
hardening.test.cjs feat(desktop): composer status stack, live subagent windows, editable prompts (#44630) 2026-06-12 08:30:06 -05:00
main.cjs fix(desktop): keep streaming painting in unfocused secondary chat windows (#47919) 2026-06-17 14:40:13 -04:00
oauth-net-request.cjs fix(desktop): avoid restricted oauth request header 2026-06-05 18:04:45 -07:00
oauth-net-request.test.cjs fix(desktop): avoid restricted oauth request header 2026-06-05 18:04:45 -07:00
preload.cjs feat(desktop): open new sessions in compact windows 2026-06-15 20:59:57 -05:00
session-windows.cjs fix(desktop): keep streaming painting in unfocused secondary chat windows (#47919) 2026-06-17 14:40:13 -04:00
session-windows.test.cjs fix(desktop): keep streaming painting in unfocused secondary chat windows (#47919) 2026-06-17 14:40:13 -04:00
update-remote.cjs test(desktop): cover official-SSH remote detection for passive updates 2026-06-11 12:53:19 +05:30
update-remote.test.cjs test(desktop): cover official-SSH remote detection for passive updates 2026-06-11 12:53:19 +05:30
vscode-marketplace.cjs feat(desktop): install any VS Code theme from the Marketplace 2026-06-09 23:06:44 -05:00
vscode-marketplace.test.cjs feat(desktop): install any VS Code theme from the Marketplace 2026-06-09 23:06:44 -05:00
windows-child-process.test.cjs fix(desktop): hand off Windows bootstrap recovery (#45594) 2026-06-13 05:54:32 -07:00
windows-user-env.cjs fix(desktop): read HERMES_HOME from the Windows registry when env is stale (#46772) 2026-06-15 15:16:55 -05:00
windows-user-env.test.cjs fix(desktop): read HERMES_HOME from the Windows registry when env is stale (#46772) 2026-06-15 15:16:55 -05:00
workspace-cwd.cjs fix(desktop): honor default project directory for new sessions (#43234) 2026-06-09 23:28:59 -05:00
workspace-cwd.test.cjs fix(desktop): honor default project directory for new sessions (#43234) 2026-06-09 23:28:59 -05:00