diff --git a/plugins/stream-mapparr/README.md b/plugins/stream-mapparr/README.md index 69f46b8..eb00440 100644 --- a/plugins/stream-mapparr/README.md +++ b/plugins/stream-mapparr/README.md @@ -172,7 +172,7 @@ the operation lock prevents concurrent runs and auto-expires after 10 minutes. | **Custom Ignore Tags** | string | (none) | Tags to strip before matching, for example `[Dead], (Backup)` | | **Wait for IPTV Checker Completion** | boolean | False | Hold a scheduled run until IPTV Checker has finished, so matching sees fresh stats | | **IPTV Checker Max Wait (hours)** | number | 6 | How long to wait before running anyway | -| **Run After IPTV Checker Scan** | boolean | False | When IPTV Checker finishes a scheduled scan, run the scheduled steps (Sort Alternate Streams and Match and Assign, whichever are ticked). IPTV Checker needs its own `Trigger Stream-Mapparr` setting on | +| **Run After IPTV Checker Scan** | boolean | False | When IPTV Checker finishes a scheduled scan, run the scheduled steps (Fill Mirror Backups, Sort Alternate Streams and Match and Assign, whichever are ticked). IPTV Checker needs its own `Trigger Stream-Mapparr` setting on | | **Enable CSV Export** | boolean | True | Write a CSV on a scheduled Match and Assign run. A dry run always writes one | | **Delete CSV Exports Older Than (Days)** | number | 0 | Remove this plugin's older reports after each new one is written. 0, the default, keeps everything. Only files this plugin wrote are ever considered, because that directory is shared with other plugins. The newest report and the one just written always survive | | **Tag Handling** | select | Strip All | Strip All, Keep Regional, or Keep All | @@ -220,6 +220,7 @@ the operation lock prevents concurrent runs and auto-expires after 10 minutes. | **Match US OTA Only** | Match US broadcast channels by callsign | | **Sort Alternate Streams** | Re-sort existing streams by quality, and by throughput tier where probe data exists | | **Probe Stream Throughput** | Measure sustained throughput for assigned streams. Run this before Sort Alternate Streams | +| **Fill Mirror Backups** | For M3U accounts placed in one Dispatcharr server group that carry the same streams from different provider hosts, add to each channel the matching stream, found by provider stream id, from every other active account whose host the channel has no stream from yet. Two accounts on the same host count as one, and inactive accounts are skipped. New streams go after the existing provider streams and before any custom stream. Adds only and never removes. In live mode it first saves each changed channel's previous stream order to `/data/stream_mapparr_snapshots/`, and changes nothing if that save fails. Writes every addition to `/config/stream-mapparr/fill-mirror-backups.txt` | | **Manage Channel Visibility** | Enable or disable channels based on stream count | | **View Check Progress** | Show the running operation's percentage and estimated time | | **View Last Results** | Show a summary of the last completed operation | @@ -232,8 +233,10 @@ the operation lock prevents concurrent runs and auto-expires after 10 minutes. 1. Set **Scheduled Run Times** in 24-hour format, for example `0400,1600`. Times use Dispatcharr's global timezone; there is no plugin timezone setting 2. Choose which steps run: **Schedule: Match & Assign Streams**, on by default, - and **Schedule: Sort Streams**, off by default. They are independent, so a - schedule can sort only, match only, or both + **Schedule: Sort Streams**, off by default, and **Schedule: Fill Mirror + Backups**, off by default. They are independent, so a schedule can run any + of them alone or together. Fill Mirror Backups runs before Sort Streams, so + the mirrors it adds are sorted in the same run 3. Enable **CSV Export** if you want one 4. Click **Update Schedule** @@ -249,8 +252,8 @@ finishes mid-match. A multi-account refresh therefore produces one effective match rather than one per account. **After an IPTV Checker scan**: **Run After IPTV Checker Scan** runs the same -steps the fixed times run (Sort Alternate Streams and Match and Assign, -whichever are ticked) when the IPTV Checker plugin finishes a scheduled scan +steps the fixed times run (Fill Mirror Backups, Sort Alternate Streams and +Match and Assign, whichever are ticked) when the IPTV Checker plugin finishes a scheduled scan that reached the end of its channel list. IPTV Checker calls this plugin directly, so its own **Trigger Stream-Mapparr After Scheduled Check** setting must be on as well. A run already in progress is left alone and the next scan diff --git a/plugins/stream-mapparr/plugin.json b/plugins/stream-mapparr/plugin.json index 7038990..b0a50d9 100644 --- a/plugins/stream-mapparr/plugin.json +++ b/plugins/stream-mapparr/plugin.json @@ -1,6 +1,6 @@ { "name": "Stream-Mapparr", - "version": "1.26.2911353", + "version": "1.26.2911937", "description": "Automatically add matching streams to channels based on name similarity and quality precedence. Supports unlimited stream matching, channel visibility management, and CSV export cleanup.", "author": "PiratesIRC", "license": "MIT",