fix: keep Codex account switcher labels private and distinct - #3551
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 662ed6534c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Codex review: needs changes before merge. Reviewed September 11, 2026, 3:13 AM ET / 07:13 UTC (Revision 2). ClawSweeper reviewWhat this changesThe PR makes Codex account-switcher titles and tooltips honor Hide Personal Info, preserves distinct account numbers in narrow layouts, and adds regression coverage and documentation. Merge readiness⛔ Needs changes before merge - 1 item remains The fix remains necessary on main. Both previous findings are resolved, and the inspected native proof supports the revised presentation. No blocking patch defect was found. Priority: P2 Review scores
Verification
How this fits togetherCodexBar builds its account switcher from visible Codex accounts and the existing privacy preference. Display labels identify buttons, while unchanged account IDs and callbacks control selection. flowchart TD
A[Visible Codex accounts] --> C[Switcher labeling]
B[Privacy preference] --> C
C --> D[Numbered private labels]
C --> E[Original account labels]
D --> F[Buttons and tooltips]
E --> F
F --> G[Select original account ID]
Before merge
Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Keep privacy masking in the presentation layer, reuse the existing redactor, and preserve account identity and selection behavior. Do we have a high-confidence way to reproduce the issue? Yes, from source: enable Hide Personal Info and display Codex accounts; main still builds switcher titles and tooltips from unredacted identity fields. This review did not execute the app. Is this the best way to solve the issue? Yes. The patch extends the existing privacy preference and redactor to the missing presentation surface without changing stored accounts, authentication, or selection callbacks. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against f277e7ee6afd. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (1 earlier review cycle)
|
662ed65 to
495287c
Compare
495287c to
0beb13e
Compare
Honor Hide Personal Info in account button titles and tooltips, including email text embedded in workspace labels. Prefix private labels with account numbers and preserve those numbers when labels shorten, without changing selection callbacks or ordinary labels. Reuse existing redaction and test seams while extracting the Codex switcher view. Includes label, selection and synthetic native regression proof. Co-authored-by: Chandler Anderson <chanderson90@proton.me>
Use the stored account slot identity when a managed account becomes the live CLI account. Extend the real projection regression for numbering and private labels, preserve profile selection numbering, and record the verified 0.59.1 bug batch in the changelog.
0beb13e to
7e1c6aa
Compare
Prevent repeated migration reseeds from starving waiting Codex history files. Preserve normalized pending paths before new revisits, initial newest-first ordering, and exact completion validation. Includes exact released native-parser adoption coverage, the previously omitted migration suite, bounded-progress/completion tests, and accurate native versus Pi/OMP compatibility documentation. Related to #3411. The coordinated 0.59.1 changelog is recorded with companion #3551. Validation: 192 focused tests, full 1,066-selection suite, lint/hash checks and independent P0–P2 review passed. Co-authored-by: Nikolenko.Sergei <Nikolenko.Sergei@icloud.com>
|
Landed as 4cfb60692bd. Hide Personal Info now reaches switcher titles and tooltips, including email-like workspace labels. Numbered labels stay distinguishable in narrow buttons, and stored-account identity keeps their numbers stable when an account becomes the live CLI account. Thanks @zenibako. Verification used isolated model/projection fixtures and a Developer-ID-signed native window: swift test --filter 'CodexAccountSwitcherRedactionTests|StatusMenuCodexSwitcherTests|CodexWorkspaceDisplayTests|ProviderArchitectureGatekeeperTests'
make check
make testThe commands ran through the credential/session-isolating test wrapper. The original proposal failed four privacy/collision assertions, and the first revision failed four promotion-stability assertions; all are covered by the final regressions. The focused run passed 79 tests. The final full suite passed all 1,068 selections / 89 groups on the first attempt, with no retries or timeouts. Lint reported zero violations, independent P0–P2 review was clean, and exact-head CI passed. The signed CodexSwitcherPrivacyNativeProofTests fixture verified Light/Dark appearances, privacy on at 320/150 points, privacy off at 320 points, actual titles/tooltips and 24 button-selection callbacks per run. The inspected synthetic before/after captures are embedded in the PR body. No real account or credentials were used. Docs and the 0.59.1 Unreleased changelog include both this fix and #3548. |
Honors Hide Personal Info in the Codex account switcher’s titles and tooltips. The switcher previously displayed raw identity while the card below it hid the same email.
The maintainer pass also fixes two gaps in the proposal: workspace labels can themselves contain an email, and generated collision suffixes can collide with a real workspace name. Private labels now prefix an account number and reuse the existing email redactor for workspace hints. If a hint still looks like an email, the label uses only its number. Narrow buttons preserve the number instead of truncating away the discriminator. Numbering follows persisted stored-account slots, so promotion to the live CLI role does not renumber the same account. Normal labels and selection callbacks are unchanged.
The view is extracted from the large switcher file, and the existing test accessors are reused. Provider docs are updated. The 0.59.1 changelog records this fix and companion #3548.
Validation:
make check: zero violations across 2,181 files. Independent P0–P2 review is clean.Thanks @zenibako!
Inspected synthetic native before/after proof