Add tsvector full-text search, type filter (image/document/text/
spreadsheet/archive), tag filter dropdown, and pagination (50/page).
Replace folder button bar with compact dropdown. All filters combine
and carry through sort and pagination links.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace flat folder button bar with compact dropdown select.
Add sortable columns (path, name, date) to file list table.
Restore soft-deleted files on sync when file still on disk.
Serve text file previews with white background.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add up/down arrow buttons to reorder links within a folder, with lazy
sort_order initialization. Add dropdown to move existing links into the
current folder.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add quick capture input to topbar (desktop: inline 250px, mobile: full-width
with submit button) that POSTs to /capture/add with redirect back to current page
- Fix mobile bottom bar: 5 items (Dashboard, Focus, Tasks, Capture, More),
nowrap/overflow:hidden to prevent multi-line wrapping
- Rebuild mobile More panel as 3-column grid overlay (z-index 998/999/1000 stack)
with backdrop dismiss, 8 items: Calendar, Notes, Meetings, Decisions, Contacts,
Processes, Weblinks, Admin
- Add file seed fixture and registry mapping to eliminate 4 test skips
- Add time_budgets form factory patterns to fix 2 test failures
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Convert to 7 entity types: task, note, project, list item, contact, decision, weblink
- Each conversion has a dedicated form page with pre-filled fields and context selectors
- Multi-line paste creates batch with shared import_batch_id and undo button
- 3-tab filtering: Inbox (unprocessed), Processed (with conversion links), All
- Context pre-fill: optional area/project selectors on capture form
- Processed items show type badge and link to converted entity
- Sidebar badge count for unprocessed items already working
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix seed data to match actual DB schemas (capture.processed, daily_focus.completed, weblinks junction table)
- Add date/datetime coercion in BaseRepository for asyncpg compatibility
- Add UUID validation in BaseRepository.get() to prevent DataError on invalid UUIDs
- Fix focus.py and time_tracking.py date string handling for asyncpg
- Fix test ordering (action before delete) and skip destructive admin actions
- Fix form_factory FK resolution for flat UUID strings
- Fix route_report.py to use get_route_registry(app)
- Add asyncio_default_test_loop_scope=session to pytest.ini
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>