[codex] Recover status item after display changes#998
Closed
Llldmiao wants to merge 1 commit into
Closed
Conversation
Owner
|
Thanks for the focused fix. I landed this on Landed as fcbd46f. Verified with:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #997.
Summary
NSApplication.didChangeScreenParametersNotificationand debounce display-change recovery.Root Cause
The startup recovery added in
a75d276fcatches status items that fail to materialize shortly after launch, but CodexBar did not observe runtime display topology changes. If the external display hosting theNSStatusItemis unplugged, AppKit can leave the app process alive while the status item is still associated with a removed screen/menu bar.Validation
git diff --checkpasses.swift test --filter MenuBarVisibilityWatcherTestspasses with Xcode 26.5 / Apple Swift 6.3.2.Notes
This PR intentionally targets the runtime hot-unplug case. It is complementary to the startup recovery in #988, the Tahoe allow-list guidance in #945, and the earlier macOS 26.4 visibility fix in #849.