v0.3.8
New Features
- Drag-and-drop reordering — Projects and smart folders in the sidebar can now be reordered via drag-and-drop.
- Tags on cards — Tags are now displayed directly on note and task cards, so you can see them at a glance without opening the item.
- Task detail breadcrumb — The task detail panel now shows a breadcrumb with the storage directory and folder path for better navigation context.
- CRDT health check tool — New
notecove-admin crdt-healthCLI command for diagnosing data integrity issues. - macOS notarization — The app is now notarized by Apple, so macOS Gatekeeper won’t block it on first launch.
Bug Fixes
- SD deletion cleanup — Removing a storage directory now properly cleans up its associated projects, smart folders, and CRDT documents.
- Folder navigation — Fixed an issue where clicking on a folder wouldn’t always load the folder contents.
- Table deletion — Tables in the editor are now easier to delete.
- Note links from tasks — Clicking a note link from a task body in a project window now correctly opens the note.
- Task detail in search — Clicking on a task in the kanban/list search results now properly opens the task detail.
- Task state colors — Task link chips now update their colors when you change a project state’s color.
- Tag rendering in code — A
#character inside backtick-formatted links is no longer incorrectly rendered as a hashtag. - Task type on move — Fixed an issue where moving a task to another project could allow selecting “None” as the task type.
- Dismiss button — Removed the unnecessary close button from task detail when viewing in a normal window.
- Scroll position — Fixed folder panel scroll position resetting when switching storage directories, performing folder operations, or expanding/collapsing folders.
- Breadcrumb in linked notes — Opening a note from a task detail link now properly shows the breadcrumb area.
- CLI note open —
notecove note opennow opens the correct note.
Data Integrity
- Write-ahead validation — Singleton CRDTs (projects, folders, smart folders) now validate updates before writing, preventing entry count regressions.
- CRDT invariant assertions — Runtime assertions verify that project counts remain consistent after load/reload operations.
- Origin filter exhaustiveness — Internal update origin matching now uses a typed union instead of strings, preventing missed cases.