Changelog
All notable changes to Watch Finished Turbo will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[Unreleased]
Added
- localStorage persistence for filter selections, search terms, and sort preferences across Files and Tasks pages
- Proper loading states to prevent "flash of empty content" on fresh page loads
- Real-time progress tracking with visual progress bar and color-coded states
- Comprehensive Recent Improvements section in architecture documentation
- Key Features section in main README highlighting system capabilities
Changed
- BREAKING: Simplified
files table schema by removing status column
- Files table now only tracks observations:
dataset, input, output, date
- Task processing states managed exclusively in
tasks table
- Automatic database migration preserves all existing file records
- Updated API endpoint from
/files/:dataset/status/:status to /files/:dataset
- Improved React Query cache updates for progress events (no more full refetches)
- Enhanced HandBrake progress regex to handle space before
% sign (e.g., "79.60 %")
Fixed
- Dataset name extraction in WatcherService now correctly maps file paths to configured dataset keys
- HandBrake progress tracking regex now matches format "XX.XX %" with space before percent
- React key prop warning in TaskList component by using React.Fragment with proper keys
- Empty state flashing by checking for undefined data during initial page loads
- FileList loading state now accounts for multi-step query dependencies (datasets → files)
Performance
- Reduced API calls through localStorage caching of user preferences
- Direct cache updates for progress events eliminate unnecessary network requests
- Optimistic UI updates provide immediate feedback with background synchronization
- Prevented unnecessary re-renders through proper loading state management
[Previous Versions]
See git commit history for changes prior to this changelog.
Notable Historical Changes
- Multi-stage Docker build with dev and prod modes
- Comprehensive dev container setup
- Task queue retry logic with configurable settings
- WebSocket real-time event system
- Priority-based task processing
- Dataset configuration management