Dispatcharr/apps
None 40ec6b6339 fix(channels): align the auto-sync rename preview and live rename on the regex module
The Find and Replace preview did not correctly reflect the rename the sync performs, and the rename engine differed from the preview engine.

- The preview rendered the literal $1 instead of the substituted capture group, because the replacement was passed straight into the regex engine, which honors \1, not the JS-style $1 the field accepts.
- The preview compiled patterns with the regex module while the live rename used stdlib re, so patterns valid in regex but not re (for example ^*) previewed a transform the sync silently skipped.
- A rename that expanded a name past the Channel.name column length aborted the whole bulk_create sync, while the preview showed the full name.
- Convert JS-style $1 backreferences to \1 via a shared helper used by both the preview and the live rename.
- Switch the live rename from re.sub to regex.sub, matching the preview engine and the sync's own include/exclude filters, with a timeout to bound catastrophic backtracking on user patterns.
- Cap the rename result at the Channel.name column length in both paths, so an over-length result cannot abort the sync.
- Add unit, integration, and differential parity tests covering the above.
2026-06-27 17:45:42 -05:00
..
accounts fix(recording playback): Complete authentication handling for DVR recordings by allowing JWT tokens via query parameters for both native video and HLS segments. Updated API views to support token propagation in redirects and playlist rewrites. Enhanced tests to validate new authentication behavior across endpoints. 2026-06-25 11:27:57 -05:00
api initial connect feature 2026-02-08 09:29:22 -05:00
backups refactor(backups): simplify PostgreSQL engine check in _is_postgresql function 2026-05-30 20:18:50 -05:00
channels fix(channels): align the auto-sync rename preview and live rename on the regex module 2026-06-27 17:45:42 -05:00
connect refactor(trigger_event): streamline event dispatching and improve plugin action handling 2026-06-16 11:25:17 -05:00
dashboard modified database fields for consistency, removed custom_url from streams (no longer needed) 2025-03-16 09:07:10 -04:00
epg enhancement(epg): add export lookback and cutoff parameters to EPG generation 2026-06-23 15:27:15 -05:00
hdhr fix(api): update HDHR URLs to use port-aware URI builder 2026-06-07 14:27:57 -05:00
m3u fix(channels): align the auto-sync rename preview and live rename on the regex module 2026-06-27 17:45:42 -05:00
output feat(epg): Enhance generate_epg function to support xc_catchup_prev_days parameter for improved catch-up day resolution. Update related views and tests to ensure consistent behavior across EPG generation and catch-up functionality. 2026-06-26 12:53:02 -05:00
plugins refactor(trigger_event): streamline event dispatching and improve plugin action handling 2026-06-16 11:25:17 -05:00
proxy feat(timeshift): Implement session-based media ID handling and improve stream limit checks for timeshift proxy. Enhance session management by allowing distinct client/session identification for timeshift requests, ensuring better resource allocation and user experience. Update tests to validate new session handling logic. 2026-06-26 17:36:23 -05:00
timeshift refactor(timeshift): Replace random session ID generation with secure secrets for timeshift sessions. Introduce helper functions for session management and enhance session validation to prevent foreign session reuse. Update tests to cover new session handling logic and ensure proper user ownership checks. 2026-06-27 16:50:44 -05:00
vod fix(xc): normalize server URLs for live playback and stream URLs (Fixes #1363) 2026-06-18 10:12:12 -05:00