- Fix double scaling in getSubtitleStyle causing position misalignment
- Improve edge detection logic for better drag precision
- Add time boundary constraints to prevent negative/overflow values
- Refactor drag handlers with helper functions for better maintainability
- Ensure subtitle blocks align with timeline markers at all zoom levels
* feat(import): auto-detect and import new videos from the import directory
- Scan the configured import directory for newly added video files
- Automatically enqueue/import detected files into the application library
- Extend config and app initialization to support import directory settings
- Update video/config handlers to expose and trigger the import flow
* refactor(import): improve video import and conversion workflow
- Optimize auto-import loading state management with proper polling
- Separate large file (>500MB) async conversion from small file sync conversion
- Extract reusable helper functions for file cleanup and thumbnail generation
- Enhance UI progress display for large file conversions
* feat(import): add batch video import functionality
- Add batch_import_external_videos API endpoint with progress tracking
- Support multiple file selection in import dialog
- Display batch import progress with current file information
* feat: improve video import on headless mode
- Enhance batch video import workflow and progress tracking
- Improve HTTP server API structure and error handling
* fix(video): prevent OOM in headless mode by using fixed 64KB buffers
- introduce sanitize_filename_advanced with tests
- use fixed 64KB buffer and 1% progress reporting
* fix: resolve compilation warnings and improve SSE reliability
- Add feature-gated compilation for platform-specific functions
- Enhance SSE error handling and connection stability
- Increase broadcast channel capacity and optimize keep-alive timing