Skip to content

fix: harden multi-output recovery - #33

Open
pantafive wants to merge 1 commit into
mainfrom
fix/multi-output-safety
Open

fix: harden multi-output recovery#33
pantafive wants to merge 1 commit into
mainfrom
fix/multi-output-safety

Conversation

@pantafive

Copy link
Copy Markdown
Owner

Summary

  • route to a verified live fallback before destroying the current system-default aggregate
  • retain failed aggregate IDs and retry cleanup instead of forgetting public HAL objects
  • check aggregate liveness and rebuild after device republish
  • refresh member AudioObjectIDs by stable UID and replace stale volume listeners
  • make leftover cleanup conservative when HAL reads fail
  • add regression tests for republished and disappeared members

Why

The previous teardown ignored route and destroy failures. During Bluetooth loss, wake, or HAL churn it could delete the current default without establishing a replacement, or leave a public aggregate behind while the controller believed cleanup had succeeded.

Verification

  • make test: 54 tests passed
  • Swift 6 strict-concurrency application build passed
  • SwiftFormat and SwiftLint passed

@pantafive
pantafive force-pushed the fix/multi-output-safety branch from 3670157 to edbcc95 Compare September 1, 2026 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant