Skip to content

v0.1.1 — streams survive a flaky provider line

Choose a tag to compare

@ralyodio ralyodio released this 02 Sep 05:47
235fd28

First tagged release. Everything before this shipped untagged; the version now matches package.json.

Fixed: streams that stopped after a minute or two

Three separate causes, each on its own enough to end a stream that was basically healthy. All three are ported from tipoffwatch, which hit them first.

The reconnect budget was spent by failures rather than by failures to recover. It refilled only after thirty unbroken seconds, so three hiccups inside half a minute spent the whole allowance and the entry was given up on for good — even though every restart had worked and the picture was back within seconds. It now refills the moment there is a picture.

Every refusal from the provider was final. A line that permits one connection answers 403 to the second, which is to say it answers 403 exactly when the reader is already watching — including the moment after a dropped stream, when the panel has not yet noticed the old session is gone. That arrived at the player as a dead entry. Only the statuses that mean the slot is really gone are final now; a busy line is reconnected from, and is no longer written down as a channel that does not work.

The desktop player buffered nothing and closed drift by seeking. Every gap in the provider's pacing was an underrun, every underrun a seek, every seek a rebuffer — and each hitch was a chance to spend a restart. Both screens now read ahead and neither seeks.

Full detail in #5. bun test: 690 pass, 0 fail.