Skip to content

fix: reconcile live auth and improve release UX - #135

Merged
joonshakya merged 5 commits into
mainfrom
codex/auth-identity-release-workflow
Aug 27, 2026
Merged

fix: reconcile live auth and improve release UX#135
joonshakya merged 5 commits into
mainfrom
codex/auth-identity-release-workflow

Conversation

@joonshakya

Copy link
Copy Markdown
Collaborator

Summary

  • Require the stored account and live auth.json credentials to resolve to the same ChatGPT account ID before synchronizing tokens.
  • Preserve legacy accounts by deriving their account ID from the stored ID token when possible.
  • Reconcile the active account with Codex's live credentials before fetching usage.
  • Allow usage limits and account metadata to load while Codex/ChatGPT is running without rotating its active refresh token.
  • Add a required release note to the release helper and store it in the annotated Git tag.
  • Pass the release note to the GitHub release body so it appears in the updater prompt.
  • Move the Warm Up All action from the overflow menu to an icon-only amber button in the navigation bar.

Why

PRs #128 and #134 fixed stale refresh-token restoration and expired ID tokens during account switching.

This follow-up addresses two remaining problems:

  1. Live credentials could be copied into a stored profile when the stored account identity was unknown.

  2. Refreshing usage for the active account failed while Codex was running with:

    Cannot refresh the active account while Codex/ChatGPT is running

The active account now uses credentials already refreshed by the running Codex app. Codex Switcher does not attempt to rotate that account's refresh token.

Validation

  • cargo test --manifest-path src-tauri/Cargo.toml — 47 passed
  • cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets — completed with 11 pre-existing warnings
  • pnpm build
  • Workflow YAML validation
  • git diff --check
  • Manually refresh usage while Codex is running
  • Manually trigger Warm Up All from the navigation bar
  • Verify a test release displays the supplied release note

Related

Reject live token synchronization unless stored and live credentials resolve to the same ChatGPT account. Derive identity from legacy stored ID tokens when possible.
Reconcile the active profile from Codex auth.json while Codex is running. Avoid rotating its refresh token and allow metadata and usage requests to continue with the live session.
@joonshakya
joonshakya merged commit a16f879 into main Aug 27, 2026
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