Skip to content

refactor(ui): simplify menu bar layout options - #4007

Closed
steipete wants to merge 1 commit into
mainfrom
triage/20260921-ui-prs-o
Closed

steipete wants to merge 1 commit into
mainfrom
triage/20260921-ui-prs-o

Conversation

@steipete

Copy link
Copy Markdown
Owner

The menu-bar layout editor repeated its Delete-key instructions beside the size, gap, and vertical controls and again in the section footer. Extract the existing controls into MenuBarLayoutDisplayOptions and remove the duplicate row hint and its 23 translations. The footer keeps the editing instructions; picker labels, settings bindings, deletion behavior, and the stepper range remain unchanged.

Adopts #3999 with credit to @elijahfriedman. Accessibility checks cover all four size/gap combinations and retained footer guidance. The synthetic settings proof now covers light and dark appearances with dictionary-backed defaults.

Verification

All Swift runs used CODEXBAR_SUPPRESS_TEST_KEYCHAIN_ACCESS=1, CODEXBAR_TEST_CODEX_FILE_ISOLATION=1, and CODEXBAR_TEST_SESSION_FILE_ISOLATION=1. The final run also set CODEXBAR_LAYOUT_OPTIONS_SCREENSHOT_DIR and CODEXBAR_LAYOUT_OVERRIDE_SCREENSHOT_DIR to the proof output directory.

  • swift test --jobs 2 --filter MenuBarLayoutDisplayOptionsTests: before removing the duplicate hint, the accessibility regression failed once; the other two tests passed. The controls had only been mechanically extracted at that point.
  • swift test --jobs 2 --filter 'MenuBarLayout|ProviderSettingsDescriptorTests|ProviderArchitectureGatekeeperTests|MenuLayoutScreenshotRenderTests/test_renderLayoutOverrideDisclosureProof': 300 Swift Testing tests and 1 XCTest render test passed, zero failures. The same accessibility regression passed.
  • make check: passed, zero lint violations in 2661 files.
  • Independent Codex review: scoped-clean through P2, no actionable findings.

Inspected the complete synthetic before/after editor captures and the 480/520-point options renders. No running app, real accounts, or saved user settings were used. Production diff: 51 insertions / 65 deletions, net −14 lines.

Synthetic settings proof

Appearance Before After
Light Before layout editor, light After layout editor, light
Dark Before layout editor, dark After layout editor, dark

Closes #3999
Refs #3973
Refs #3971

@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: 📸 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, 8:57 PM ET / September 26, 2026, 00:57 UTC (Revision 2).

ClawSweeper review

What this changes

In CodexBar’s macOS Menu Bar settings, the branch extracts the size, gap, and vertical controls into a separate row, removes the duplicate Delete hint from 23 localizations, and updates tests and UI documentation.

Merge readiness

✅ Ready for maintainer review

Keep open. The redundant instruction remains on current main and in v0.67.0. This owner-authored PR is a viable cleanup with direct visual evidence and no verified blocking defect.

Priority: P3
Reviewed head: 299564856a8fb0eaa9b0b8d21930513451bac89e

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) A focused patch and direct synthetic visual evidence support a normal good PR rating, with no observed correctness or security blocker.
Proof confidence 🐚 platinum hermit (4/6) Not applicable: The owner-authored PR has no mandatory contributor real-setup proof gate. Its synthetic light/dark captures render the production editor and visibly show the row hint removed and footer retained; the PR does not change a stored-data contract.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Not applicable Not applicable: The owner-authored PR has no mandatory contributor real-setup proof gate. Its synthetic light/dark captures render the production editor and visibly show the row hint removed and footer retained; the PR does not change a stored-data contract.
Evidence reviewed 9 items Introduced UI change: The extracted row receives the editor’s existing bindings and retains both picker styles and the −20…20 stepper range.
Still needed on main: Current main still renders the separate Delete hint in the options row; the branch removes it.
Footer guidance retained: The actual settings section still supplies the localized footer explaining how to select and delete a placed token.
Findings None None.
Security None None.

How this fits together

The macOS Menu Bar settings pane hosts the layout editor, which reads and writes saved size, gap, and vertical-adjustment choices. Those choices feed menu-bar rendering, while the settings section supplies 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
Production and test delta production +51/−65, net −14; tests +92/−9, net +83 The extracted production UI is smaller, while focused accessibility and render coverage expands.
Localization cleanup 23 hint keys removed The removed row instruction no longer needs a translated string.

Technical review

Best possible solution:

The shipped editor should have one compact options row, a single Delete instruction in the footer, unchanged saved-setting behavior, and clear credit for the earlier contribution.

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

Yes, from source and the before captures: current main shows Delete guidance in both the options row and section footer. This review did not run the current-main app.

Is this the best way to solve the issue?

Yes. The extraction keeps the existing preference bindings and stepper limits while removing the redundant instruction from the row.

AGENTS.md: found and applied where relevant.

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

Labels

Label changes:

No label changes.

Label justifications:

  • P3: This is a localized settings-pane usability cleanup with limited user impact.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: The owner-authored PR has no mandatory contributor real-setup proof gate. Its synthetic light/dark captures render the production editor and visibly show the row hint removed and footer retained; the PR does not change a stored-data contract.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. The owner-authored PR has no mandatory contributor real-setup proof gate. Its synthetic light/dark captures render the production editor and visibly show the row hint removed and footer retained; the PR does not change a stored-data contract.

Evidence

What I checked:

Likely related people:

  • unknown: The claimed source-line change could not be verified from bounded local history. (role: source history unknown; 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 (1 earlier review cycle)
  • reviewed 2026-09-25T21:06:38.986Z sha ed5e521 :: needs maintainer review before merge. :: none

@elijahfriedman

Copy link
Copy Markdown
Contributor

Hey @steipete, I noticed this has happened with a few of my recent PRs, whereas previously they were usually merged directly. Is there a reason for moving the changes into a new PR and adding me as a co-author instead of the main author?

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>
@steipete
steipete force-pushed the triage/20260921-ui-prs-o branch from ed5e521 to 2995648 Compare September 26, 2026 00:51
@steipete

Copy link
Copy Markdown
Owner Author

Fair question, @elijahfriedman, and you're right to push on it. The recent wave of triage adapted contributor PRs into maintainer branches so extra tests, changelog lines, and the architecture-anchor updates could be added in one go, with credit kept via co-author trailers and changelog thanks. That's still worse for you than a direct merge, and it isn't what this repo's own rule says (fix the contributor's PR, then merge it). So I'm reversing course here: your #3999 stays the PR that lands. I'll push the small additions (the extra render test, a doc line, the changelog entry, and the anchor refresh after merging main) as separate commits onto your branch, since it allows maintainer edits, and merge #3999 with your commits and authorship intact; #4007 will be closed as superseded. Going forward, PRs that allow maintainer edits get fixed in place and merged as yours; a new PR only happens when a rewrite is genuinely needed, and then with your credit. Thanks for the patience and for the contributions.

@steipete

Copy link
Copy Markdown
Owner Author

Superseded: the contributor's own PR #3999 was merged in place with maintainer additions pushed to their branch, so this duplicate is closed.

@steipete steipete closed this Sep 26, 2026
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. 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