mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-07-18 17:16:26 +00:00
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. |
||
|---|---|---|
| .. | ||
| accounts | ||
| api | ||
| backups | ||
| channels | ||
| connect | ||
| dashboard | ||
| epg | ||
| hdhr | ||
| m3u | ||
| output | ||
| plugins | ||
| proxy | ||
| timeshift | ||
| vod | ||