-
Notifications
You must be signed in to change notification settings - Fork 0
Fix macOS 26 menu bar ownership and recovery #9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
bifrost-proxy
wants to merge
2
commits into
master
Choose a base branch
from
codex/fix-macos26-menu-bar-registration
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| # Human Test Index | ||
|
|
||
| - [macOS 26 menu bar registration](menu-bar-registration.md) |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| # macOS 26 Menu Bar Registration | ||
|
|
||
| ## Observed failure baseline | ||
|
|
||
| On macOS 26.5, a read-only decode of Control Center's `trackedApplications` showed `com.bifrost-proxy.BLEUnlock` inside the `menuItemLocations` array owned by `com.openai.codex`, whose `isAllowed` value was `false`. BLEUnlock had no independent row in System Settings, its process remained running, and its menu bar icon was hidden. This confirms incorrect launch-source attribution rather than an app crash or the `runInBackground` preference. | ||
|
|
||
| ## MB-01: First launch registration | ||
|
|
||
| - Goal: Verify that macOS registers BLEUnlock as a named third-party menu bar item. | ||
| - Environment: macOS 26.5 on Apple silicon; release-style app installed in `/Applications`. | ||
| - Preconditions: Automatic lock/unlock disabled, launch at login disabled, and background hiding disabled. | ||
| - Steps: | ||
| 1. Reset Control Center to clear stale ownership, then launch the app directly from Finder. | ||
| 2. Open System Settings > Menu Bar. | ||
| 3. Scroll to Allow in the Menu Bar. | ||
| 4. Locate BLEUnlock and verify that its switch is enabled. | ||
| 5. Verify that the BLEUnlock status icon is present and opens its menu. | ||
| - Expected: BLEUnlock is listed, enabled, and its status icon is usable. | ||
| - Actual: Pending user approval because Reset Control Center changes the user's menu bar arrangement. | ||
| - Cleanup: Quit the test app and restore the preferred menu bar arrangement. | ||
|
|
||
| ## MB-02: Hide and restore | ||
|
|
||
| - Goal: Verify that BLEUnlock can intentionally hide its menu bar icon and restore it by reopening the app. | ||
| - Environment: Same as MB-01. | ||
| - Preconditions: BLEUnlock is running with its menu bar icon visible. | ||
| - Steps: | ||
| 1. Enable Run in Background (Hide Menu Bar Icon) and confirm the warning. | ||
| 2. Verify that the icon disappears while the process remains running. | ||
| 3. Open BLEUnlock Local again. | ||
| 4. Verify that the icon returns and the background-hiding option is disabled. | ||
| - Expected: Hiding is intentional and reversible; reopening restores the named status item. | ||
| - Actual: Pending until MB-01 can be completed. | ||
| - Cleanup: Quit BLEUnlock and restore any changed preference. | ||
|
|
||
| ## MB-03: Installer ownership guard | ||
|
|
||
| - Goal: Verify that the installation script does not auto-launch BLEUnlock on macOS 26 unless explicitly requested. | ||
| - Environment: macOS 26.5 on Apple silicon; installer uses a temporary install directory and does not replace the installed app. | ||
| - Preconditions: None. | ||
| - Steps: | ||
| 1. Run the installer argument/static checks. | ||
| 2. Inspect the macOS-major-version branch for default, `--launch`, and `--no-launch` modes. | ||
| 3. Confirm release automation continues to pass `--no-launch`. | ||
| - Expected: Default is no launch on macOS 26; `--launch` opts in; macOS 25 and earlier retain automatic launch. | ||
| - Actual: Passed on macOS 26.5 using `v1.15.1` and a temporary install directory. Download, checksum, signature verification, copy, and post-install verification completed; no test app process launched, and the installer printed the Finder launch instruction. | ||
| - Cleanup: None. |
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
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On macOS 26, the default installer command in
docs/RELEASING.md:79-83now takes this branch after the script has quit the existing app at line 125, leaving no BLEUnlock process. The same release checklist later runs the performance gate usingpgrep(docs/RELEASING.md:95-100), which consequently exits with “A running BLEUnlock process is required” unless the verifier independently knows to relaunch the app from Finder. Update the release guide to include that required Finder launch before the runtime checks. agents.mdL168-L176Useful? React with 👍 / 👎.