aboutsummaryrefslogtreecommitdiff
path: root/todo.org
Commit message (Collapse)AuthorAgeFilesLines
* feat(vpn): wireguard config import for the NM migrationCraig Jennings13 hours1-7/+25
| | | | scripts/import-wireguard-configs.sh imports the seven Proton configs into NetworkManager with autoconnect forced off. Each config stages through a wgpvpn.conf temp copy (NM's import name must be a valid interface name; several config names exceed the 15-char limit) and is renamed by the UUID parsed from the import output, so a stray same-named connection can't be hit. A leftover wgpvpn connection — a run that died between import and rename, autoconnect still armed — makes the script refuse to run. 10 tests over a fake nmcli; velox migration verified (all seven wireguard, autoconnect no). The tunnels spec is implemented: all six phases shipped.
* docs(spec): tunnels phase 4 shippedCraig Jennings16 hours1-2/+2
|
* docs(spec): tunnels phase 3 shippedCraig Jennings16 hours1-2/+2
|
* docs(spec): tunnels phase 2 shippedCraig Jennings16 hours1-2/+2
|
* docs(spec): tunnels phase 1 shipped, proton CLI ground truth notedCraig Jennings16 hours1-2/+2
|
* docs(spec): tunnels spec reviewed READY and decomposed to DOINGCraig Jennings17 hours1-3/+27
|
* feat(packages): retire zoom, meetings open in the browserCraig Jennings17 hours1-2/+3
| | | | The dotfiles zoom-web handler rewrites zoommtg:// links to the web client, so the AUR zoom package leaves the install. The retired-package VM assertion now covers blueman and zoom.
* chore(todo): archive completed tasks to Resolved, age out to task-archiveCraig Jennings18 hours1-424/+271
|
* docs(todo): record the speedrun's stow-hardening ship on the conflicts taskCraig Jennings18 hours1-0/+2
|
* feat(errors): actionable fatals, log-capture for direct mutationsCraig Jennings18 hours1-6/+6
| | | | error_fatal gained an optional recovery-hint arg and now prints the last log lines, the full log path, and the resume pointer on every fatal; all 17 call sites carry specific hints. The silent sed/file-write mutations (locale.gen, pacman.conf, waybar battery, regdom, geoclue, paccache, udev, fstab, mkinitcpio, sudoers) now capture stderr to the log and warn on failure, and the run summary tells the reader how to find each error's output. No new shellcheck findings; 10 unit suites green.
* feat(preflight): add NVIDIA/Wayland check with driver-version gateCraig Jennings18 hours1-5/+3
| | | | Installing Hyprland on an NVIDIA box silently produced a rough Wayland session. nvidia_preflight_report detects the card via modalias (DRM, then PCI display-class only), prints the required env vars and the pre-Turing AUR caveat, and checks the repo's nvidia-utils major against 535. preflight_checks aborts when the requirement can't be met and asks before continuing on a detected card. 9 unit tests over fake modalias trees and a fake pacman.
* feat(tooling): provision eask via user-local npm installCraig Jennings18 hours1-1/+3
| | | | chime and linear-emacs shell out to eask but nothing installed it. The block runs npm install -g --prefix ~/.local as the user after the node tooling, so eask lands on PATH without root. A stowed .npmrc pins the same prefix in dotfiles. VM asserts both.
* chore(pocketbook)!: remove the in-tree pocketbook packageCraig Jennings18 hours1-5/+9
| | | | Craig's finish-or-cancel checkpoint resolved to remove: the app left daily use in May and the org-capture popup covers quick notes. The pip install, launcher, and Super+P bind went with it (dotfiles a750cb4); the three pocketbook tasks are closed.
* docs(todo): file the audio-panel spec task from the roam inboxCraig Jennings20 hours1-0/+3
|
* feat(bluetooth): prove the fresh-install panel wiring in VM assertionsCraig Jennings20 hours1-6/+7
| | | | 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 Jennings20 hours1-2/+2
| | | | 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 Jennings20 hours1-2/+2
|
* docs(spec): net-panel keyboard claims verified live, false ones struckCraig Jennings20 hours1-1/+5
|
* docs(spec): bluetooth phase 2 shipped, AT-SPI smoke deferred until meeting endsCraig Jennings21 hours1-2/+2
|
* docs(spec): bluetooth phase 1 shipped, pw-dump ground truth noted, css ↵Craig Jennings22 hours1-3/+3
| | | | factoring moved to phase 2
* docs(spec): bluetooth panel reviewed READY, decomposed to DOING; net-panel ↵Craig Jennings22 hours1-3/+27
| | | | | | 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(todo): close net-panel toast bug, fixed in dotfilesCraig Jennings22 hours1-2/+3
|
* docs(spec): bluetooth panel initial spec, net-panel UX findings filedCraig Jennings25 hours1-0/+11
| | | | 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.
* docs: timer-panel spec (DRAFT); log tonight's roam-driven waybar fixesCraig Jennings29 hours1-0/+17
|
* docs(todo): close three shipped tasks, cancel emacs-service module, log ↵Craig Jennings30 hours1-4/+35
| | | | lyricsgenius recheck
* docs(todo): close the waybar quick-batch — seven shipped, one infeasible, ↵Craig Jennings33 hours1-9/+40
| | | | two spec'd
* docs(todo): file two dotfiles tasks from held inbox notesCraig Jennings34 hours1-0/+16
|
* docs(todo): file six waybar/panel tasks from the roam inboxCraig Jennings34 hours1-0/+18
|
* docs(todo): close the network panel UI review — all 30 findings shippedCraig Jennings35 hours1-96/+9
|
* docs(todo): add the color-contrast audit and second-pass UI findings, fold ↵Craig Jennings36 hours1-1/+53
| | | | in Craig's answers
* docs(todo): file the network panel UI review findingsCraig Jennings36 hours1-0/+48
|
* docs(todo): close the captive-portal task and log the edge-row sweepCraig Jennings37 hours1-1/+8
|
* docs(todo): log the IPv6/multi-homing diagnose work and the two closed ↵Craig Jennings37 hours1-1/+5
| | | | doctor gaps
* docs(todo): log the DoT-cause and portal-button work on the captive-portal taskCraig Jennings38 hours1-0/+3
|
* docs(todo): close the three shipped net-panel tasksCraig Jennings38 hours1-3/+12
|
* docs(todo): file archsetup items from the roam inboxCraig Jennings40 hours1-0/+19
| | | | | | | Three network-panel UI follow-ups (advanced buttons half-width, action-button rows full-width, live info in the row subtitle) plus the waybar volume/mic toggle and the wtimer notification bug. Left the emacs and rulesets items in the roam inbox for their owners.
* docs(todo): mark V2.2 merged-Diagnostics panel shippedCraig Jennings45 hours1-1/+17
|
* docs(todo): mark net-priv helper (V2.1) landedCraig Jennings46 hours1-9/+13
|
* docs(todo): file wtimer-label and meeting-in-browser tasks from roam inboxCraig Jennings2 days1-0/+6
|
* docs: fold Craig's cj comments into the network module specCraig Jennings2 days1-0/+10
| | | | Set the notification format (title "Networking", label then string), add VPN kill-switch detection and correction off the deferred-vpn branch, and make the no-terminal rule absolute for the module UX. Filed a VERIFY for the one tension: the dead-GUI console-recovery path versus no terminals.
* docs(todo): close the four waybar quick-win tasksCraig Jennings2 days1-4/+16
|
* docs(todo): file waybar right-cluster module order from roam inboxCraig Jennings2 days1-0/+3
|
* docs: fold the fourth spec review into the network module specCraig Jennings3 days1-0/+8
| | | | Dispositioned all nine fourth-review findings (8 accept, 1 modify) and wove them into a new "V2 panel UX" section: a single nav target, Saved/Available-now/Wired connection groups, join-from-row instead of an Add page, the supported-auth join matrix, progressive loading, future-tense verified Forget, a findable redacted diagnostics report, and the Waybar visual contract. The modify kept the full speed test under Performance per the prior decision while accepting an inline latency probe stored in the doctor report. Findings cookie now reads complete.
* docs: bring network module spec current + add diagnostic verbose-captureCraig Jennings3 days1-0/+11
| | | | | | The spec had drifted behind the code and the redesign. Marked Phases 1-3 shipped, recorded the native captive-login engine and the live-testing portal UX fixes, and folded in the V2 redesign: no terminals, the passwordless sudo-helper, verify-every-action, the Connections/Diagnostics/Performance nav, and the full failure-mode catalog moving to the task. Added the automatic diagnostic verbose-capture feature. On a failing diagnose it elevates the underlying stack (NetworkManager, resolved, wpa_supplicant) to debug, captures the journal and dmesg window, restores with a guaranteed crash-guarded path, and writes a redacted bundle. A manual Debug on/off toggle covers intermittent failures. The redesign task gains a child for it.
* docs(todo): file network panel redesign + full failure-mode catalogCraig Jennings3 days1-3/+111
|
* docs(todo): record captive-portal live-test fixes and DoT-sudo follow-upCraig Jennings3 days1-1/+10
|
* docs(todo): file waybar alarm-tooltip bug from roam inboxCraig Jennings3 days1-0/+3
|
* chore: archive completed tasks and age resolved history to a fileCraig Jennings3 days1-598/+112
| | | | | Completed work moves from Open Work into Resolved; Resolved entries past the retention window age out to archive/task-archive.org to keep todo.org lean.
* docs(todo): record the captive-portal-login engine core landingCraig Jennings3 days1-0/+3
| | | | The portal-login repair tier shipped in dotfiles (a7d7559); net doctor / net portal run the real plain-DNS flow now. Note the three remaining items: name the DoT cause in diagnose, a dedicated panel button, and live validation.
* docs: capture captive-portal login learnings + close the ZFS taskCraig Jennings3 days1-2/+8
| | | | File the captive-portal-login design doc from the 2026-06-30 Hyatt saga — the actual mechanism (system DoT + browser DoH both bypass the hotel's redirecting DNS; plain DNS is what works), the working hotel-wifi script, and the plan to make it a first-class net-panel action — plus a [#B] feature task to bake it in. Also close the ZFS pre-pacman snapshot task: the installer step shipped and the ZFS VM install passed 97/0 with the new hook assertion.