mac: match upstream quit and search behavior - #181
Conversation
Hidden windows still own sessions that need a quit decision. Distinguish an app with no windows from a hidden app, then reveal the existing app-wide chooser before asking what to do with those sessions.
The search field intercepted Return before its field editor could commit marked text. Route text commands through the delegate so plain Return finishes composition while Shift-Return still moves to the prior match.
SupaReviewFindingsThe quit predicate now includes retained auxiliary and minimized windows, but the confirmation presenter only works with visible, non-miniaturized parents; this makes normal Quit cancel indefinitely after common window-lifecycle states. The search tests also bypass the production representable wiring, leaving the new AppKit integration under-tested. Findings
Review type: Full review Reviewers: thermo-nuclear-review-subagent, thermo-nuclear-code-quality-review-subagent |
🛠️ Tuist Run Report 🛠️Tests 🧪
Builds 🔨
|
|
Accept. I will restrict quit confirmation to a presentable terminal window, make that window visible before presenting, and add coverage through the production search-field wiring. I will run the macOS checks and tests after the fix. |
|
Changes since last review:
Commits: ef58686
|
Only terminal windows now trigger the confirmation flow, so retained settings and diagnostics windows cannot block an ordinary quit. The selected terminal window is restored before the panel appears. The search regression mounts the production field and runs its app event through a modal loop, covering the AppKit modifier path without changing the process menu state.
ef58686 to
c1e86c7
Compare
|
Changes since last review:
Commit: c1e86c7 Tests:
|
Why
Quitting while Supaterm was hidden skipped confirmation because no window was visible. Search also intercepted Return before AppKit could commit marked IME text.
What changed
Quit planning now considers hidden app windows and unhides the app before presenting confirmation. Search delegates command handling through AppKit so marked text commits first; Shift-Return navigates backward and Escape closes search.
Verification
make mac-check, dead-code, dependency, web, and docs gates passed