aboutsummaryrefslogtreecommitdiff
path: root/docs/design/2026-07-02-bluetooth-panel-spec.org
Commit message (Collapse)AuthorAgeFilesLines
* feat(bluetooth): prove the fresh-install panel wiring in VM assertionsCraig Jennings31 hours1-2/+23
| | | | Phase 5 needed no new install code: the waybar module, keybind, and shared panel css ride the dotfiles hyprland tier the installer already stows, and sudoers is covered by the existing grant. I added hyprland-gated assertions instead: bt bins stowed executable, custom/bluetooth in the waybar config, the bt-panel bind in hyprland.conf, panel.css present. This closes the bluetooth-panel task and flips the spec to implemented.
* feat(bluetooth): retire blueman, assert the swap in VM testsCraig Jennings31 hours1-0/+18
| | | | I dropped blueman from the desktop_environment bluetooth loop (bluez + bluez-utils stay) and added the VM assertions: bluetooth stack installed, blueman absent as the retirement regression guard. No new sudoers rule was needed for bt-priv, since the existing blanket grant already covers systemctl restart bluetooth.
* docs(spec): bluetooth phase 3 shipped, visual batch closedCraig Jennings31 hours1-0/+18
|
* docs(spec): bluetooth phase 2 shipped, AT-SPI smoke deferred until meeting endsCraig Jennings32 hours1-0/+17
|
* docs(spec): bluetooth phase 1 shipped, pw-dump ground truth noted, css ↵Craig Jennings33 hours1-1/+19
| | | | factoring moved to phase 2
* docs(spec): bluetooth panel reviewed READY, decomposed to DOING; net-panel ↵Craig Jennings33 hours1-3/+55
| | | | | | kbd-nav probe deferred Fused reviewer + responder pass: gate passed (all four decisions resolved, phases decomposable, bluez 5.86 verbs verified), two non-blocking findings recorded and dispositioned inline (empty-state/no-adapter copy, eventlog + redaction carry-over — both clone the net-panel donor). Build parent now carries the five phase sub-tasks and the spec's ID. The keyboard-nav verification task logs its code-level findings; the live AT-SPI probe waits until Craig's meeting ends (no test windows or synthetic input while zoom holds focus).
* docs(spec): bluetooth panel decisions resolved, profile switching in v1Craig Jennings36 hours1-37/+46
| | | | Craig approved all four decisions (pair implies trust+connect, blueman retired outright, battery in captions, 8s scan bursts) and pulled audio-profile switching into v1: the doctor's audio step gains a one-click Switch to A2DP repair over wpctl, and a degraded profile shows in the device caption.
* docs(spec): bluetooth panel initial spec, net-panel UX findings filedCraig Jennings36 hours1-0/+317
The bluetooth panel spec clones the net panel's stack: a GTK-free engine over bluetoothctl one-shot verbs, a GTK4 layer-shell popup, two tabs with ASCII mockups, a diagnostics doctor chain, and four decisions awaiting review. The UX pass surfaced two net-panel findings, filed as tasks: error toasts auto-dismiss before an error can be read, and the V2 spec's keyboard-navigation claims aren't verifiably implemented.