github PiratesIRC/Dispatcharr-EPG-Janitor-Plugin v1.26.1021336
EPG-Janitor 1.26.0 — full Lineuparr-style port

latest release: v1.26.1021352
14 hours ago

Ground-up rewrite of the matching engine, a new EPG-matching pipeline, and a Dispatcharr v0.20.0+ UI overhaul.

New matching engine

  • 4-stage fuzzy pipeline ported from Lineuparr: alias → exact → substring → token-sort, with length-scaled thresholds and token-overlap guards to reduce false positives
  • Built-in alias table with ~200 channel aliases: FS1/FS2, CSPAN variants, rebrands (EPIX → MGM+, MSNBC → MS NOW, getTV → GREATTV, DIY → Magnolia, Hallmark Movies & Mysteries → Hallmark Mystery, Justice Network → True Crime Network)
  • Custom aliases via new custom_aliases JSON setting, merged on top of built-ins
  • Channel number boost for tiebreaking when EPG names contain matching 3+ digit numbers
  • Regional differentiation (East/West/Pacific) runs whenever a lineup carries a regional marker — Pacific ≡ West, East won't match West-only feeds
  • Per-category normalization toggles kept and refined: quality ([HD], [4K]), regional (East/West/Pacific), geographic (US:, [CA]), misc ((A), (CX))

Scoring algorithm changes

  • Auto-Match now runs the structural pipeline (callsign 50 / state 30 / city 20 / network 10) AND the fuzzy pipeline independently per EPG candidate, takes the higher score. Identical-name matches score 100 (previously capped at 50)
  • Alias matches score ≥95 — user-curated mappings are treated as authoritative
  • Network-keyword match is now a tie-breaker — only adds +10 when other structural signals are already present
  • Scan & Heal walks ranked candidates and picks the first replacement that has program data and belongs to an eligible source

Normalization improvements

  • &and conversion (so U&YESTERDAY matches U and YESTERDAY)
  • + preserved as a brand distinguisher (Discovery+Discovery Channel, Disney+Disney)
  • Network / Channel / TV suffix stripping now requires ≥2 tokens to remain (so Comedy TV doesn't collapse to Comedy, Justice Network doesn't match Justice Central)
  • Callsign extractor excludes wrestling show abbreviations (WWE, WWF, WCW) that were hitting as false-positive US broadcast callsigns
  • Alias lookup tolerates trailing/leading whitespace on lineup names

Performance

  • Pre-normalization cache warms the matcher once per run — dramatic speedup on large EPG databases
  • Per-EPG attribute cache eliminates ~63M redundant regex calls per run (callsign/location extraction done once per EPG entry, not once per channel × EPG)
  • Typical runtime on a 21,480-EPG / 2,950-channel database: ~7–8 minutes (previously 10+)

UI overhaul (Dispatcharr v0.20.0+)

  • min_dispatcharr_version: v0.20.0 declared in plugin.json
  • Section dividers organize settings into Scope / Auto-Match / Scan & Heal / Cleanup & Maintenance / Normalization Toggles / Custom Aliases
  • Textarea inputs for multi-value comma-separated fields — accept commas or newlines as separators
  • Help text on every setting
  • Placeholder examples on every string/textarea field
  • Color-coded action buttons with button_variant, button_color, emoji labels
  • Confirmation dialogs on all destructive actions
  • Plugin logo (logo.png) ships in the distribution

Breaking changes

  • ignore_regional_tags=false now actively filters candidates, not just normalization. Default remains true.
  • Version scheme adopts Lineuparr-style 1.YY.{DDD}{HHMM} (day-of-year + 24h local time)
  • min_dispatcharr_version: v0.20.0 — older Dispatcharr versions will not render the new UI primitives

Settings preservation

All setting IDs from 0.7.0a are unchanged. Upgrading preserves every existing value automatically (Dispatcharr's PluginConfig.settings JSON is not touched on plugin reload). The new custom_aliases field defaults to empty.

Installation

  1. Download EPG-Janitor.zip below
  2. In Dispatcharr: Plugins → Import Plugin, upload
  3. Enable the plugin

Compare with previous stable: 0.6.1...v1.26.1021336

Don't miss a new Dispatcharr-EPG-Janitor-Plugin release

NewReleases is sending notifications on new releases.