Skip to content

Extract layout options row and remove hint - #3999

Merged
steipete merged 4 commits into
steipete:mainfrom
elijahfriedman:token-selection-ui
Sep 26, 2026
Merged

steipete merged 4 commits into
steipete:mainfrom
elijahfriedman:token-selection-ui

Conversation

@elijahfriedman

Copy link
Copy Markdown
Contributor

Summary

Clean up the menu bar layout editor's display-options row (Size / Gap / Vertical):

  • Show the current Size and Gap values. The menu pickers were squeezed down to just their chevrons, so you had to open them to see what was selected. Each picker now has a plain text label next to a compact popup sized to fit its value, like the Vertical control.
  • Remove the "Delete removes the selected token" hint from the right side of the row, and drop the menu_bar_layout_keyboard_hint string from all 23 locales.
  • Move the row into its own view, MenuBarLayoutDisplayOptions, which takes bindings, so it can be tested separately from the full editor.

Tests

New MenuBarLayoutDisplayOptionsTests:

  • In a narrow (480pt) row, both pickers show their selected title and aren't narrower than their intrinsic width.
  • The row no longer contains the keyboard hint.
  • Opt-in synthetic screenshot (light and dark) via CODEXBAR_LAYOUT_OPTIONS_SCREENSHOT_DIR.

Commands run

  • swift build --product CodexBar ✅
  • Launched the debug build and checked the Menu Bar settings pane by hand.
  • ran make check (Found 0 violations, 0 serious in 2621 files.)
  • ran make test

Screenshots

After:
Screenshot 2026-09-25 at 1 09 33 PM

@clawsweeper

clawsweeper Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

ClawSweeper review complete

ClawSweeper finished reviewing this revision. The review result is being finalized.

View the workflow run.

@clawsweeper clawsweeper Bot added P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. proof: sufficient Contributor real behavior proof is sufficient. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Sep 25, 2026
@clawsweeper

clawsweeper Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Codex review: needs maintainer review before merge. Reviewed September 25, 2026, 10:21 PM ET / September 26, 2026, 02:21 UTC (Revision 4).

ClawSweeper review

What this changes

The branch extracts the menu-bar layout editor’s Size, Gap, and Vertical controls into a separate row, keeps selected picker values visible, and removes the duplicate Delete hint and its translations.

Merge readiness

✅ Ready for maintainer review

The change remains useful: current main still shows duplicate Delete guidance. A related maintainer PR overlaps, but the owner explicitly chose to land this contributor branch and close the other PR. The current patch and visual proof show no blocking defect.

Priority: P3
Reviewed head: 3d246c261d3286c9a5c24bc75f4e47c75888de12

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) Direct visual proof and focused coverage support a sound UI cleanup with no verified blocking defect.
Proof confidence 🦞 diamond lobster (5/6) ✨ media proof bonus Sufficient (screenshot): The changed production owner is the layout editor’s display-options row. A supplied running-app screenshot shows selected Size and Gap values, and prepared settings renders show the after-fix row without the duplicate hint while retaining footer guidance. No stored-data contract changes.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Verified Sufficient (screenshot): The changed production owner is the layout editor’s display-options row. A supplied running-app screenshot shows selected Size and Gap values, and prepared settings renders show the after-fix row without the duplicate hint while retaining footer guidance. No stored-data contract changes.
Evidence reviewed 7 items Current main still needs the cleanup: The base revision renders the Delete hint in the options row, while the settings section also supplies Delete guidance in its footer.
Introduced UI behavior: The extracted row uses the editor’s existing settings bindings, removes the row hint, and gives the Size and Gap pickers their intrinsic widths.
Saved choices remain connected: Size and Gap retain the editor’s persistence bindings; the vertical adjustment continues to use its saved setting.
Findings None None.
Security None None.

How this fits together

CodexBar’s Menu Bar settings pane reads saved layout choices and passes them to the layout editor. The editor updates those choices for menu-bar rendering, while the settings section provides token-editing guidance.

flowchart LR
  A[Saved layout choices] --> B[Menu Bar settings]
  B --> C[Layout editor]
  C --> D[Display options row]
  D --> E[Updated choices]
  E --> F[Menu-bar rendering]
  B --> G[Editing guidance footer]
Loading

Before merge

None.

Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Localization cleanup 23 hint strings removed The deleted row instruction no longer needs a translated string.
Production and test delta production +69/−42; tests +94/−9 The production growth extracts a testable view; focused accessibility and render coverage accompanies it.

Root-cause cluster

Relationship: canonical
Canonical: #3999
Summary: The overlapping maintainer PR covers the row-hint cleanup, and the owner explicitly chose this contributor branch as the landing path.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Technical review

Best possible solution:

Land the contributor branch with its added regression coverage and retained authorship, then close the overlapping maintainer PR as planned.

Do we have a high-confidence way to reproduce the issue?

Not applicable as a bug reproduction: current-main source and the supplied before image show the duplicate row instruction, and the after images show its removal.

Is this the best way to solve the issue?

Yes. The branch preserves the existing preference bindings and footer guidance while making the row independently testable.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning medium; reviewed against e953c92568e8.

Labels

Label changes:

No label changes.

Label justifications:

  • P3: This is a localized settings-pane usability improvement with limited user impact.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (screenshot): The changed production owner is the layout editor’s display-options row. A supplied running-app screenshot shows selected Size and Gap values, and prepared settings renders show the after-fix row without the duplicate hint while retaining footer guidance. No stored-data contract changes.
  • proof: sufficient: Contributor real behavior proof is sufficient. The changed production owner is the layout editor’s display-options row. A supplied running-app screenshot shows selected Size and Gap values, and prepared settings renders show the after-fix row without the duplicate hint while retaining footer guidance. No stored-data contract changes.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. The changed production owner is the layout editor’s display-options row. A supplied running-app screenshot shows selected Size and Gap values, and prepared settings renders show the after-fix row without the duplicate hint while retaining footer guidance. No stored-data contract changes.

Evidence

What I checked:

Likely related people:

  • steipete: Suggested for follow-up; no historical authorship or introduction is verified. (role: unverified routing candidate; confidence: low)
  • luantu: Suggested for follow-up; no historical authorship or introduction is verified. (role: unverified routing candidate; confidence: low)

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

History

Review history (3 earlier review cycles)
  • reviewed 2026-09-25T17:56:59.117Z sha 4b679a6 :: needs maintainer review before merge. :: none
  • reviewed 2026-09-25T18:33:13.985Z sha 6d4a2fb :: needs maintainer review before merge. :: none
  • reviewed 2026-09-25T20:10:25.673Z sha f6de52d :: needs maintainer review before merge. :: none

steipete added a commit that referenced this pull request Sep 26, 2026
Extract the existing size, gap, and vertical-adjustment controls from the
layout editor. Remove duplicated Delete guidance while preserving the
section footer, bindings, picker labels, and stepper range.

Adopt #3999 with accessibility coverage and synthetic light/dark renders.

Co-authored-by: Elijah Friedman <efriedman810@gmail.com>
Merge current main into steipete#3999 without rewriting the contributor commits or changing the layout implementation. Add size/gap accessibility coverage, footer regression proof, synthetic light/dark captures, UI documentation, and maintainer release notes.
@steipete
steipete merged commit 56bf55b into steipete:main Sep 26, 2026
9 checks passed
@steipete

Copy link
Copy Markdown
Owner

Merged as yours, @elijahfriedman, with your three commits intact; the only additions are the maintainer commits on top (extra render coverage, a doc line, the changelog entry, and the merge from main). It ships in 0.67.1. Thanks again, and sorry for the detour.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants