v3.9.0 — live edit [e], [c] category picker, centered footer, Flowclock header#29
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dogfooding-driven UX iteration on v3.8.0. Four friction fixes found while testing the break menu in a small terminal.
Changes
[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 amode: "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).1–6quick keys unchanged.[p] pause · [b] break · [c] cat · [e] edit · [x] cancel · [q] stopso it fits and centers in a small terminal; the full keymap stays in[6]Help.z/Enter/Tab/r/1-6handlers unchanged — only their hints moved.Verification
npm test725 pass ·eslint .clean ·tsc --noEmitclean · build successnode dist/cli.js --version→3.9.0; non-TTY snapshot + manifest sane[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