- Add sort dropdown: Newest/Oldest/Title A-Z/Z-A
- Client-side cache with 30s TTL for instant section switching
- Re-sorting uses cached data for immediate response
- Cache clears on data modifications (add/archive/delete)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add database indexes on isArchived, isFavorite, createdAt columns
- Optimize article list API to exclude content/textContent fields
- Add PATCH /api/articles endpoint for bulk updates
- Implement multi-select mode with Select/Deselect all
- Add bulk archive/unarchive buttons
- Rename "All Articles" to "To Read"
- Fetch full article content only when opening for reading
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add archive/delete/external-link buttons to Reader header
- Create floating TTS player bar with progress slider
- Add 15s skip forward/back controls
- Show current time and duration during playback
- Add busy_timeout to SQLite for concurrent access during build
- Checkpoint WAL after migrations
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Save articles via URL or bookmarklet
- Clean dark reader with customizable fonts/sizing
- Text-to-speech with browser + Kokoro support
- Speed control up to 3x
- Favorites and archive
- SQLite database with Drizzle ORM
- Docker deployment ready
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>