hermes-agent/apps/desktop/scripts
emozilla 25488de4ba fix(installer): stamp Hermes icon onto Hermes.exe via rcedit (no winCodeSign)
The unpacked Hermes.exe showed the stock Electron icon + name in the
taskbar because build.win.signAndEditExecutable=false disables BOTH
electron-builder's signing AND its rcedit metadata/icon stamping. That
flag is load-bearing: enabling it re-triggers signtool -> winCodeSign,
whose macOS symlinks crash 7-Zip on non-admin Windows (unfixable dead end).

Decouple identity-stamping from signing entirely: after npm run pack,
run rcedit ourselves on the produced exe.
- Add rcedit as a direct devDependency of apps/desktop (the transitive
  electron-winstaller copy is fragile).
- apps/desktop/scripts/set-exe-identity.cjs: Node helper that calls
  rcedit's named export to set icon + ProductName/FileDescription/
  CompanyName. Node builds argv natively — avoids the PowerShell->exe
  ->JSON double-escaping that broke the app-builder rcedit path.
- install.ps1 Set-DesktopExeIdentity invokes the script after the build,
  before shortcuts. Best-effort: failure keeps the stock icon, never
  fails the install. rcedit is a pure PE editor — no signtool, no
  winCodeSign, no symlinks.

Verified locally: stamping a copy of the built Hermes.exe embeds the
32x32 icon and sets ProductName=Hermes.

Also fix update-path success-screen flash: in update mode the installer
hands off + exits in ~600ms, so don't route to the 'launch Hermes'
success view (it flashed before the window closed).
2026-05-29 00:50:14 -04:00
..
assert-root-install.cjs Improve desktop runtime UX by surfacing inference readiness in gateway status and hardening WSL link opening. 2026-05-15 16:33:04 -05:00
before-build.cjs feat(desktop): thin installer + first-launch install.ps1 bootstrap 2026-05-18 02:26:46 -04:00
click-session.mjs Revert "Revert "perf(desktop): cut per-keystroke layout + listener churn in chat composer"" 2026-05-21 18:57:18 -05:00
dev-no-hmr.mjs Revert "Revert "perf(desktop): cut per-keystroke layout + listener churn in chat composer"" 2026-05-21 18:57:18 -05:00
diag-jump.mjs perf(desktop): fix "Enter jumps up" on long threads 2026-05-21 17:45:55 -05:00
eval.mjs chore(desktop): synthetic-stream perf harness + scripts 2026-05-21 19:38:26 -05:00
leak-typing.mjs Revert "Revert "perf(desktop): cut per-keystroke layout + listener churn in chat composer"" 2026-05-21 18:57:18 -05:00
measure-jump.mjs perf(desktop): fix "Enter jumps up" on long threads 2026-05-21 17:45:55 -05:00
measure-latency.mjs Revert "Revert "perf(desktop): cut per-keystroke layout + listener churn in chat composer"" 2026-05-21 18:57:18 -05:00
measure-real-stream.mjs chore(desktop): synthetic-stream perf harness + scripts 2026-05-21 19:38:26 -05:00
measure-submit.mjs Revert "Revert "perf(desktop): cut per-keystroke layout + listener churn in chat composer"" 2026-05-21 18:57:18 -05:00
measure-synthetic-stream.mjs perf(desktop): floor assistant-text flush gap to 33ms for predictable batching 2026-05-21 20:08:49 -05:00
notarize-artifact.cjs fix(desktop): address CodeQL alerts on PR #20059 2026-05-11 16:52:32 -04:00
notarize.cjs ci(desktop): automate desktop releases 2026-05-05 13:04:33 -05:00
probe-renderer.mjs Revert "Revert "perf(desktop): cut per-keystroke layout + listener churn in chat composer"" 2026-05-21 18:57:18 -05:00
probe-thread.mjs perf(desktop): fix "Enter jumps up" on long threads 2026-05-21 17:45:55 -05:00
profile-long-stream.mjs perf(desktop): rate-limit thread auto-pin during streaming 2026-05-21 18:02:26 -05:00
profile-real-stream.mjs chore(desktop): synthetic-stream perf harness + scripts 2026-05-21 19:38:26 -05:00
profile-synth-stream.mjs chore(desktop): synthetic-stream perf harness + scripts 2026-05-21 19:38:26 -05:00
profile-typing-lag.md perf(desktop): useDeferredValue for streaming markdown so parses don't block input 2026-05-21 20:31:26 -05:00
profile-typing.mjs Revert "Revert "perf(desktop): cut per-keystroke layout + listener churn in chat composer"" 2026-05-21 18:57:18 -05:00
reload-renderer.mjs Revert "Revert "perf(desktop): cut per-keystroke layout + listener churn in chat composer"" 2026-05-21 18:57:18 -05:00
reload.mjs chore(desktop): synthetic-stream perf harness + scripts 2026-05-21 19:38:26 -05:00
set-exe-identity.cjs fix(installer): stamp Hermes icon onto Hermes.exe via rcedit (no winCodeSign) 2026-05-29 00:50:14 -04:00
stage-native-deps.cjs desktop: swap node-pty fork for upstream microsoft/node-pty 1.1.0 2026-05-18 21:50:53 -07:00
test-desktop.mjs desktop: swap node-pty fork for upstream microsoft/node-pty 1.1.0 2026-05-18 21:50:53 -07:00
write-build-stamp.cjs feat(desktop): thin installer + first-launch install.ps1 bootstrap 2026-05-18 02:26:46 -04:00