Skip to content

fix: recover dashboard terminal transports when websocket sidecars fail#450

Open
harsh-batheja wants to merge 9 commits intomainfrom
fix/dashboard-terminal-transport-reliability
Open

fix: recover dashboard terminal transports when websocket sidecars fail#450
harsh-batheja wants to merge 9 commits intomainfrom
fix/dashboard-terminal-transport-reliability

Conversation

@harsh-batheja
Copy link
Collaborator

Summary

  • add an in-process terminal transport supervisor that probes the 14800/14801 websocket services, restarts them when they fail, and exposes degraded transport state through a new terminal health API plus the existing session APIs
  • surface terminal transport degradation in the dashboard and session terminal UI so active sessions remain visible while websocket services recover instead of silently losing the interface
  • align ao start with the supervised Next.js launch path and add regression coverage for restart recovery, port-conflict degradation, API health exposure, and the dashboard banner

Verification

  • corepack pnpm --filter @composio/ao-web test -- src/lib/__tests__/terminal-transport.test.ts src/__tests__/api-routes.test.ts src/components/__tests__/Dashboard.terminalHealth.test.tsx src/components/__tests__/DirectTerminal.test.ts
  • corepack pnpm --filter @composio/ao-cli test -- __tests__/commands/start.test.ts
  • corepack pnpm --filter @composio/ao-web typecheck
  • corepack pnpm -r build

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

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.

1 participant