App version
v1.0.0-rc1
Variant
Rust rewrite (linux-rust branch)
Distro and version
Parrot OS (debian 13)
Desktop environment / compositor
KDE 6
Install method (only official sources)
Built from source (nix or otherwise)
AirPods model
AirPods Pro 3
What happened
Describe the bug
After a reconnect, my AirPods Pro 3 disappeared from the system's audio outputs. The bluez card existed in PipeWire, but its active profile was off and LibrePods never switched it back.
Cause
MediaController::setConnectedDeviceMacAddress() resolves the card name (getAudioDeviceName()) only once. If the bluez_card.* doesn't exist yet at that moment, m_deviceOutputName stays empty for the whole session, and both activateA2dpProfile() and removeAudioOutputDevice() return early. If ear detection had already set the profile to off, the AirPods are left without a sink until the app is restarted. This is still the case on current main (C++ client in linux/).
Logs and stderr
Logs (MAC redacted)
Connecting to device: "AirPods Pro 3"
No matching Bluetooth card found for MAC address: "XX_XX_XX_XX_XX_XX"
Device output name set to: ""
Connected device MAC address or output name is empty, cannot remove audio output device (x40)
pactl list cards → Active Profile: off. Setting a2dp-sink manually restores the sink.
Additional context
No response
App version
v1.0.0-rc1
Variant
Rust rewrite (
linux-rustbranch)Distro and version
Parrot OS (debian 13)
Desktop environment / compositor
KDE 6
Install method (only official sources)
Built from source (
nixor otherwise)AirPods model
AirPods Pro 3
What happened
Describe the bug
After a reconnect, my AirPods Pro 3 disappeared from the system's audio outputs. The bluez card existed in PipeWire, but its active profile was
offand LibrePods never switched it back.Cause
MediaController::setConnectedDeviceMacAddress()resolves the card name (getAudioDeviceName()) only once. If thebluez_card.*doesn't exist yet at that moment,m_deviceOutputNamestays empty for the whole session, and bothactivateA2dpProfile()andremoveAudioOutputDevice()return early. If ear detection had already set the profile tooff, the AirPods are left without a sink until the app is restarted. This is still the case on currentmain(C++ client inlinux/).Logs and stderr
Logs (MAC redacted)
pactl list cards→Active Profile: off. Settinga2dp-sinkmanually restores the sink.Additional context
No response