Adom Bridge
Public Made by Adomby adom
Adom Bridge unleashes your AI onto your full PC: full power, full safety. The AI breaks out of the container it runs in and onto your real machine, managing and running your entire laptop as you: launch apps, move files, drive any window, control KiCad, Fusion 360 or your real signed-in browser. Works with any AI, cloud or local (Claude Desktop, Claude Code, Codex), no Hydrogen required. Bridge and its bridges are an operating system for AI, with managed Node and Python runtimes, and a human-onl
Closing the app leaves a background process (WebView2 host / port-47200 singleton) that blocks relaunch until killed in Task Manager
Type: Bug report · sibling HD issue filed on adom/hydrogen-desktop
Symptom: After closing the Adom Desktop window, a background process keeps running and blocks re-opening the app until it's killed in Task Manager. Same class of bug as reported for Hydrogen Desktop — both are Tauri/WebView2 apps and both exhibit it.
Topology captured live from the host while AD was open (AD is embedded/serving this session, so I did not close it to observe the after-state).
Live topology (AD)
adom-desktop.exe pid=9572 ppid=8460
└─ msedgewebview2.exe pid=39696 (+child msedgewebview2 processes) <-- WebView2 host tree
Fixed loopback listeners owned by AD:
127.0.0.1:47200 AD relay / direct endpoint (pid 9572)
::1:64339 / 127.0.0.1:64339 (WebView2)
Why relaunch is blocked (analysis)
- Hardcoded singleton. AD binds a fixed port (47200) and (like HD) uses a named-mutex single-instance guard — no lock file exists to delete, so Task Manager is the only recovery (matches the report).
- WebView2 host survives the main.
msedgewebview2.exepid 39696 (+children) is a separate tree fromadom-desktop.exe. If AD's exit doesn't close the WebView2 controller/environment and wait for it, the tree lingers holding the user-data-dir lock and keeps port 47200's owner effectively alive. - Embedded-mode ordering. When HD bundles AD (embedded mode), HD supervises AD and respawns it on a failed health probe (observed:
[ad-supervisor] AD health probe failed - attempting respawn). A close/respawn race can leave a stale AD (or its WebView2 host) holding 47200 while a new one tries to bind it. - Stray helper:
adom-stayawake.exe(C:\Users\drew\adom-screensaver\adom-stayawake.exe, pid 22480) is parented to explorer.exe, not AD — spawned detached and never reaped on close. Needs a defined owner + shutdown. - No shutdown instrumentation in the AD log — can't confirm graceful teardown runs.
Suggested fixes
- On exit: close the WebView2 controller/environment and wait for the host to exit; release the single-instance mutex; unbind 47200.
- Shutdown watchdog: force-kill AD's own WebView2 host tree + self if graceful exit stalls.
- Self-healing startup: if 47200 / the mutex is held by a dead-or-unresponsive PID, reclaim it (kill stale, take over) instead of refusing.
- Coordinate embedded-mode close/respawn with HD so the two can't race on port 47200.
- Give
adom-stayawakea defined lifecycle; add shutdown-path logging.