| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Craig's 2026-07-04 roam input on the panel's open "few other things" question: it gathers the mouse/trackpad, no-sleep, and auto-dim toggles and adds a wallpaper manager (where the displaced waypaper lands) with its own depth — multiple source directories, persistent switching, and a sunup/sundown day-night pair. Flagged that the wallpaper piece may warrant its own sub-spec.
|
| |
|
|
| |
Two follow-ups from the 2026-07-04 net-panel/audio speedrun: a driver-health diagnostic tier for the net panel (the "adapter present but wedged" case beyond no-hardware), and replacing the waybar collapse triangle with a glyph that matches the instrument-console look (an aesthetic call, options to bring Craig first).
|
| |
|
|
| |
run_network_diagnostics tested HTTP before DNS and returned on the first failure, so a DNS failure surfaced as a generic "no internet" and the IP/route/resolver evidence was never reached. It now collects read-only facts first (ip -brief addr, default route, resolv.conf) and prints them regardless of outcome, runs every check, and reports all failures together in a summary. Generic checks (DNS, egress, TLS) are split from Arch-specific ones (mirror, AUR) so a DNS failure is named as DNS, not a mirror problem. Raw fact output is saved to the results dir when one is set.
|
| |
|
|
|
|
| |
I gathered all five self-contained HTML/CSS design prototypes into one home: the instrument-console pair (moved from assets/), plus the net-panel rescan, sound panel, widget gallery, and waybar redesign (moved out of working/). Added a README index and updated every inbound link: build summary, the instrument-console and audio specs, and todo.org.
Also fixed a broken link the earlier sort left in the build summary. It still pointed at the instrument-console spec's old docs/design/ path after the move to docs/specs/.
|
| |
|
|
| |
The specs were sorted into docs/specs/ on another machine, from a copy of this one that predated the 2026-07-03 panel-family design discussion. That lost the faceplate refinements. I re-applied them: the instrument-console faceplate aesthetic in place of the plain palette note, the audio/bt Kin row, a dated Status line, and the still-open "few other things" scoping question. The four decisions that pass resolved stay closed. Only the question it never addressed comes back.
|
| | |
|
| |
|
|
|
|
| |
Both DRAFT panel specs had open design decisions blocking their builds. I resolved them. Timer panel: standalone rather than folded into desktop-settings, the fuzzel flow retires once the panel lands, the preset chips gain 10m/30m/2h, and live state comes from a new wtimer watch mode instead of 1s polling. Desktop-settings panel: auto-dim and airplane collapse into the panel while touchpad and caffeine stay on the bar, Super+Shift+G opens it, the code lives in dotfiles settings/ beside net/, and the brightness slider floors at 5%.
Both stay DRAFT and decision-complete, ready for a spec-review before build.
|
| |
|
|
| |
Moved the seven formal specs from docs/design/ into docs/specs/, each stamped with a lifecycle status heading: four IMPLEMENTED (bluetooth, net-other-interfaces, audio, instrument-console), one CANCELLED (file-manager-swallow), two DRAFT (desktop-settings, timer). Rewrote the seven todo.org links to the new paths. The two -spec.org files without the spec spine (waybar-network-module, waybar-timer-module) stayed in docs/design/ as notes.
|
| |
|
|
|
|
| |
The 07-03 instrument-console rebuild superseded most of the net-panel bug cluster, so I closed all three: the panels drag and resize now that they're floating windows, the doctor results well with copy and collapse shipped, and the wider-width task is moot on a resizable panel. I closed the stash-unhide focus bug too (verified fixed live on ratio, resolved by the focus-nav fixes that postdated the filing), and retired the "test each modernization" umbrella, which had no completion criterion now that the fleet is Hyprland-only.
I closed the /efi-permissions and syncthing sub-items under the laptop-setup review, both automated in the installer now. Rescoped network-module Phase 5 to the net vpn CLI fold, since the tunnels track already shipped detection and panel bring-up. Flagged two net-panel manual tests as pre-rebuild UI drift and refreshed the stale history-commit count on the release task.
|
| | |
|
| |
|
|
| |
The audio panel got built end-to-end in a no-approvals speedrun (the code lives in the dotfiles repo). This is the archsetup-side bookkeeping: the spec flips DRAFT to IMPLEMENTED with all five Decisions resolved, the todo task closes with the resolution, and the live-eyeball checklist (default switching, faders, master quick-mute, and push-to-talk in a real meeting) lands under Manual testing and validation.
|
| |
|
|
|
|
| |
Panels moveable + resizable by drag (net + bt), net panel wider initial width, and net panel doctor results can't display. All three raised from the 2026-07-03 roam inbox.
Claude-Session: https://claude.ai/code/session_01FdoWWT5d7Wnrt3MLJGzrXf
|
| |
|
|
|
|
| |
The Eask, pocketbook-backlog, and Fn+F9 tasks had their :LAST_REVIEWED: property drawer sitting after the closing note instead of directly under the heading, so org parsed it as body text. Move each drawer back above the note. File the lint follow-up that surfaced them.
Claude-Session: https://claude.ai/code/session_01FdoWWT5d7Wnrt3MLJGzrXf
|
| |
|
|
| |
Move the finished level-2 tasks (the instrument-console rebuild and its folded children, the timer fixes, the net/bt panel items, the Testinfra migration) from Open Work into Resolved.
|
| |
|
|
| |
Closed out the panel rebuild. Both panels verified live on velox: 46 suites and both AT-SPI smokes green, the dead-code removal shipped in dotfiles f4e688e, and the render carries the phase-3/4/5 screenshots since no view code changed. Flipped the parent task and its three folded children (network panel redesign, bt switch placement, bt rename) to DONE, ticked the spec's last phase, and flipped the spec to IMPLEMENTED. Filed the approved prototype and the build summary flat into assets/ with dated names, updated the inbound links, and dropped the working dir. The real-device bt interactions (pair, rename, connect, forget, discoverable, power, low-batt badge) can't be auto-driven, so they're a manual-test checklist.
|
| |
|
|
|
|
| |
Ticks spec phase 5 and records the two-commit bt rebuild (dotfiles 5318b34 layer + 66f03d9 view). Phase 6 (live verify + close-outs + IMPLEMENTED) remains.
Claude-Session: https://claude.ai/code/session_013xt96EetpueCFriY4jGyfw
|
| |
|
|
| |
Ticked spec phases 3 and 4 (net view rebuild + interactions, dotfiles 800ef60) and logged the dated todo entry. Phases combined into one commit because a view-only intermediate is a broken panel. BT panel (phase 5) next.
|
| |
|
|
|
|
| |
Tick spec phase-2 checkbox and record the dotfiles 81ec9c3 build (net GTK-free presenter layer + engine verbs) as a dated entry under the instrument-console parent task.
Claude-Session: https://claude.ai/code/session_013xt96EetpueCFriY4jGyfw
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
nautilus
Craig corrected the target: Super+F opens the dirvish popup (an Emacs frame), so the swallow belongs in elisp, where it's strictly better — Emacs launches the viewer, so a directly-spawned handler plus a process sentinel gives exact hide/restore and a failure notify, no window-event heuristics. Spec cancelled with the gio double-fork finding kept for reference; task closed as reassigned.
|
| |
|
|
| |
Hyprland's enable_swallow matches by PID ancestry, and nautilus's gio launch path orphans the handler process (verified live: the spawned viewer reparents to init while the launcher still runs). The spec designs an event-listener daemon on the IPC socket instead — swallow nautilus when a window opens while it's active, restore on that window's close. DRAFT with four decisions pending review.
|
| |
|
|
| |
Filed Craig's net doctor UX feedback from the roam inbox (every diagnostic step should report what's tested, why, and pass/fail). Review pass: stow-conflicts re-graded B to C with the body pruned to its two remaining items, audio-panel spec tagged solo, five keeps stamped.
|
| |
|
|
| |
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.
|
| |
|
|
| |
The net panel's Tunnels view drives proton-vpn-cli, and the CLI and GTK app can't run concurrently, so the installer swaps them. tailscaled now enables with --now and the install grants operator to the primary user (brief retry — the daemon takes a moment to accept its socket), so tailscale up/down works without sudo from the panel. VM asserts the vpn stack, the retirement, and the OperatorUser pref (format verified against a live daemon).
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
| |
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.
|
| |
|
|
| |
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.
|
| |
|
|
| |
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.
|
| |
|
|
| |
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.
|
| | |
|
| |
|
|
| |
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.
|
| |
|
|
| |
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.
|