Dispatcharr/apps/m3u/tests
None 0c0e802cf2 refactor(orphan-cleanup): store as custom_properties mode
Drop 3UAccount.auto_cleanup_unused_channels field and its migration (apps/m3u/0020). Replace with a 3-state string under M3UAccount.custom_properties.orphan_channel_cleanup: "always" (default), "preserve_customized", "never".

Move the UI from a checkbox on the M3U account form to a SegmentedControl at the top of LiveGroupFilter. Local state mirrors the prop for immediate click feedback; reverts on API error.

M3UAccountSerializer.update() now merges incoming custom_properties before layering the typed preference fields on top.

Add LiveGroupFilter.test.jsx (5 cases). Replace AutoCleanupToggleTests with OrphanCleanupModeTests (5 cases) for the new 3-state contract.
2026-05-01 23:24:40 -05:00
..
__init__.py fix(m3u): fix Celery worker memory leak during M3U/XC refresh 2026-03-05 13:47:20 -06:00
test_account_destroy.py feat: Auto-sync overhaul (FR #1196) 2026-05-01 14:05:06 -05:00
test_expiration_notifications.py tests: Add backend test for expiration feature. 2026-03-15 16:42:11 -05:00
test_extinf_parsing.py fix: M3U EXTINF parsing for attributes ending in double equals 2026-03-06 08:10:30 -05:00
test_memory_cleanup.py fix(m3u): fix Celery worker memory leak during M3U/XC refresh 2026-03-05 13:47:20 -06:00
test_sync_compound.py rename Channel.user_hidden to Channel.hidden_from_output 2026-05-01 19:44:16 -05:00
test_sync_correctness.py refactor(orphan-cleanup): store as custom_properties mode 2026-05-01 23:24:40 -05:00