github PiratesIRC/Stream-Mapparr 1.26.2241602

5 hours ago

First release since 1.26.2141957 on 2 August. It carries ten days of work, so the notes below group it rather than listing every commit. The full detail is in CHANGELOG.md.

Matching

EPG-aware placeholder matching. A stream named like a numbered slot, for example PPV EVENT 3, can now be matched by the programme its guide data says is currently on. Configurable name patterns, guide title cleanup rules, titles to skip, channel schedule suffix cleanup, and a separate mode that watches a permanently named stream for its current programme. Contributed by JHeat.

A name broken into words differently is now the same name. UnXplained Zone and unxplained zone, MagellanTV Wildest and magellantv wildest, EuroNews and euronews. Measured against 25,323 stream names, eleven channels went from matching nothing to matching the correctly named stream, and nothing that previously matched changed.

Stream Prefix Countries, a setting that tells the country filter what a provider prefix means, written as PREFIX=COUNTRY. It is consulted last, after the group label and the channel name, so it can fill a gap but never overrule a country the provider stated.

Check Stream Country Labels, an action that compares the country prefix on a stream's group against the country suffix on its guide identifier and reports where they disagree, without opening a single provider connection.

Reliability

A run no longer holds a web worker to itself. Dispatcharr runs its web workers with gevent, which means a thread inside a plugin keeps the worker until it steps aside, and a loop doing arithmetic never steps aside on its own. While a run was in progress, every other request that worker was given had to wait for it. The four loops that do per-item matching work now hand the worker back on each pass.

The schedule now comes from the database. The scheduler bootstrapped from a settings file that is a copy of what the interface last wrote, rather than from what the interface actually saved. The two can disagree, and where they did the daily job silently never ran and nothing reported a problem, because as far as the scheduler could tell there was no schedule. The database is now the source of truth in both directions and the file is rewritten to match.

The runtime estimate sizes the job the current settings describe, not the one that ran last time. That number decides whether a run happens inside the request or in the background, so it was not a display-only error.

Reports and output

One report now sends one email rather than two. The Report a Bug button masks the configured source list and can attach a freshly sanitised export, never one from disk, because those label every stream with the provider host. The regex rule test writes its full readout to a file, because it can produce twenty before-and-after samples and a notification shows roughly 280 characters clipped from the middle.

Housekeeping

Six settings that shipped undocumented are now in the README. Nine unused variables and two unused imports removed. A CODE_OF_CONDUCT.md was added.

Don't miss a new Stream-Mapparr release

NewReleases is sending notifications on new releases.