diff options
Diffstat (limited to 'todo.org')
| -rw-r--r-- | todo.org | 29 |
1 files changed, 25 insertions, 4 deletions
@@ -53,11 +53,17 @@ Work Craig's ask (roam inbox, 2026-07-02) into a spec, net/bt-panel kin: an audi ** TODO [#B] Network panel: identify tunnel backends + richer connection info :feature:waybar:network: Craig's ask (roam inbox, 2026-07-02): the Tunnels rows all look alike — no way to tell which is tailscale, which is an NM wireguard/openvpn profile, and which is proton CLI without prior knowledge (e.g. when you want to bounce tailscale specifically). Fix the identification first. Second half: improve the stats under each connection — the panel is the only place to learn about a connection, effectively its info page; think through all the useful fields (backend, iface, addresses, endpoint, rx/tx, state detail) and show them. -** TODO [#B] Timer: alarm am/pm input silently fails :bug:waybar:solo: -Craig's report (roam inbox, 2026-07-02): when setting an alarm, entering am or pm in any fashion makes the timer silently fail. It should accept 24h and 12h variants — capitalization, spaces, bare "a"/"p" — all common forms. Severity Major (silent failure of a core input path) × most uses → P2. +** DONE [#B] Timer: alarm am/pm input silently fails :bug:waybar:solo: +CLOSED: [2026-07-02 Thu] +Fixed (dotfiles =8dd36c4=). Two root causes: =parse_alarm= only accepted 24h =HH:MM=, and =cmd_new= suppressed the ValueError, so any 12h input silently created nothing. Now accepts 24h (=14:30=, bare =14=) and all common 12h shapes (=2:30pm=, =2:30 PM=, =7:15p=, =7p=; any case, optional space, bare a/p; 12am = midnight), and input that still doesn't parse fires a fail notification instead of vanishing. 107 wtimer tests green (10 new parse cases + notify-on-error CLI tests). Manual test filed (live dialog run). + +Craig's report (roam inbox, 2026-07-02): when setting an alarm, entering am or pm in any fashion makes the timer silently fail. It should accept 24h and 12h variants — capitalization, spaces, bare "a"/"p" — all common forms. -** TODO [#B] Timer: escape doesn't cancel the dialog flow :bug:waybar:solo: -Craig's report (roam inbox, 2026-07-02): hitting cancel via escape at the step after choosing "timer" does nothing but proceed to the next step — likely the same for the other dialog steps. Escape at any step should abort the whole flow. Minor-to-Major severity × every cancel attempt → P2. +** DONE [#B] Timer: escape doesn't cancel the dialog flow :bug:waybar:solo: +CLOSED: [2026-07-02 Thu] +Fixed (dotfiles =8dd36c4=). Root cause: =_fuzzel= ignored fuzzel's exit code, so Escape (fuzzel exits 2 on a dmenu abort — confirmed in its changelog) returned "" and the flow fed it onward to the next prompt. =_fuzzel= now returns None on any non-zero exit and =cmd_new= aborts the whole flow on None at any step (type, duration/alarm, label). Escape-at-each-step covered by CLI tests against a fake fuzzel exiting 2. Manual test filed (real keyboard Escape). + +Craig's report (roam inbox, 2026-07-02): hitting cancel via escape at the step after choosing "timer" does nothing but proceed to the next step — likely the same for the other dialog steps. ** TODO [#B] Network panel: stream speedtest results live :feature:waybar:network:solo: Craig's ask (roam inbox, 2026-07-02): the speedtest only shows results at the end; typical speedtest UIs report the numbers as they come in. Stream the CLI's progress into the results box as it arrives, then the final numbers at the end. Related finding: the "Tip" row under the results (screenshot ~/pictures/screenshots/2026-07-02_225441.png) is a static hardcoded string shown after every run, not derived from the results — replace it with result-aware guidance or drop it (Craig asked what criteria produced it; the answer is none). @@ -841,6 +847,21 @@ Parse yay errors and provide specific, actionable fixes instead of generic error Enhance existing indicators to show what's happening in real-time ** TODO Manual testing and validation +*** Timer dialog: Escape cancels at every step +What we're verifying: Escape in the real fuzzel dialogs aborts the whole flow (the fix rides fuzzel's abort exit code; the unit tests fake it, this is the live confirmation). +- Left-click the timer module on the bar, pick "timer", then hit Escape at the Duration prompt. +Expected: no Label prompt appears and no timer is created (bar count unchanged). +- Left-click again and hit Escape at the very first Timer-type menu, and once more at the Label prompt after entering a duration. +Expected: each Escape ends the flow with nothing created. + +*** Timer alarm: 12-hour time accepted, bad input notifies +What we're verifying: the alarm prompt takes 12h shapes live and errors are audible instead of silent. +- Left-click the timer module, pick "alarm", enter 2:30pm (or any 12h form), Enter through the label. +Expected: an alarm appears on the bar showing 14:30 as its fire time. +- Repeat with garbage like 99:99. +Expected: a fail notification names the bad input; nothing is created. +- Cancel the test alarm (right-click the module, pick it). + *** Proton VPN CLI sign-in (velox now, ratio on its trip) What we're verifying: the proton CLI has its own account store (separate from the retired GTK app's), so the panel's proton rows can't toggle until you sign in once per machine. - Run in a terminal: protonvpn login <your-proton-username> (it prompts for the password). |
