Dispatcharr/apps/channels/tests
None 36a8e92d94 fix(dvr): prevent duplicate recordings after EPG refresh
- Replace ProgramData.id-based dedup with stable (tvg_id, start_time, end_time) key from Recording.custom_properties.program. ProgramData IDs change on every EPG refresh; the old dedup always passed after refresh, creating duplicates.

- Fix secondary timeslot guard to compare original program times (stored in custom_properties) instead of offset-adjusted Recording times. With DVR pre/post offsets configured, the old guard never matched.

- Add acquire_task_lock/release_task_lock to serialize concurrent evaluate_series_rules calls. Multiple EPG source refreshes firing evaluate_series_rules.delay() simultaneously raced to create duplicate recordings.
2026-03-20 11:48:06 -05:00
..
__init__.py DVR Features and bug fixes 2025-09-18 10:23:16 -05:00
test_channel_api.py fix bulk update error on unmatched first entry, add tests to cover bulk update api 2026-01-13 15:05:40 -05:00
test_db_retry.py fix(dvr): fix recording modal crash, harden recovery pipeline, improve tests 2026-03-04 10:21:03 -06:00
test_dvr_port_resolution.py Fix modular mode deployment issues (#1045) 2026-03-03 17:18:16 -06:00
test_epg_matching.py fix(dvr): fix series episode list, card layout, rule cleanup, and recording resilience 2026-03-04 10:21:03 -06:00
test_recording_extend.py fix(dvr): add recording extend, fix cross-recording interference, artwork race, and keepalive gaps 2026-03-04 10:21:02 -06:00
test_recording_metadata.py fix(dvr): fix series episode list, card layout, rule cleanup, and recording resilience 2026-03-04 10:21:03 -06:00
test_recording_pipeline.py fix(dvr): fix recording modal crash, harden recovery pipeline, improve tests 2026-03-04 10:21:03 -06:00
test_recording_scheduling.py fix(dvr): add DVR search/filters, fix in-progress scheduling, prevent duplicate recordings 2026-03-04 10:21:03 -06:00
test_recording_stop_cancel.py fix(dvr): fix recording modal crash, harden recovery pipeline, improve tests 2026-03-04 10:21:03 -06:00
test_recurring_rules.py DVR Features and bug fixes 2025-09-18 10:23:16 -05:00
test_series_rule_dedup.py fix(dvr): prevent duplicate recordings after EPG refresh 2026-03-20 11:48:06 -05:00
test_ts_proxy_ghost_clients.py fix: improve test coverage and add missing metadata constants 2026-03-15 19:39:15 -05:00
test_ts_proxy_initializing.py fix: improve test coverage and add missing metadata constants 2026-03-15 19:39:15 -05:00
test_ts_proxy_keepalive.py fix: cap keepalive mode duration to prevent indefinite client hold 2026-03-15 14:22:57 -05:00
test_ts_proxy_keepalive_duration.py fix: cap keepalive mode duration to prevent indefinite client hold 2026-03-15 14:22:57 -05:00
test_validate_url.py fix(dvr): fix series episode list, card layout, rule cleanup, and recording resilience 2026-03-04 10:21:03 -06:00