mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-07-18 09:06:06 +00:00
- 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. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_channel_api.py | ||
| test_db_retry.py | ||
| test_dvr_port_resolution.py | ||
| test_epg_matching.py | ||
| test_recording_extend.py | ||
| test_recording_metadata.py | ||
| test_recording_pipeline.py | ||
| test_recording_scheduling.py | ||
| test_recording_stop_cancel.py | ||
| test_recurring_rules.py | ||
| test_series_rule_dedup.py | ||
| test_ts_proxy_ghost_clients.py | ||
| test_ts_proxy_initializing.py | ||
| test_ts_proxy_keepalive.py | ||
| test_ts_proxy_keepalive_duration.py | ||
| test_validate_url.py | ||