aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* docs(spec): resolve the four net-panel decisions, tunnel badge joins v1Craig Jennings30 hours1-27/+62
| | | | Craig answered all four decision TODOs in the tunnels spec. The bar badge moves from optional to v1. All seven Proton WireGuard configs import cleanly into NetworkManager (only the six import-safe directives), so wg-quick drops out of the spec. Proton runs through the official proton-vpn-cli (stable since April, Arch extra repo) instead of the GTK app, which the install drops. The implementation phases pick up the badge, the package swap, and the one-time config import.
* chore: archive processed rulesets ack to the outboxCraig Jennings33 hours1-0/+5
|
* docs: timer-panel spec (DRAFT); log tonight's roam-driven waybar fixesCraig Jennings34 hours2-0/+130
|
* docs(todo): close three shipped tasks, cancel emacs-service module, log ↵Craig Jennings34 hours1-4/+35
| | | | lyricsgenius recheck
* chore: archive processed broadcast notes to the outboxCraig Jennings38 hours2-0/+10
|
* docs(todo): close the waybar quick-batch — seven shipped, one infeasible, ↵Craig Jennings38 hours1-9/+40
| | | | two spec'd
* docs(design): specs for net-panel tunnels and settings panel; animation ↵Craig Jennings38 hours3-0/+318
| | | | | | feasibility Two DRAFT specs — tailscale/VPN/wireguard surfaces in the net panel, and the desktop-settings dropdown panel on the net panel's Blueprint/GTK4 stack — each with open decisions marked for review. The expansion-animation note concludes the collapse-by-reload mechanism can't animate (no widget survives the SIGUSR2 rebuild) and recommends closing that task.
* chore: archive processed broadcast notes to the outboxCraig Jennings38 hours3-0/+22
|
* docs(todo): file two dotfiles tasks from held inbox notesCraig Jennings38 hours1-0/+16
|
* docs(todo): file six waybar/panel tasks from the roam inboxCraig Jennings39 hours1-0/+18
|
* chore: untrack local tooling fileCraig Jennings39 hours1-139/+0
|
* chore: extend gitignore for local tooling filesCraig Jennings39 hours1-0/+4
|
* docs(todo): close the network panel UI review — all 30 findings shippedCraig Jennings40 hours1-96/+9
|
* docs(todo): add the color-contrast audit and second-pass UI findings, fold ↵Craig Jennings41 hours1-1/+53
| | | | in Craig's answers
* docs(todo): file the network panel UI review findingsCraig Jennings41 hours1-0/+48
|
* docs(todo): close the captive-portal task and log the edge-row sweepCraig Jennings41 hours1-1/+8
|
* docs(todo): log the IPv6/multi-homing diagnose work and the two closed ↵Craig Jennings42 hours1-1/+5
| | | | doctor gaps
* docs(todo): log the DoT-cause and portal-button work on the captive-portal taskCraig Jennings42 hours1-0/+3
|
* docs(todo): close the three shipped net-panel tasksCraig Jennings42 hours1-3/+12
|
* docs(todo): file archsetup items from the roam inboxCraig Jennings45 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.
* build: install blueprint-compiler for the net panel UICraig Jennings48 hours1-0/+1
| | | | | | Dev tooling to regenerate the panel's .ui from the Blueprint .blp sources (make ui). The committed .ui runs without it, so this only matters when editing the .blp.
* docs(todo): mark V2.2 merged-Diagnostics panel shippedCraig Jennings2 days1-1/+17
|
* docs(todo): mark net-priv helper (V2.1) landedCraig Jennings2 days1-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 days2-4/+65
| | | | 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 days2-4/+271
| | | | 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 days2-44/+233
| | | | | | 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 days2-598/+574
| | | | | 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 days2-2/+97
| | | | 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.
* feat: install pre-pacman ZFS snapshot hook on ZFS-root systemsCraig Jennings3 days7-7/+250
| | | | | | archsetup took sanoid from install-archzfs but never ported the pre-pacman snapshot hook, so a ZFS-root install had no transaction-triggered rollback point — the working setup only existed as a hand-placed script on velox, lost on reinstall. Add configure_pre_pacman_snapshots(): a PreTransaction pacman hook plus a self-pruning script that keeps the 10 most recent pre-pacman snapshots (sanoid ignores them — they aren't autosnap_ names). It's gated to ZFS-root and runs late in boot_ux, so the hook doesn't fire during the install's own package operations and the first snapshot is the fresh system. The script ships as scripts/zfs-pre-snapshot, made ZFS_PRE_* env-overridable so the pruning logic is unit-testable. Unit tests drive it against a fake zfs (creates a snapshot, prunes the oldest past KEEP, ignores non-pre-pacman snapshots, honors the lockfile interval, warns on failure); a Testinfra test asserts the hook and script land on a ZFS install; the orchestrator test pins the new boot_ux substep.
* docs: file five waybar/hyprland tasks from capturesCraig Jennings4 days1-0/+15
| | | | Pulled the archsetup-owned captures and filed the five that aren't done yet: extend the red=off convention (just added to the pointer indicator) to the volume / mic / caffeine toggles, a mic-mute keybind, the file-manager swallow pattern, keybind hints in every module's tooltip, and smooth waybar expansion. Two related captures — sysmon and timer real estate — were done live tonight, so they're dropped rather than filed.
* docs: file ZFS pre-pacman snapshot installer step from home handoffCraig Jennings4 days2-0/+92
| | | | The pre-pacman snapshot script accumulated 53 unpruned snapshots on velox since April — nothing prunes them, and Sanoid ignores the non-autosnap_ names. The fix is a self-pruning script (KEEP=10), but the home handoff confirmed the live script isn't archsetup-authored (it's hand-placed on velox), so incorporating it is a net-new ZFS-root installer step rather than a patch to an existing one. Filed as a [#B] feature with the design notes and the script preserved in docs/design, since it still needs the trigger hook file and a ZFS-root VM test before it can land.
* docs: mark network module Phase 3 shipped + refresh manual-test checksCraig Jennings4 days1-17/+40
| | | | | | Record Phase 3 (diagnostics + speed test in the panel) as the dated event-log entry on its task: net speedtest plus the four-section panel. Refresh the manual-test checklist to the final settled bar-click scheme (left = panel, middle = portal, right = net-fix) and add the Phase 3 tab checks, including the speed-test run that confirms the byte-rate unit assumption. The waybar network module is complete through Phase 3; Phase 4 (help/docs) and Phase 5 (VPN) remain as future work.
* feat: install speedtest-go for the net panel speed testCraig Jennings4 days1-0/+1
| | | | The net panel's Speed test section shells out to speedtest-go, so archsetup's Hyprland step adds speedtest-go-bin to the AUR installs alongside the GTK panel deps.
* feat: install the net panel GTK deps; mark waybar module Phase 2 shippedCraig Jennings4 days2-10/+26
| | | | | | The custom/net connection panel (Phase 2, in the dotfiles repo) needs GTK4 layer-shell, so archsetup's Hyprland step now installs gtk4-layer-shell and python-gobject alongside waybar. NetworkManager, curl, rfkill, and resolvectl — the engine's other needs — are already installed. speedtest-go stays deferred to Phase 3. Record Phase 2 as the dated event-log entry on its task: the engine connection commands, the GTK-free panel model, the GTK layer-shell panel, and the bar interactions settled over live iteration (left = panel, middle = portal, right = notify-or-fix).
* docs: update network module manual-test for the reworked clicksCraig Jennings4 days1-7/+15
| | | | After live use, the Phase-1 clicks changed: airplane moved off a misclickable right-click to Super+Shift+A; left-click notifies the doctor result instead of popping a terminal (diagnose is read-only); right-click forces the captive portal; middle opens nmtui. Update the manual-test checklist to match.
* docs: mark waybar network module Phase 1 shippedCraig Jennings4 days2-21/+54
| | | | | | Phase 1 landed in the dotfiles repo (engine, indicator, cache, diagnose/repair/doctor, portal, event log, recovery make targets, airplane absorption). Record it as the dated event-log entry on the Phase 1 task and raise the spec status to "Phase 1 shipped". One as-built deviation, noted in the spec (decision 12) and the manual-testing checklist: airplane absorption is display-only. The airplane-mode toggle is a low-power mode — radios plus CPU, brightness, and services — not a network concern, so it stays; net shows the state and the toggle moved to custom/net's right-click. Only the redundant display pieces (waybar-airplane, custom/airplane, waybar-netspeed) were removed.
* docs(todo): break the waybar network module into implementation phasesCraig Jennings4 days1-30/+97
| | | | | | The network spec is Ready, so I decomposed it into one parent task with Phase 1-5 children (indicator + console recovery, panel + connection management, diagnostics + speed test, docs + rollout, VPN vNext), each naming its deliverable, tests, and verification. I consolidated the two source tasks into that parent: the wifi-no-internet task is cancelled (folded in, now Phase 1 + Phase 3), and the network-manager task became the parent. I seeded the Phase 1 live checks under Manual testing and validation, since the live network and visual states need real conditions.
* docs: finalize waybar network module spec (reviews incorporated)Craig Jennings4 days2-136/+1433
| | | | | | | | Incorporated the review feedback and my inline comments into the network-module spec. It's now implementation-ready, every finding resolved. The reviews reshaped the design in a few ways. Secrets stay in NetworkManager's own store instead of a separate GPG file, dropping that dependency. A net doctor mode plus Makefile targets make recovery work from a bare TTY when the GUI is down. The doctor classifies failures and stops at the right terminal state (needs-user-action, upstream-not-local, deferred-vpn) instead of looping destructive repairs. The module absorbs the airplane indicator, and enterprise WiFi add/edit is vNext (activate-only in v1, since the saved history has no enterprise networks). Added a failure-mode coverage table, exact user-facing strings, the test harness and coverage gate, and the panel UX flow. Also corrected the spec's test framework from pytest to unittest, which is what the repo uses.
* docs: add unified waybar network module design specCraig Jennings4 days2-0/+302
| | | | | | The wifi-no-internet indicator, the nmcli network-manager dropdown, and the captive-portal diagnostics are one feature, so the spec designs them as a single custom/net module instead of three. It splits into three layers: a tested Python net engine wrapping nmcli plus the diagnostics, a thin bar indicator, and a GTK4 layer-shell panel. The captive script becomes the diagnostics engine. It records the locked decisions (panel toolkit, split probe cadence, GPG store supplements NetworkManager, librespeed for speed test) and a four-phase plan, indicator first. I linked it from both todo tasks.
* docs: add waybar timer-module spec and close its taskCraig Jennings4 days2-1/+234
|
* docs(todo): record mod+J/K focus-navigation work as doneCraig Jennings5 days1-0/+7
|
* docs(todo): close focus-follows-mouse bug fixed in dotfilesCraig Jennings5 days1-1/+4
|
* docs: close sysmon-cycle task, reorganize open-work listCraig Jennings5 days1-239/+246
| | | | Closed the sysmon right-click-cycle task: the feature shipped in the dotfiles repo (f7b6896), with the live waybar check filed under manual testing. Reorganized the open-work section: renamed the scrolling task to Scrolling/Carousel, cancelled the foot-to-ghostty migration, and regrouped the lower-priority items.