Repository navigation
Fix AirPlay output selection and retained tap routing - #478
Open
jonathanenlared wants to merge 1 commit into
Open
jonathanenlared wants to merge 1 commit into
jonathanenlared wants to merge 1 commit into
Conversation
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.
Selecting an AirPlay receiver in macOS Control Center can immediately revert the output to the Mac speakers and disconnect the receiver. This was reproduced with a WiiM receiver on FineTune 1.9.0 and macOS 27.0.1, including with no audio playing. Quitting FineTune, connecting AirPlay, and reopening it worked around the problem.
The captured sequence shows the default-output notification arriving before the device-list refresh. FineTune defers the unknown default, then
handleDeviceConnectedcallsrestoreConfirmedDefaultroughly 50 ms later. The AirPlay receiver disconnects immediately afterward.This change preserves macOS's output selection when an AirPlay device appears and avoids entering the automatic-switch suppression state for that connection. It also routes retained process taps that temporarily disappear from the app list during output changes, using each tap's actual destination rather than the optimistic routing map to decide whether a switch is needed.
AirPlay connection-time selection now follows macOS rather than FineTune's priority enforcement for that transport. Bluetooth and wired-device connection priority handling is unchanged.
Validation:
git diff --checkpassed.The local app was built with a separate bundle identity and settings directory for testing; those packaging changes are excluded from this PR.
Fixes #334. Related: #188 and #41.