Skip to content

Release: v1.19.0 — Pomodoro Focus Timer#46

Merged
Data-Wise merged 8 commits into
mainfrom
dev
Feb 23, 2026
Merged

Release: v1.19.0 — Pomodoro Focus Timer#46
Data-Wise merged 8 commits into
mainfrom
dev

Conversation

@Data-Wise
Copy link
Copy Markdown
Owner

Summary

  • Pomodoro Focus Timer — Minimal status bar timer with 25-minute work sessions, auto-save on completion, gentle break toasts, and configurable durations in Settings > General
  • Auto-pin new projects to sidebar on creation
  • 62 new tests (2,255 total passing across 73 files)
  • Accessibility — aria-live, aria-label, prefers-reduced-motion support

Changes

  • 8 commits since v1.18.0
  • 134 files changed (+7,534 / -3,954 lines)
  • New Zustand store: usePomodoroStore with symmetric callbacks
  • 5 new user preferences for timer configuration
  • Documentation site updated with feature guides and shortcuts

Test Plan

  • 2,255 tests passing (Vitest + Testing Library)
  • 0 TypeScript errors in production
  • mkdocs build --strict passes (0 warnings)
  • Version bumped in package.json, tauri.conf.json, Cargo.toml
  • CHANGELOG updated with v1.19.0 entry

🤖 Generated with Claude Code

Test User and others added 8 commits February 23, 2026 10:11
Replace fire-and-forget auto-init in browser-api.ts with a singleton
browserReady() promise. App render in main.tsx now awaits API
initialization before mounting React, with graceful fallback if init
fails. Eliminates IndexedDB race conditions during HMR and cold starts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Settings modal overlay previously used `fixed inset-0` which covered
the entire viewport including the left sidebar. Now reads sidebarWidth
from Zustand store and offsets the left edge dynamically, keeping the
sidebar fully accessible while settings is open.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: add pomodoro timer spec and orchestration plan

Minimal pomodoro timer for Scribe's editor status bar:
- Countdown timer between WritingProgress and Quick Chat
- Auto-save note on pomodoro completion
- Gentle break nudges (toast, no modals)
- Today's count only, resets at midnight
- Zustand store for timer state, survives note switches
- Settings in General tab, Cmd+Shift+P shortcut

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add pomodoro Zustand store and preferences

- Add 5 new preference fields (pomodoroEnabled, work/short/long durations, interval)
- Create usePomodoroStore with idle/work/break state machine
- Midnight reset, preference sync, onComplete callback pattern
- 35 new store tests covering all transitions and edge cases

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add PomodoroTimer component to editor status bar

- PomodoroTimer component with click-to-toggle, right-click-to-reset
- Emoji icons (tomato for work, coffee for break), count badge (2/4)
- Integrated between WritingProgress and Quick Chat in status bar
- Auto-save via api.updateNote() on pomodoro completion
- Break nudge toasts (success/info) on work and break completion
- aria-live="polite", descriptive labels, prefers-reduced-motion support
- 27 new component tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add pomodoro settings and Cmd+Shift+P shortcut

- Focus Timer section in Settings > General with enable toggle and
  configurable durations (work, short/long break, interval)
- Cmd+Shift+P toggles pomodoro start/pause
- New Project reassigned to Cmd+Shift+N

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: update changelog for pomodoro feature

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: auto-pin new projects to sidebar and remove pomodoro shortcut

New projects now appear in the sidebar immediately by auto-pinning on
creation. Removed Cmd+Shift+P pomodoro shortcut to avoid conflicting
with the native menu's "New Project" accelerator.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: add comprehensive Scribe documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: remove stale ⌘⇧P references from pomodoro UI and docs

The pomodoro shortcut was removed — update tooltips, settings
description, changelog, and documentation to reflect click-only
interaction.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address PR #45 code review issues

- Fix redundant loadPreferences() calls in GeneralSettingsTab — cache
  prefs in useState, read once per render instead of 4+ localStorage hits
- Add syncPreferences() reactivity — pomodoro store syncs immediately
  when settings change, not just on next timer start
- Make tick() callback symmetric — onBreakComplete fires from store's
  tick() alongside onComplete, replacing fragile useEffect detection
- Update ⌘⇧N shortcut labels in IconBar, QuickActions, and tests to
  match KeyboardShortcutHandler (was showing old ⌘⇧P)
- Remove ORCHESTRATE-pomodoro.md working artifact from PR
- Add 3 new store tests for onBreakComplete in tick()
- Add clarifying comment for count display rounding math

All 2,255 tests pass (73 files, 0 failures).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: fix stale ⌘⇧P references and store interface in documentation

- Replace 5 stale ⌘⇧P → ⌘⇧N in SCRIBE-DOCUMENTATION.md (shortcut
  changed in commit 6)
- Fix store interface: phase→status, workSeconds→workDuration,
  shortBreakSeconds→shortBreakDuration, longBreakSeconds→longBreakDuration
- Fix tick signature: tick(onComplete?) → tick(onComplete?, onBreakComplete?)
- Add missing lastResetDate field to documented interface
- Mark removed keyboard shortcut in SPEC acceptance criteria

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Test User <test@example.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…sStore backlog

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Update test counts: 2,190 → 2,255 across 5 files (README badge,
  docs/index.md, CLAUDE.md, TESTS_SUMMARY.md)
- Mark pomodoro as complete in .STATUS and spec status table
- Update next_focus to settings-improvements
- Add pomodoro to Recently Completed section
- Update docs/reference/CLAUDE.md latest work section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add Pomodoro Timer to core features grid card
- Add Focus Timer section with usage table and auto-behaviors
- Add General settings category with Focus Timer mention
- Add ⌘⇧N (New Project) and ⌘⇧C (Quick Capture) to shortcuts
- mkdocs build --strict passes with 0 warnings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add Pomodoro Focus Timer to feature grid cards
- Add pomodoro to Feature Overview table
- Add ⌘⇧N (New Project) to shortcuts table
- Fix stale test count in grid card: 2163 → 2,255

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Data-Wise Data-Wise merged commit f78fe0e into main Feb 23, 2026
9 checks passed
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