·
2 commits
to main
since this release
Pre-release Audit Fixes
Security
- Parameterized SQL queries in cookie importers (no more string interpolation)
- FTS5 query sanitization — special characters no longer crash search
Performance
- Batch Spotlight indexing (10 at a time instead of one-by-one)
- Throttled MainActor updates during Codex sync
Search
- FTS5 search now finds conversations by message content (not just titles)
- Path-style queries like
clients/verifirework correctly - Colons in search queries handled properly (
file:line→ two tokens) - Soft-deleted conversations excluded from search results
Bug Fixes
- Fixed analysis queue crash when pressing Scan twice quickly (UNIQUE constraint)
- Added concurrent scan guard to prevent double-scan race conditions
- ConversationDetailView shows error state instead of eternal spinner
- Search shows loading indicator before results
UI/UX
- Design system constants replace hardcoded spacing values
- Provider
.colorunified to.brandColoracross all views - Settings button has proper VoiceOver accessibility label
- Dark mode shimmer visibility improved
Tests
- 34 new FTS search tests covering real-world query patterns
- 419 total tests, 0 failures