Skip to content

fix(web): Run on is one list, and every cloud machine has its own name - #376

Merged
johnnyelwailer merged 4 commits into
mainfrom
fix/run-on-distinct-cloud-machines
Oct 6, 2026
Merged

johnnyelwailer merged 4 commits into
mainfrom
fix/run-on-distinct-cloud-machines

Conversation

@johnnyelwailer

Copy link
Copy Markdown
Owner

Two connected cloud machines were both registered as "Cloud session", so the Run-on menu's label de-duplication folded them into one entry and the second leaked back in as a separate "Ready" row under a second "Cloud" section.

  • One list: This computer, one row per cloud machine (name over "Ready · ubuntu-slim · …", selectable once connected, click-to-connect when not), New cloud session. No second section.
  • Cloud environments skip label de-duplication: each is its own machine.
  • Names: a caller-given name on create (for the agent tool to come), else the project's repository, else "Cloud session"; plus the start time. The name rides in the dispatch tag, so no workflow change.
  • Settings › Connections shows the same names.

🤖 Generated with Claude Code

Two connected cloud machines were both registered as "Cloud session", so the
menu's label de-duplication folded them into one entry and the second leaked
back in as a separate "Ready" row under a second "Cloud" section.

The menu is now one list: the machines, one row per cloud machine (its name
over what it is doing, selectable once connected), then New cloud session.
Cloud environments skip the label de-duplication. A machine is named by what
it is for (a caller-given name, else its project's repository) and when it
started; the name rides in the dispatch tag, so no workflow change is needed.
Settings > Connections shows the same names.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-06T09:45:15.553624Z b423ec3 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Oct 6, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b423ec3bf7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +23 to +29
export function RunOnCloudRow(props: {
readonly row: Row;
readonly selectable: boolean;
readonly connecting: boolean;
readonly onConnect: (session: CloudSession) => void;
readonly onDismiss: ((session: CloudSession) => void) | undefined;
}) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Add Storybook coverage for the new cloud row

The new reusable RunOnCloudRow component has no Storybook story, despite exposing several user-visible states: connected/selectable, ready, connecting, provisioning, and failed/dismissable. Add stories covering these states and their interactions so this reusable t3team UI component meets the repository's required Storybook coverage.

AGENTS.md reference: AGENTS.md:L102-L108

Useful? React with 👍 / 👎.

const started = session.startedAt === undefined ? null : new Date(session.startedAt);
if (started === null || Number.isNaN(started.getTime())) return base;
const sameDay = started.toDateString() === now.toDateString();
return `${base} · ${(sameDay ? timeFormat : dayTimeFormat).format(started)}`;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Include a collision-proof suffix in machine display names

When two sessions for the same repository start within the same minute—which can happen through consecutive creates or concurrent clients—both format to the exact same name because the timestamp only includes hours and minutes. Their detail text is also normally identical, so the new rows and selected trigger remain indistinguishable even though this formatter is intended to tell machines apart; include seconds or a stable session-derived suffix.

Useful? React with 👍 / 👎.

@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for 17d935f.

This comment will update automatically after the next completed run.

Phil J and others added 3 commits October 6, 2026 11:50
Review finding: BranchToolbar folded the environments before handing them to
the selector, so a second connected cloud machine fell out and its row got
stuck on Connecting. The selector de-duplicates itself; it now gets the full
list. The session name is found by the tag's own shape, not the first
bracketed part of the run name.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A machine connected for another project never joins this project's
environments, so clicking it hung on Connecting. Such machines are no longer
listed; one the user just tried stays, saying it does not have this project.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant