macOS 26 fixes, Auto mode, per-tab visibility, split Never Use, notarized build script#24
Open
VWang1111 wants to merge 2 commits into
Open
macOS 26 fixes, Auto mode, per-tab visibility, split Never Use, notarized build script#24VWang1111 wants to merge 2 commits into
VWang1111 wants to merge 2 commits into
Conversation
Bundles two branches of work into one commit on main. macOS 26 device handling - Fix blank MenuBarExtra popup on macOS 26.4 (.fixedSize on root view) - Separate default-device-changed listener from device-list-changed listener to prevent feedback loops when setting the default device - Add re-entrancy guard to handleDeviceChange to avoid cascade - Skip redundant setDefaultDevice calls when device is already active - Re-enforce input priority when macOS auto-switches mic for Bluetooth - Consolidate duplicate device entries for HDMI/DisplayPort devices that report fresh UIDs on each reconnect - Merge-aware savePriorities preserves disconnected device ordering UX additions - New "Auto" output mode: combined priority list across speakers and headphones, no category split - Manual mode visually distinct: text label, divider, inline caption; mode bar wraps to a second row when 4 buttons would overflow - Settings popover with per-tab show/hide toggles (Speakers / Headphones / Auto / Manual / Microphones) - Split "Never Use" into independent input + output lists; new linkNeverUse setting (default off) lets a headset's mic and speaker be blocked separately. Migrates legacy single-list entries on first launch Testing - Add unit test target and PriorityManagerTests - Inject UserDefaults into PriorityManager for testability Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Author
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.
Summary
Two threads of work, bundled:
macOS 26 device handling
.fixedSizeon root view)setDefaultDevicecalls when device is already activesavePrioritiespreserves disconnected device orderingUX additions
linkNeverUsesetting (default off) lets a headset's mic and speaker be blocked separately. Legacy single-list entries migrate on first launchTooling
PriorityManagerTestsUserDefaultsintoPriorityManagerfor testabilitybuild-notarized.sh: signs with Developer ID + hardened runtime, submits to Apple notary service, staples ticketTest plan
./build.shstill produces a working ad-hoc-signed.applinkNeverUse=off— output side still selectablelinkNeverUseon — same action now blocks bothPriorityManagerTestspass🤖 Generated with Claude Code