fix(bluetooth): never hang when bluetoothd is not running #77
No reviewers
Labels
No labels
breadbug
bug
displays
enhancement
keybinds
network
phase-1
power
privacy
recovery
search
snapshots
sound
ui
ux
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Breadway/bos-settings!77
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/bset-65-bluetooth-timeout"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes BSET-65
What
bluetoothctlwaits forever for bluetoothd. When the service is stopped, or never starts because there is no adapter,get_adapter_powerednever returned and the page stayed on "Loading..." indefinitely.btctl(), which usestokio::time::timeoutpluskill_on_drop. Limits: 5s for show/devices/info/power/disconnect/remove, 15s for scan, 30s for pair/connect. A timeout returns a readable error.get_bluetooth_statecheckssystemctl is-active bluetooth.serviceand/sys/class/bluetooth/hci*before calling bluetoothctl. It returnsno-adapter,service-offorready {powered}.pkexec systemctl start bluetooth.service(fixed unit, nothing caller-supplied) and then reloads.get_adapter_powered, which is now bounded, so it can't hang either.Tests
sleep 30vs 200ms), quick command output, sysfs adapter detection.Capability changes
Added: the service-off state and the Start Bluetooth button. Nothing removed.