Skip to content

v3.9.0 — live edit [e], [c] category picker, centered footer, Flowclock header#29

Merged
aedneth merged 4 commits into
mainfrom
feat/v3.9.0-live-edit-categories-footer
Jun 17, 2026
Merged

v3.9.0 — live edit [e], [c] category picker, centered footer, Flowclock header#29
aedneth merged 4 commits into
mainfrom
feat/v3.9.0-live-edit-categories-footer

Conversation

@aedneth

@aedneth aedneth commented Jun 17, 2026

Copy link
Copy Markdown
Owner

Dogfooding-driven UX iteration on v3.8.0. Four friction fixes found while testing the break menu in a small terminal.

Changes

  • Edit a running session — [e]. Opens the session form pre-filled with the current goal/details/target/budget; submit applies without stopping the timer and re-seeds the crash-recovery journal. Edit-mode Ctrl-C closes the modal but keeps the session alive. The new-session form is reused via a mode: "create" | "edit".
  • [m] "more" → [c] "categories". [c] opens the break-category picker in both break states; the redundant [c] cycle binding is removed (the picker supersedes it). 16 quick keys unchanged.
  • Centered, compact session footer. Trimmed to [p] pause · [b] break · [c] cat · [e] edit · [x] cancel · [q] stop so it fits and centers in a small terminal; the full keymap stays in [6] Help. z/Enter/Tab/r/1-6 handlers unchanged — only their hints moved.
  • Header reads "Flowclock" (dropped the redundant "Dashboard").

Verification

  • npm test 725 pass · eslint . clean · tsc --noEmit clean · build success
  • node dist/cli.js --version3.9.0; non-TTY snapshot + manifest sane
  • New tests: sessionform edit-mode (6), dashboard (compact/centered footer, [c]+[e]/no-[m], on-break footer, header trim, live-edit composite). Rewrote the two v3.8.0 footer tests that asserted the now-removed [z]/[Enter] hide/[m] hints.

Data schema unchanged (v3). Backward-compatible: openSessionFormState() no-arg still opens a blank create form.

🤖 Generated with Claude Code

aedneth and others added 4 commits June 17, 2026 15:47
Add `mode: "create" | "edit"` to SessionFormState so the new-session form
can double as the live-edit form. `openSessionFormState({ mode, values })`
pre-fills and selects the mode; render swaps the title (New/Edit session)
and the Enter verb (start/save). Back-compat: no-arg open = blank create.

Pure/additive — no app wiring yet. Covered by new edit-mode tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ader trim

- [e] during a live session opens the form in edit mode (pre-filled goal/
  details/target/budget); submit applies without stopping the timer and
  re-seeds the crash-recovery journal. Edit-mode Ctrl-C closes the modal but
  keeps the session alive (only create-mode Ctrl-C exits).
- [m] "more" → [c] "categories": [c] opens the break-category picker in both
  break states. Removes the redundant [c] cycle binding (picker supersedes it).
- Footer is centered (padTo center) and the live control row is trimmed to the
  essentials so it fits/centers in a small terminal; full keymap stays in Help.
  z/Enter/Tab/r/1-6 handlers are unchanged — only their footer hints moved.
- Header reads "Flowclock" (dropped the redundant "Dashboard").

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… footer)

Bump to 3.9.0; CHANGELOG 3.9.0 section; README updated; v3.9.0 roadmap row.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A high-severity advisory landed against hono <=4.12.24 since v3.8.0; pulled in transitively via @modelcontextprotocol/sdk. flowclock's MCP server is stdio-only, so the vulnerable HTTP/serve-static paths are not exercised, but the npm audit --audit-level=high release gate blocks regardless. Pin to 4.12.25 via overrides. Patch bump; build + 725 tests green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@aedneth aedneth merged commit 057c6cc into main Jun 17, 2026
6 checks passed
@aedneth aedneth deleted the feat/v3.9.0-live-edit-categories-footer branch June 17, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant