Skip to content

Offer sign-in without losing the composer draft - #5413

Closed
brsbl wants to merge 5 commits into
mainfrom
bb/composer-selection-signin-main-thr_gt5eeahuym
Closed

brsbl wants to merge 5 commits into
mainfrom
bb/composer-selection-signin-main-thr_gt5eeahuym

Conversation

@brsbl

@brsbl brsbl commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Human comments

What was wrong

An installed but signed-out agent offered no recovery before submitting. Reused workspaces skipped provider health reads because their project host was absent.

What changed

  • Offer Sign in through the existing Agent step while preserving the draft and setup completion.
  • Resolve reused-workspace health through its environment and preserve supported Claude token authentication.

Supersedes #5317. Project selection has moved to #5415, independently based on main. This PR remains held for the user's sign-in behavior decision.

How you verified

  • Remote CI passed after the split and main integration at 9a6db07c11cfa91a8f71643739653a21048fa17d.
  • Prior review and Chrome for Testing 154.0.8037.92 QA passed sign-in recovery, draft preservation, and reused-workspace health routing.
  • External provider login was not performed. The proposed sign-in behavior still requires user approval.

The project-selection code is removed; setup replay supplies its telemetry entry after integrating main. Screenshots below are prior evidence from #5317: before 7af427b8e457c69069631adf27feebbbe2bfa0cd, after 7dbb618b424b85ba95c392a7c3665bd5f3117d8b. Full viewport captures use 1440 × 900 or 390 × 844 CSS pixels at 2×. These are not a new sign-off request.

Screen / state Before After
Signed out · desktop Before: Signed out · desktop After: Signed out · desktop
Signed out · dark Before: Signed out · dark After: Signed out · dark
Draft after closing sign-in · desktop Before: Draft after closing sign-in · desktop After: Draft after closing sign-in · desktop
Draft · phone Before: Draft · phone After: Draft · phone
Open sign-in guide · desktop Before: Open sign-in guide · desktop After: Open sign-in guide · desktop
Reused workspace · desktop Before: Reused workspace · desktop After: Reused workspace · desktop

Known P2 follow-up: idle composer health polling.

BB-Thread-ID: thr_gt5eeahuym

BB-Thread: Onboarding

AGENT GENERATED

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 12, 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-13T00:01:31.998581Z a99f537 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.

@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: a99f53749b

ℹ️ 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 +605 to +606
const composeProjectId = mostRecentImportedProjectId(imported);
if (composeProjectId !== null) setRootComposeProjectId(composeProjectId);

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 Cancel late project preselection after leaving setup

If the user clicks “Skip setup” or navigates back to a completed step while project creation is still pending, ProjectsStepContainer unmounts, but this asynchronous setter still runs when the imports finish. Because it writes the global root-compose atom, it can unexpectedly replace a project the user selected after leaving setup; primaryBusy disables only the import button, not those navigation controls. Guard this write against an obsolete/unmounted import or prevent leaving while it is pending.

Useful? React with 👍 / 👎.

Comment on lines +384 to +385
if (process.env.CLAUDE_CODE_OAUTH_TOKEN?.trim()) {
return healthResult("ready", { installedVersion: version });

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 Use the OAuth environment token for usage checks too

On a machine authenticated exclusively with CLAUDE_CODE_OAUTH_TOKEN and no saved credential file or Keychain entry, this now reports provider health as ready, but getClaudeProviderUsage() still reads only readCredentials() and returns unauthenticated. Consequently the Usage UI tells a working token-authenticated user to sign in and cannot fetch limits; the environment token needs to be used consistently by the usage path as well.

Useful? React with 👍 / 👎.

@brsbl brsbl changed the title Preserve imported project selection and signed-out composer drafts Offer sign-in without losing the composer draft Oct 13, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot closed this Oct 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This is an automated message. We have closed this pull request because it has been open for more than two weeks.

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