Skip to content

Dustarr 1.26.2362242

Latest

Choose a tag to compare

@PiratesIRC PiratesIRC released this 25 Aug 10:46
· 3 commits to master since this release

The first release of Dustarr, a read-only Dispatcharr plugin that records which channels are actually watched and reports the ones that are not, so you can turn off the dead weight in your lineup.

What it does

A leader-elected collector samples Dispatcharr's live-proxy state every 15 seconds and turns raw client counts into watch sessions. A session counts as a watch only once it has run for two minutes, so channel-surfing does not inflate the numbers; a shorter session is still recorded as a tune, and that distinction is what separates channels nobody wants from channels that are simply broken.

It produces a self-contained HTML report and a CSV export, with seven sections: never watched, channels going cold, too new to judge, tuned but never qualified, least used, most used, and excluded or unobservable.

It never changes anything

The plugin reads Redis and the channel list, and writes its own report files. Nothing else.

That is enforced rather than promised. tests/test_no_mutations.py reads the syntax tree of every shipped module on every run and fails the build on any write-shaped database call it can prove, on subprocess and its relatives, and on any stream probe. It proves the receiver is a Dispatcharr model or queryset rather than banning method names. What it cannot see is documented in the README: a call made through reflection, a queryset arriving as a function parameter, or a library it does not know about.

It also never contacts your provider. A single probe consumes one of your connections and drops whoever is watching.

What to expect at first

Your first month of reports will carry a red "not trustworthy" banner, and that is the plugin working rather than failing. A dataset younger than the unused threshold cannot honestly call anything unused. There is no way to shorten this: Dispatcharr does not retain the state Dustarr reads, so a fresh installation starts at zero.

Installing

Upload the attached zip on Dispatcharr's Plugins page, then enable the plugin. Restart the Dispatcharr container after installing or upgrading: the web workers reload a plugin when its manifest changes, but the Celery workers that run the scheduled report import plugins only at worker start.

See the user guide for every setting and every button.

Verification for this build

578 tests pass, lint is clean, and the archive was built from the git index so it carries LF line endings and forward-slash path separators only.