Skip to content

fix: show the browser as offline when its worker is unreachable - #64

Merged
davidmckayv merged 2 commits into
CopilotKit:mainfrom
asasemahmed:fix/browser-worker-status
Sep 26, 2026
Merged

davidmckayv merged 2 commits into
CopilotKit:mainfrom
asasemahmed:fix/browser-worker-status

Conversation

@asasemahmed

@asasemahmed asasemahmed commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

What changed

The header showed "Computer · ready" whenever a browser worker was configured, even if the worker was down. Now the workspace checks the worker's /health (2-second timeout, cached for 15 seconds). If it doesn't answer, the browser shows as offline, and "take control" only shows when the worker is reachable.

Screenshots

Worker configured but not running:

pr64-offline

Worker running:

pr64-ready

Verification

  • reachable() test: the browser counts as reachable only while the worker answers, and a recent answer is reused briefly.
  • Route test: GET /api/workspace reports the browser connection as unavailable when the worker's /health fails, and connected when it answers. It fails without the app.ts change.
  • Rebased onto main. pnpm typecheck passes, biome ci passes on the changed files, and pnpm test: 200 passed, 0 failed, 1 skipped (POSIX-only).

@davidmckayv

Copy link
Copy Markdown
Contributor

Needs two things before merge. CONTRIBUTING requires a screenshot for UI changes, so add one showing the offline state. The test covers reachable() only, not the status change in app.ts, so add a route-level test that the workspace response reports the browser offline when the worker's /health is unreachable.

@asasemahmed
asasemahmed force-pushed the fix/browser-worker-status branch from 3c14d53 to 824cb06 Compare September 25, 2026 20:32

@davidmckayv davidmckayv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both requested additions are present: a workspace-route regression for unavailable workers and screenshots showing the offline state. All seven CI checks pass on the reviewed head.

@davidmckayv
davidmckayv merged commit 50bace9 into CopilotKit:main Sep 26, 2026
7 checks passed
markhiltonapps pushed a commit to markhiltonapps/openmuse that referenced this pull request Sep 27, 2026
Brings in five fixes from CopilotKit/OpenMuse main:
- keep browser evidence identity separate from session identity (CopilotKit#29)
- suggest the openai/ prefix for gateway model IDs (CopilotKit#55)
- alert on every failure streak of a watch, not just the first (CopilotKit#60)
- show the browser as offline when its worker is unreachable (CopilotKit#64)
- keep completed reviewed actions terminal on replay (CopilotKit#37)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MfTjvNDS5CdhPPisYxjwAv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants