Repository navigation
v3.0.0
ChroniNotes v3.0.0
Spotify integration, Habits module, Task archiving, Unified calendar, Sidebar redesign
The biggest release yet — 5 major phases, 44 files changed, 9,186 lines added. ChroniNotes goes from 5 modules to 7, from 5 themes to 8, and gets a fully collapsible sidebar with live stat badges.
What's New
Phase 1: Spotify Integration
- Full Spotify playback in the sidebar — play/pause, skip, shuffle, repeat mode controls
- PKCE OAuth flow with local loopback server on
127.0.0.1:43821 - Web Playback SDK for in-app audio playback
- Playlist picker — browse and play Spotify playlists with thumbnails and track counts
- Album art, track info, progress bar in the sidebar widget
- Shuffle toggle with visual active state
- Repeat/loop control cycling through off → context → track → off
- Environment-based config via
.env+build.rs(CI uses GitHub Secrets)
Phase 2: Habits Module (Production-Ready)
- Daily habit tracker with full CRUD, streaks, and heatmaps
- Build/Break goal types — "at least" targets vs. "stay under" limits
- Section-based grouping — organize habits into collapsible sections (Health, Learning, etc.)
- Backend streak computation — current streak, best streak, total completions, completion rate
- Monthly calendar heatmap — toggle between week grid and intensity-based month heatmap
- Archive management — archive, restore, or permanently delete habits (cascades logs)
- Edit modal — all fields: name, icon, color, target, frequency, goal type, section, reminder, notes
- Stats modal — click any habit for detailed stats and notes
- Week navigation with arrow controls and "Today" snap-back
- Input validation: date, time, goal type, frequency — validated in Rust before DB write
- 5 new Rust tests
Phase 3: Task Archive System
- Archive completed tasks — done tasks show 📦 button on hover
- Bulk "Archive All Done" — one-click button in Done column header
- Archive panel — slide-down panel listing all archived tasks with Restore and Delete actions
- Restore flow — returns task to "todo" status, clears
completed_at - New
archivedcolumn with CHECK constraint and safe ALTER TABLE migration - 4 new Rust tests (114 total)
Phase 4: Unified Calendar Integration
- Habit completion on calendar — month cells show
⟡ 3/5indicators, green when all done - Countdown events on calendar — target dates appear as colored markers on month grid
- Day view shows full habit breakdown with per-habit colored pills + countdown cards
- Agenda view includes habit summaries and countdown items
- Calendar sidebar shows per-day habit summary and countdown details
- Data source badges — header shows live counts for events, reminders, habits, countdowns
- No new backend commands — leverages existing stores
Phase 5: Sidebar Layout Redesign
- Collapsible sidebar — toggle between 200px (full) and 60px (icon-only) modes
- Ctrl+B keyboard shortcut or click the logo icon to toggle
- Grouped navigation — "Workspace" (Dashboard, Tasks, Notes) + "Tracking" (Timer, Calendar, Habits, Countdown)
- Live stat badges — Tasks shows active count, Habits shows active count
- Collapsed mode — icon-only with accent dot indicators, divider lines between sections
- Responsive UserProfileCard — avatar-only in collapsed mode
- Spotify hidden when collapsed — prevents layout overflow
- State persisted in localStorage
New Themes
| Theme | Description |
|---|---|
| Black & Red | High-contrast dark with vivid red (#E31C25) accents |
| Smooth Blues | Deep ocean base with bright cyan-blue (#1187D7) highlights |
| Warm Red & Blue | Twin duality — red (#E53030) accents + blue (#3168B9) glass surfaces |
Total: 8 themes (Midnight Indigo, Steel Blue, Warm Linen, Ember, Carbon, Black & Red, Smooth Blues, Warm Red & Blue)
Other Additions
- Task subtasks via
parent_idcolumn - Task priority (Eisenhower matrix): urgent-important, important, urgent, neither
- Task description field for notes/details
- Task custom ordering with
sort_ordercolumn and batch reorder API - Updated About page — 8 themes, 7 modules, 12 features, new keyboard shortcuts (Ctrl+6/7, Ctrl+B)
Fixes
- Sidebar Spotify/profile overlap — playlist panel no longer pushes profile card off-screen
- "Open Notes Folder" not working — auto-recreates directory if externally deleted
- Updater install/replace flow — detects installation directory and passes
/D=<dir>to NSIS - Windows URL parsing in Spotify auth — uses
webbrowsercrate instead ofcmd /C start
Removed
- macOS support — removed macOS CI jobs, bundle config, and platform-specific code. ChroniNotes is now Windows-only.
- Bundle targets restricted to
["nsis", "msi"]
Full Changelog: v2.5.0...v3.0.0