feat: Ctrl+S save shortcut + enable/disable-all actions (#55) #59

Merged
the_og merged 2 commits from feat/55-ux-polish into main 2026-07-12 14:02:24 -04:00
Owner

Closes #55.

  • Ctrl+S / Cmd+S saves via a guard slot that only fires when the Save button itself is enabled — the shortcut can't bypass validation/dirty gating.
  • All on / All off buttons beside the search box flip every server in one step: single undo snapshot, single refresh, single dirty mark; no-op (no undo noise) when already uniform or empty.

Offscreen smoke test verified: bulk-enable → one undo restores the split; repeated no-op doesn't grow the undo stack; shortcut respects gating. (Implemented by a delegated agent; diff reviewed, tests re-run.)

Note: expected textual conflict with #52's sets row in _build_left — will resolve at merge.

🤖 Generated with Claude Code

Closes #55. - **Ctrl+S / Cmd+S** saves via a guard slot that only fires when the Save button itself is enabled — the shortcut can't bypass validation/dirty gating. - **All on / All off** buttons beside the search box flip every server in one step: single undo snapshot, single refresh, single dirty mark; no-op (no undo noise) when already uniform or empty. Offscreen smoke test verified: bulk-enable → one undo restores the split; repeated no-op doesn't grow the undo stack; shortcut respects gating. (Implemented by a delegated agent; diff reviewed, tests re-run.) Note: expected textual conflict with #52's sets row in `_build_left` — will resolve at merge. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
the_og added 1 commit 2026-07-12 13:57:38 -04:00
feat: Ctrl+S save shortcut + enable/disable-all actions (#55)
CI / Tests (py3.12 / windows-latest) (pull_request) Successful in 20s
CI / Tests (py3.13 / ubuntu-latest) (pull_request) Successful in 8s
CI / Lint (ruff) (pull_request) Successful in 7s
CI / Tests (py3.10 / ubuntu-latest) (pull_request) Successful in 9s
CI / Tests (py3.12 / ubuntu-latest) (pull_request) Successful in 8s
31ef4a0e85
Closes #55

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
the_og added 1 commit 2026-07-12 14:01:31 -04:00
Merge remote-tracking branch 'origin/main' into feat/55-ux-polish
CI / Lint (ruff) (pull_request) Successful in 7s
CI / Tests (py3.10 / ubuntu-latest) (pull_request) Successful in 9s
CI / Tests (py3.12 / windows-latest) (pull_request) Successful in 20s
CI / Tests (py3.12 / ubuntu-latest) (pull_request) Successful in 9s
CI / Tests (py3.13 / ubuntu-latest) (pull_request) Successful in 9s
f92b851127
the_og merged commit 06e74d4d2c into main 2026-07-12 14:02:24 -04:00
the_og deleted branch feat/55-ux-polish 2026-07-12 14:02:24 -04:00
Sign in to join this conversation.