Enable settings window minimization - #2945
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. |
|
Codex review: needs maintainer review before merge. Reviewed August 16, 2026, 12:38 AM ET / 04:38 UTC. ClawSweeper reviewWhat this changesThe PR adds the native miniaturizable window style to CodexBar’s Settings window, covers it with an AppKit regression test, and includes a runtime screenshot of the enabled control. Merge readinessThis is a focused, correct UI bug fix with sufficient real macOS proof and no blocking review findings; it should remain open for normal maintainer merge review. Priority: P3 Review scores
Verification
How this fits togetherCodexBar’s SwiftUI Settings scene uses an AppKit bridge to configure its native window. That bridge controls the title bar and standard macOS window controls presented to the user. flowchart LR
A[SwiftUI Settings scene] --> B[AppKit window bridge]
B --> C[Window style setup]
C --> D[Native title bar]
D --> E[Enabled minimize control]
Before merge
Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Merge this narrow bridge-and-regression-test change after routine maintainer review; the existing presentation path already restores a minimized Settings window when reopened. Do we have a high-confidence way to reproduce the issue? Yes, by source inspection: current main’s bridge configures a titled Settings window without adding the miniaturizable style, and the supplied focused test exercises that exact bridge path. Is this the best way to solve the issue? Yes. Adding the missing native style at the single Settings-window configuration point, with an assertion that the standard button is enabled, is the narrowest maintainable repair. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 1634eb2d99d9. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (3 earlier review cycles) |
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
🦞👀 Pull request received. I will update this pull request when review starts. |
|
Thanks @Yuxin-Qiao! This landed via #2969, which keeps your style-mask change and test, and additionally fixes an interaction it exposed: minimizing Settings dropped the app back to accessory policy, which removed the window's Dock tile and stranded it. #2969 keeps regular policy while Settings is minimized and deminiaturizes on reopen. The changelog credits you. |
Summary
Root cause
The Settings scene's AppKit window did not include
NSWindow.StyleMask.miniaturizable. The traffic-light control was therefore present but disabled, so macOS rendered the middle button as a gray circle without the–glyph.Runtime proof (macOS)
Built a fresh arm64 debug bundle from this PR and opened the real SwiftUI Settings scene in an isolated
HOMEwith Keychain access suppressed. The local-only launch hook used to open the scene was removed before pushing; it is not part of this change.The live window reported:
Redacted title-bar capture from that run (the yellow traffic-light is the enabled minimize control):
Validation
CODEXBAR_SUPPRESS_TEST_KEYCHAIN_ACCESS=1 swift test --filter SettingsWindowAppearanceTests— 13 passedmake check— SwiftFormat and SwiftLint cleanCODEXBAR_SUPPRESS_TEST_KEYCHAIN_ACCESS=1 make test— 861 selections in 72 groups passed; 0 failures, retries, or timeoutsCI classification (2026-08-16)
21d31e150deab023d3bae9b5639bb1d8609331a8has green Linux, lint, and change-detection jobs.lint-build-testfailure is the repository's Draft-policy gate reporting that macOS Swift tests are deferred; it is not a test or implementation failure.