Dispatcharr/apps/m3u
None cae040d45d fix(channels): make compact numbering repack idempotent
The compact repack read its channels with no ORDER BY, so the pack followed PostgreSQL's physical row order. That order drifts after the
UPDATEs each repack issues, so successive syncs
packed the same channels into different numbers within the configured range. Auto-synced channel numbers reshuffled on every sync even when the provider had not changed.

- Add .order_by("id") to the _repack_inner channel query so the pack is deterministic. id order is creation order, which tracks the provider stream order used by the default "provider" sort.
- Add c.id as a secondary key to the name / tvg_id / updated_at sorts so equal values (e.g. blank tvg_id) break ties deterministically instead of churning.
- Add a deterministic regression test that forces a physical heap reorder (CLUSTER) and asserts two consecutive repacks produce identical channel numbers.
2026-06-05 00:01:22 -05:00
..
migrations refactor(orphan-cleanup): store as custom_properties mode 2026-05-01 23:24:40 -05:00
tests fix(channels): make compact numbering repack idempotent 2026-06-05 00:01:22 -05:00
__init__.py Initial commit 2025-02-18 11:14:09 -06:00
admin.py Add custom properties to M3UAccountProfile and implement account info retrieval 2025-09-09 16:05:58 -05:00
api_urls.py Ability to refresh account info from account info modal and provide notification on results. 2025-09-09 18:15:33 -05:00
api_views.py Enhancement: Initial fmp4 support and major ts_proxy refactor 2026-05-08 17:46:47 -05:00
apps.py Initial commit 2025-02-18 11:14:09 -06:00
forms.py Convert custom_properties to jsonb in the backend. 2025-09-02 09:41:51 -05:00
models.py refactor(orphan-cleanup): store as custom_properties mode 2026-05-01 23:24:40 -05:00
serializers.py perf: eliminate three remaining N+1 queries in list endpoints 2026-05-02 16:48:37 -05:00
signals.py Enhancement: Account expiration tracking and notifications for M3U profiles 2026-03-14 18:38:59 -05:00
tasks.py fix: update profile save method to include expiration date in custom properties 2026-05-17 17:43:15 -05:00
urls.py Initial commit 2025-02-18 11:14:09 -06:00
utils.py Enhancement: Adds support for UDP streams. Closes #617 2025-11-11 18:30:59 -06:00
views.py Add ability to scan for vods during m3u refresh. 2025-08-02 12:01:26 -05:00