- Created sdt-workspace.json at repo root to enable workspace project switching
- Cleaned up boilerplate Tauri template strings in Cargo.toml and tauri.conf.json (titles, identifiers, author name)
- Add edit/delete icon buttons to SidePanel items for entries, todos, lists, and fragments
- Move fragment edit/delete controls from FragmentEditor main panel to SidePanel
- Add externalEditRequested prop to FragmentEditor for parent-controlled edit mode
- Add fragment delete handling in +page.svelte performDelete flow
- Support custom entry filenames via FileName parameter in EntrySavePayload
- Fix vault persistence for custom-named entries (non-date-formatted .md files)
- Add VaultStorageService SaveCustomEntries helper for _custom_entries.vault
- Add entries.delete backend command and wire through EntryFileService
- Remove Write/Preview toggle from MarkdownEditor (previewOnly controlled by parent)
- Add smoke tests for vault custom entry roundtrip and entry save with custom filename
Co-Authored-By: Oz <oz-agent@warp.dev>
- Add saveCurrentDocument() that persists entries (via saveEntryFromStore)
and lists (via updateListByStoreId) when switching documents or sections
- Register flush callback in session store so +layout.svelte can trigger
a save before vault rebuild on window close
- Remove explicit Save button from MarkdownEditor (no longer needed)
- Simplify MarkdownEditor props (removed activeSection, onOpenDocument,
onDeleteDocument since save is now handled by the parent)
- Todos already save instantly; fragments keep their form-based workflow
Co-Authored-By: Oz <oz-agent@warp.dev>
- Wire up lists and todos to C# backend with full CRUD persistence
- Add models, DTOs, repositories, and services for lists and todo lists/items
- Preserve SQLite DB across vault rebuild/load cycles
- Add session store for vault password persistence across navigation
- Add inline name input for creating lists and todo lists in SidePanel
- Clear editor panel on section change with empty state placeholder
- Default markdown editor to preview mode on item selection
- Decompose EditorPanel into sub-components:
- editor/FragmentEditor, editor/TodoEditor, editor/MarkdownEditor
- Shared markdown utilities in utils/markdown.ts
- Strip verbose console/eprintln logging from frontend and Tauri backend
- Add graceful shutdown with vault persistence on window close
Co-Authored-By: Oz <oz-agent@warp.dev>
- Add Rust shutdown command that kills sidecar and exits app cleanly
- Frontend calls invoke('shutdown') after vault flush on close
- Add auth.ts, entries.ts, and normalize.ts backend modules
- Add EditorPanel.svelte component
- Expand entries store with full CRUD support
- Add JournalEntryDtos and JournalEntryDtoMapper in Journal.Core
- Update entry search, fragments, and sidecar CLI
Co-Authored-By: Oz <oz-agent@warp.dev>
- Set JOURNAL_PROJECT_ROOT and CWD when spawning sidecar so data
lands at repo root instead of under src-tauri/ (fixes dev watcher
hot-reload loop triggered by schema file writes)
- Add backend client layer (auth.ts, client.ts, fragments.ts, types.ts)
- Wire vault unlock flow with password prompt modal on locked DB
- Update fragments store with full sidecar CRUD integration
- Update EditorPanel and AppModal for fragment editing support
- Gitignore runtime journal/ and logs/ directories
Co-Authored-By: Oz <oz-agent@warp.dev>
- add and expand feature stores for entries, fragments, todos, lists, settings
- move CRUD logic into store helpers and simplify component state handling
- update SidePanel + button to create section-specific items
- switch fragment UX to view-first with edit/create modes
- add and update docs for store-based state management
- remove deprecated account route