mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-07-17 16:50:53 +00:00
Frontend: - RecordingDetailsModal: fix ReferenceError crash (editing state used before declaration in useMemo — TDZ in production bundles broke all tile clicks) - RecordingDetailsModal: fix focus-stealing on description edit by calling Movie()/Series() as plain functions instead of <Movie />/<Series />(inline component refs change every render, causing unmount/remount) - RecordingDetailsModal: suppress sub_title in modal title after custom save - ErrorBoundary: log caught errors and show message for easier debugging - guideUtils: filter terminal recordings from mapRecordingsByProgramId so Guide red dots clear after recording finishes or rule is deleted - RecordingDetailsModalUtils.test: add missing end_time to test fixtures (filterByUpcoming now uses end_time instead of start_time) Backend: - tasks.py: output file collision avoidance (check .mkv/.ts before writing) - tasks.py: pre-restart TS segment concatenation (direct concat→MKV remux) - tasks.py: recovery pipeline — recover crashed "recording" status, remux expired recordings, revoke stale tasks, deterministic task IDs, early lock release, 10-min lock TTL for large remux operations - tasks.py: poster resolver skips external API when title matches channel name - celery.py: trigger recover_recordings_on_startup via worker_ready signal Tests: - Renamed test_dvr_fixes.py → test_recording_pipeline.py (clarity) - Renamed test_dvr_retry.py → test_db_retry.py (clarity), fixed mock paths for close_old_connections (resolved 3 test failures), replaced synthetic test - test_recording_stop_cancel: replaced brittle time.sleep(0.5) with deterministic thread-capture pattern |
||
|---|---|---|
| .. | ||
| accounts | ||
| api | ||
| backups | ||
| channels | ||
| connect | ||
| dashboard | ||
| epg | ||
| hdhr | ||
| m3u | ||
| output | ||
| plugins | ||
| proxy | ||
| vod | ||