- TopBar: call closeBoard() before navigating back to prevent data loss
- board-store: guard debouncedSave against race condition when board is
closed during an in-flight save
- board-store: add missing updatedAt to setColumnWidth
- useKeyboardShortcuts: remove duplicate Ctrl+K handler that prevented
command palette from toggling closed
- AttachmentSection: wire up Tauri file dialog for adding attachments
with link/copy mode support
Fixed React hooks rules violation where useState and useCallback were
called after a conditional return in BoardView. Removed unused
attachmentMode prop from AttachmentSection (can be re-added when file
dialog is wired up).
- CardDetailModal: two-panel layout (60/40) with inline title editing
- MarkdownEditor: edit/preview toggle with react-markdown + remark-gfm
- ChecklistSection: add/toggle/edit/delete items with progress counter
- LabelPicker: toggle labels + create new labels with color swatches
- DueDatePicker: date input with relative time and overdue styling
- AttachmentSection: list with remove, placeholder add button
- Wired into BoardView via selectedCardId state
Comprehensive design spec for a local-first Kanban desktop app
covering architecture, data model, UI design, accessibility,
import/export, and interaction patterns.