Skip to content

feat(codex): add tray menu flyout for Codex accounts (PR 5/5) - #260

Merged
Finesssee merged 1 commit into
nesszer:mainfrom
BlazzzPlay:feat/codex-account-tray-menu
Aug 6, 2026
Merged

feat(codex): add tray menu flyout for Codex accounts (PR 5/5)#260
Finesssee merged 1 commit into
nesszer:mainfrom
BlazzzPlay:feat/codex-account-tray-menu

Conversation

@BlazzzPlay

@BlazzzPlay BlazzzPlay commented Aug 5, 2026

Copy link
Copy Markdown

Summary

  • Add the ADR 0003 tray menu flyout (option A): CodexAccountsMenu renders an expandable <details> summary inside the Codex tray card.
  • Collapsed state shows an account count; expanded shows per-account usage bars + switch actions, wired to the shared bridge.
  • MenuCard mounts it for codex provider cards; maskEmail exported for reuse. Adds flyout styles to styles.css.

Related issue

ADR 0003 (docs/adr/0003-multi-account-codex.md). No issue number yet.

Affected areas

  • Tray panel
  • Settings UI
  • Config file / settings persistence
  • Provider-specific behavior (Codex tray flyout)
  • Installer / release packaging
  • Startup / background behavior
  • Documentation
  • Other:

Validation

Hosted PR check runs on Blacksmith Windows when CI_BUDGET_MODE is not off (see .github/workflows/pr-check.yml and CONTEXT.md). Still run the local slice and list commands/results below. If a check is not relevant, say why.

  • powershell.exe -ExecutionPolicy Bypass -NoProfile -File scripts\local-check.ps1
  • For full pre-release validation: powershell.exe -ExecutionPolicy Bypass -NoProfile -File scripts\local-check.ps1 -All -Version <version>
  • For installer/release changes: powershell.exe -File scripts\windows-release-build.ps1 -Ref <ref> -SmokeInstall
  • Thermo-nuclear code quality review completed before submitting: https://github.com/cursor/plugins/blob/main/cursor-team-kit/skills/thermo-nuclear-code-quality-review/SKILL.md
  • Other: pnpm test CodexAccountsMenu (3 tests) and pnpm run build pass

UI / tray proof

For UI, tray, settings, or visual behavior changes, use CUA Driver for visual proof. If CUA Driver cannot be used, explain why and attach equivalent manual proof.

  • Not applicable
  • CUA Driver visual proof attached
  • CUA Driver could not be used; equivalent manual proof and explanation attached — component verified via unit tests (jsdom). This is the final slice of the ADR 0003 chain; a single CUA pass covering panel + tray flyout on a Windows host is planned once the chain is merged (AGENTS.md: tray/WebView2 behavior requires Windows-native validation).

Notes for reviewers

Chain Context

Field Value
Chain codex-multi-account (ADR 0003)
Tracker PR Not needed (stacked PRs to main)
Position 5 of 5
Base main (rebase after #259 merges)
Depends on #259 (settings accounts panel)
Follow-up None — chain complete; single CUA validation pass on Windows
Review budget 427 / 400 (marginal size:exception: co-located test + styles travel with the component)
Starts at #259 merged state
Ends with Codex accounts flyout renders in the tray menu; ADR 0003 feature complete

Chain Overview

main
 ├── #255 domain core — reviewed
 ├── #256 shell commands + lanes — reviewed
 ├── #258 frontend bridge + i18n — reviewed
 ├── #259 settings accounts panel — reviewed
 └── 📍 #5 This PR — tray menu flyout

Scope

  • Includes: CodexAccountsMenu.tsx (+ test), MenuCard.tsx integration, flyout styles in styles.css.
  • Excludes: nothing — final slice.

Autonomy

  • CI is expected to pass for this PR branch
  • This PR has one deliverable scope
  • This PR can be rolled back without unrelated changes
  • Tests cover this unit (3 jsdom tests)

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

This repository allows each user to open at most 4 pull requests per 7 days.

Closing this automatically.

@github-actions github-actions Bot closed this Aug 5, 2026
@Finesssee Finesssee reopened this Aug 5, 2026
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

This repository allows each user to open at most 4 pull requests per 7 days.

Closing this automatically.

@Finesssee

Copy link
Copy Markdown
Collaborator

Thanks for the PR, I will review this ASAP.

@github-actions github-actions Bot closed this Aug 5, 2026
@Finesssee Finesssee reopened this Aug 6, 2026
@Finesssee

Copy link
Copy Markdown
Collaborator

Thermo-nuclear review (5/5 — tray flyout): approve pending maintainer-run CUA proof; guard situation already resolved.

<details>-based expandable account list inside the Codex tray card keeps the flyout inside the single provider card — good containment, no global layout monkey-patching; the maskEmail reuse note is a clean export boundary. Two legacy github-actions auto-close comments on this PR are leftovers from the former 4-PR/7d interaction cap — today's guard update (#263, 15 PRs per 7-day window) means guard now passes on this PR, and the check rollup confirms it.

Same CUA note as 4/5: we'll produce the tray-flyout proof after rebuilding locally post-merge. For merge order and the author-rebase-between-merges requirement, see the stacked-merge instructions on #255.

Render an expandable Codex accounts flyout inside the tray menu card
(option A): collapsed summary, per-account usage bars, and switch
actions, using the shared bridge. Adds the flyout styles and MenuCard
integration.
@Finesssee
Finesssee force-pushed the feat/codex-account-tray-menu branch from 25fe257 to 8cc1332 Compare August 6, 2026 06:41
@Finesssee
Finesssee merged commit 0cd9758 into nesszer:main Aug 6, 2026
2 checks passed
Finesssee added a commit that referenced this pull request Aug 6, 2026
)

Follow-up CUA proof pass on #260 caught two defects:

1. Settings Codex-accounts card: a long account email paints over the
   3-button actions row at the fixed 720px window and the 'No usage data'
   text wraps word-by-word. Pin the info column with min-width:0 +
   overflow/ellipsis/nowrap, cap the title at max-width:100% so it
   ellipsizes, and lock the actions row with flex-shrink:0 + nowrap.
2. Tray Codex accounts menu: an account whose snapshot only carries a
   weekly window (primaryWindow: null) rendered no usage bar. Fall back
   in canonical order (primary -> secondary; the account-snapshot bridge
   carries no tertiary/extra windows) so weekly-only accounts still
   render a bar.

Tests: CodexAccountsMenu renders a 42% bar from a weekly-only snapshot;
CodexAccountsSection asserts the containment CSS rules are present.
@Finesssee

Copy link
Copy Markdown
Collaborator

Follow-up CUA proof pass caught two polish defects found post-merge: (1) settings accounts card email overflow overlapping the actions row, (2) tray usage bar missing when an account snapshot has primaryWindow:null (weekly-only responses). Fixed in #264.

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.

2 participants