agent-orchestrator/frontend
Harshit Singh Bhandari ea54f31b24
fix(daemon): fall back to ephemeral port on conflict + harden teardown (#386)
Fixes the packaged desktop app getting permanently stuck on "AO daemon
is not ready" (#385) via two daemon-lifecycle fixes.

1. Port conflict no longer exits the daemon. When the configured port
   (default 127.0.0.1:3001) is held by a non-AO process, NewWithDeps now
   falls back to an OS-assigned ephemeral port instead of returning a bind
   error. A genuine peer AO daemon is already ruled out upstream (the
   running.json + /healthz check in daemon.Run), so a conflict here means a
   foreign holder. The bound port is logged ("daemon listening") and written
   to running.json, both of which the supervisor reads, so the fallback
   propagates to the renderer with no UI changes.

2. Detached daemon is torn down on more exit paths. before-quit already
   group-kills the daemon, but app.exit() and some shutdown routes skip it,
   orphaning the daemon so it keeps holding the port for the next launch. A
   synchronous process 'exit' handler now also signals the daemon's process
   group. A hard SIGKILL/crash still can't run JS, but fix #1 covers the
   orphan that leaves behind.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 22:05:14 +05:30
..
assets fix(desktop): green the tag desktop build on Linux/Windows and add app icon (#348) 2026-06-20 21:53:11 +05:30
docs feat(frontend): scaffold for frontend with complimentary backend changes (#168) 2026-06-10 11:40:17 +05:30
e2e test(e2e): guard sidebar brand vs macOS titlebar cluster (#366) (#374) 2026-06-22 13:14:01 +05:30
scripts Split: backend runtime/session updates + frontend shell refactor (#222) 2026-06-13 12:18:55 +05:30
src fix(daemon): fall back to ephemeral port on conflict + harden teardown (#386) 2026-06-22 22:05:14 +05:30
.npmrc feat(renderer): clone agent-orchestrator shell and inspector 2026-06-11 16:45:00 +05:30
components.json feat(renderer): clone agent-orchestrator shell and inspector 2026-06-11 16:45:00 +05:30
forge.config.ts fix(forge): set deb maker bin to executableName so Linux .deb builds 2026-06-22 20:30:54 +05:30
index.html feat(frontend): scaffold for frontend with complimentary backend changes (#168) 2026-06-10 11:40:17 +05:30
package-lock.json fix(desktop): green the tag desktop build on Linux/Windows and add app icon (#348) 2026-06-20 21:53:11 +05:30
package.json fix(desktop): green the tag desktop build on Linux/Windows and add app icon (#348) 2026-06-20 21:53:11 +05:30
playwright.config.ts feat(frontend): scaffold for frontend with complimentary backend changes (#168) 2026-06-10 11:40:17 +05:30
pnpm-lock.yaml feat(renderer): clone agent-orchestrator shell and inspector 2026-06-11 16:45:00 +05:30
pnpm-workspace.yaml feat(renderer): clone agent-orchestrator shell and inspector 2026-06-11 16:45:00 +05:30
tsconfig.json feat(renderer): clone agent-orchestrator shell and inspector 2026-06-11 16:45:00 +05:30
vite.main.config.ts feat(frontend): scaffold for frontend with complimentary backend changes (#168) 2026-06-10 11:40:17 +05:30
vite.preload.config.ts feat(frontend): scaffold for frontend with complimentary backend changes (#168) 2026-06-10 11:40:17 +05:30
vite.renderer.config.ts feat(frontend): add live browser panel (#375) 2026-06-22 04:14:18 +05:30
vitest.config.ts fix(spawn): stop sending branch on spawn, render API errors, wire worker name (#171) 2026-06-11 12:13:30 +05:30