Skip to content

fix(web): a room redeploys its released agents and names them in avatars (CL-8454) - #888

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-8454-room-redeploy
Sep 18, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-8454-room-redeploy

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

  • A hub restart releases every process-provisioned deployment, so a workbench room could end up with no live agent even though Participants still listed one. Room now renders an AgentRedeployer per released agent (asset present, no live run), which redeploys it through the same path workbench-create.ts uses: deployMyraSource for Myra, readAgentSource + deployAgentSource for anything else, then invalidates the room scope.
  • Redeploy is triggered in the render path, guarded by a useRef plus the mutation's own isPending/isSuccess, one AgentRedeployer instance per released agent's asset id — no useEffect.
  • The composer disables with "<name> is starting…" while any agent is released, matching chat-thread-page.tsx's pattern, and the participants query polls every 3s while an agent has no live address.
  • Room message avatars now resolve through resolveParticipantName (participant display name, e.g. Myra → "M") instead of the raw run-address local part.
  • RoomParticipant gained an optional assetName, needed to redeploy/read source back for a released agent.

Test plan

  • bunx tsc -p apps/web --noEmit
  • bun run fmt
  • bun run lint
  • cd apps/web && bun run build
  • No new tests added (none existed for these files); bun test apps/web/src shows pre-existing document is not defined failures unrelated to this change (missing DOM env in the invocation used), none in the files touched here.

@linear-code

linear-code Bot commented Sep 18, 2026

Copy link
Copy Markdown

CL-8454

@TheGreatAxios
TheGreatAxios merged commit c26eaf4 into main Sep 18, 2026
4 checks passed
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