chore(cast): remove AirPlay subsystem (dead code)

AirPlay was scaffolded in both crates/qbz-cast/src/airplay and
src-tauri/src/cast/airplay but never worked at runtime: the RAOP
sender required an Apple MFi-licensed stack with no free/open
alternative, and the backend state was already disabled via the
commented `.manage(airplay_state)` line in src-tauri/src/lib.rs.
The CastPicker UI already hid the AirPlay tab pending streaming
support that was never going to ship.

Delete:
- crates/qbz-cast/src/airplay/        (entire directory)
- src-tauri/src/cast/airplay/         (entire directory)
- 10x v2_airplay_* commands from commands_v2/library.rs + their
  tauri::generate_handler entries
- AirPlayError from qbz-cast errors
- 'airplay' from CastProtocol + every case arm in castStore.ts,
  CastPicker.svelte, AudioOutputBadges.svelte
- Corresponding i18n keys if present

Zero behavior change for Chromecast / DLNA / QConnect / MPRIS. If
AirPlay ever becomes feasible we'll revisit from scratch with a
real streaming backend.

cc
This commit is contained in:
vicrodh committed 2026-04-16 19:04:56 -06:00
1 parent 27ab2c8bea
commit edededcf8c
18 files changed
+17 -658

No files matched your search

+1 -1
View File
@@ -147,7 +147,7 @@ keyring = { version = "3", features = ["async-secret-service", "crypto-rust"] }
tauri-plugin-clipboard-manager = "2"
# Casting: qbz-cast crate provides all casting functionality
# (Chromecast via rust_cast, AirPlay discovery, DLNA via rupnp)
# (Chromecast via rust_cast, DLNA via rupnp)
# Async utilities (used across codebase)
futures-util = "0.3"