TaskNotes 4.3.20 (Fork)
This release is from the cybersader/tasknotes fork.
Added
- NotificationCache: High-performance caching layer for notification items
- 45-second TTL on aggregated results
- In-flight promise deduplication (prevents concurrent duplicate evaluations)
- Folder→Bases inverted index for O(1) invalidation lookup
- Bell click is now instant (~1ms cache hit vs ~200-500ms full scan)
- Per-category reminder behavior settings: Each time category has configurable behavior
- Overdue, today, tomorrow, thisWeek, scheduled, queryBased categories
- Dismiss behaviors: until-restart, snooze-1h/4h/1d, until-data-change, until-complete, permanent
- Per-category bell toggle (show/hide in status bar count)
- Per-category toast toggle (show/hide popup notification)
- Advanced settings section in Settings → Notifications → General
- Scrollable toast items: Click "+X more" to enable scroll mode with all items visible
- Ctrl+hover page preview: Task titles in toast support Ctrl+hover to show page preview
Changed
- Bell shows PENDING only: Status bar count now shows only unseen items where category has
showInBellCount: true - Smart invalidation: File changes only re-evaluate bases that monitor the changed folder (not ALL bases)
- Console log timestamps: All debug console output now includes ISO timestamps for traceability
- Settings reorganized: Notifications section split into General/Task/Base sub-sections
- Global settings (toast click, status bar click, check interval, show on startup) moved to General
- Per-category behavior settings in General → "Reminder behavior by category (advanced)"
Fixed
- Toast click area: Click handler now includes subtitle text for expand mode (was only handling explicit elements)
- Constant background activity: Removed O(n) "evaluate ALL bases" approach on every file change
- Delayed bell response: Bell click now returns cached data instantly instead of waiting for full evaluation
Performance
- Bell click: ~200-500ms → ~1ms (cache hit)
- Periodic check (no changes): Full scan → Instant (cache hit)
- File change in monitored folder: ALL bases evaluated → Only affected bases
- File change elsewhere: ALL bases evaluated → No evaluation