aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-02 18:38:08 -0400
committerCraig Jennings <c@cjennings.net>2026-07-02 18:38:08 -0400
commit1c7b12806efbdf3cba09419786809bb36ca57176 (patch)
tree241429b773b5892dde874a7ace2c8cab55a0e42f /todo.org
parentf87595d6e4f0b3b27fc65cadbc4ef959c2abd4d8 (diff)
downloadarchsetup-1c7b12806efbdf3cba09419786809bb36ca57176.tar.gz
archsetup-1c7b12806efbdf3cba09419786809bb36ca57176.zip
docs(spec): tunnels spec reviewed READY and decomposed to DOING
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org30
1 files changed, 27 insertions, 3 deletions
diff --git a/todo.org b/todo.org
index 2202092..e36a83d 100644
--- a/todo.org
+++ b/todo.org
@@ -24,10 +24,34 @@ The vocabulary is open — topic tags are coined as needed — so these are conv
** TODO [#B] Audio panel spec :feature:waybar:audio:
Work Craig's ask (roam inbox, 2026-07-02) into a spec, net/bt-panel kin: an audio panel replacing the pypr audio scratchpad (Super+A) with the same functionality — change the default/active output (speaker) and input (mic), volume control for both. The one new capability: a push-to-talk mic mode for meetings — mic stays muted except while the space bar is held, releasing re-mutes. (Hold-to-talk under Wayland needs a global key grab — likely a hyprland bind pair on press/release or an evdev listener; feasibility research belongs in the spec.) Related current bindings: Super+M audio-cycle ring, Super+Shift+A mic-toggle.
-** TODO [#B] Network panel: other network interfaces (tailscale, VPNs, wireguard) :feature:waybar:network:
-Consider displaying other relevant network info in the panel: tailscale, installed VPNs (can we turn them on/off here?), wireguard — and whatever else is in this category. Pretty big; probably deserves its own spec. Origin: roam inbox capture 2026-07-02.
+** DOING [#B] Network panel: other network interfaces (tailscale, VPNs, wireguard) :feature:waybar:network:
+:PROPERTIES:
+:SPEC_ID: 79a1075a-4b56-4f25-a861-b69f120a636a
+:END:
+Spec: [[file:docs/design/2026-07-02-net-panel-other-interfaces-spec.org]] (DOING — reviewed READY and decomposed 2026-07-02 evening; all four decisions were resolved same morning, claims re-verified live at review: protonvpn binary, tailscale JSON shape, seven importable wireguard configs).
+
+Tunnels visible and controllable in the net panel: tailscale + NM wireguard + proton-vpn-cli probes, a Tunnels group in Connections, diagnose/doctor route-ownership awareness, a bar badge when a tunnel owns the default route, archsetup operator flag + package swap, and the one-time NM import of the seven Proton configs. Origin: roam inbox capture 2026-07-02.
+
+*** TODO Phase 1 — overlays.py probes (dotfiles) :feature:
+tailscale JSON / nmcli wireguard filter / protonvpn status probes, one dict shape, TDD over fake binaries; =net status= grows an overlays section.
+
+*** TODO Phase 2 — panel Tunnels group (dotfiles) :feature:
+Fourth Connections group with Up/Down through the worker thread; AT-SPI smoke extension.
+
+*** TODO Phase 3 — diagnose/doctor overlay awareness (dotfiles) :feature:
+Route/DNS ownership step, classifier rows, evidence text; TDD against the diag harness.
+
+*** TODO Phase 4 — waybar-net tunnel badge (dotfiles) :feature:
+Badge on the net glyph riding phase 3's route-ownership detection; suite coverage.
+
+*** TODO Phase 5 — archsetup: operator flag + package swap :feature:
+=tailscale set --operator= in the tailscale step; proton-vpn-cli replaces proton-vpn-gtk-app; VM assertions.
+
+*** TODO Phase 6 — wireguard config migration (both machines) :chore:
+Import the seven assets/wireguard-config configs into NM with autoconnect off; scriptable; velox now, ratio on its trip.
-Initial spec written 2026-07-02: [[file:docs/design/2026-07-02-net-panel-other-interfaces-spec.org]] (DRAFT — four decisions await Craig's review before build).
+*** TODO Test surface :test:
+Probe suites over fake tailscale/nmcli/protonvpn, panel-model Tunnels coverage, diag overlay-ownership cases, badge suite, VM assertions for phase 5.
** TODO [#B] File-manager swallow pattern :feature:hyprland:
When the file manager launches another app, it should hide to a special workspace (the "swallow" pattern) and return when that process ends, rather than vanishing. Today it disappears with no signal of whether it's coming back, so the user can't tell success from failure — they should quit explicitly instead. Origin: roam inbox capture.