-
released this
2025-11-23 14:06:44 +00:00 | 21 commits to master since this releaseDescription
This release includes major improvements to break timer functionality, time tracking across sessions, and background timer reliability.
Bug Fixes
- Fixed break timer visual feedback: Break timer now displays countdown with a distinct cyan background color instead of disappearing
- Fixed break timer countdown: Break timer now properly counts down instead of staying at 00:00
- Fixed time persistence across breaks: Actual time spent now accumulates correctly across multiple Pomodoro sessions and breaks
- Fixed skip break behavior: Skip break button now resumes work instead of stopping the task completely
- Fixed timer not tracking in background: Timer now uses timestamp-based tracking instead of setInterval, ensuring accurate time tracking even when Obsidian is minimized or inactive
- Fixed timer accuracy: Improved precision in time calculations to prevent rounding errors
Improvements
- Enhanced break timer UI:
- Dynamic labels show "☕ BREAK TIME" during countdown and "✨ BREAK COMPLETE" when finished
- Break timer stays at 0:00 when complete (doesn't disappear) until you resume
- Visual distinction with cyan background color
- Auto-start breaks by default: Break timer now auto-starts after Pomodoro completion (can be disabled in settings)
- Better break controls:
- "Start Break" button when work session ends
- "Continue Working" button to keep going without a break
- "Skip Break" now resumes work session instead of stopping
- Accumulated time tracking: Tasks now track total time spent across multiple sessions and breaks
- Enhanced data persistence: Improved settings merge logic to ensure existing users get new default values when upgrading
- Added visibility change detection: Automatically syncs timer when app returns to foreground
Technical Changes
- Implemented timestamp-based timer tracking system with
timerStartTimestampandpausedTimeRemaining - Added
syncTimerFromTimestamp()method for reliable background time tracking - Added
visibilitychangeevent listener to sync timers when app becomes active - Maintains timer state across pause/resume and background/foreground transitions
- Improved
loadAllData()to merge defaults with saved data more intelligently - Added class property
secondsWorkedOnCurrentTaskto track accumulated time across sessions - Enhanced
handlePomodoroEnd()to prevent timer going negative and keep display at 0:00 - Updated view.ts with contextual UI controls based on timer state
Data Persistence
Your data is automatically saved to
.obsidian/plugins/focus-task/data.jsonand persists across:- Plugin updates/reinstalls
- Obsidian restarts
- Device syncing (Obsidian Sync, Dropbox, etc.)
Files Included in Release
main.js- Compiled plugin codemanifest.json- Plugin metadatastyles.css- Plugin styles
Installation
- Download
focus-task-1.0.7.zip - Extract the files
- Copy the files to
.obsidian/plugins/focus-task/in your vault - Reload Obsidian and enable the plugin
Note: Your existing tasks and settings will be preserved automatically!
Downloads