Repository navigation
VacuumStream v0.2.0
VacuumStream 0.2.0
The first release where a controller is genuinely enough: chat, favourites, resume, quality,
captions and sign-in all work without a mouse, and the interface has been rebuilt on Twitch's own
colour and type tokens. 105 commits since 0.1.2.
Watching
- Seek past broadcasts with controller jumps, and resume a recording where you left it.
- Pick playback quality and toggle closed captions from the player, controller-only.
- A failed player start now retries and offers a reachable Retry instead of a dead frame.
- Controls come back on their own when a channel that went offline returns.
Browsing
- Browse live streams by category, and refresh or page through Home and Following.
- Following lists every channel you follow, including the offline ones.
- Save favourite channels locally and reopen them from Home.
- A Continue Watching shelf tracks local playback progress across launches.
- Archives stay browsable when Twitch serves no thumbnail; failed artwork falls back to a
placeholder instead of a broken-image glyph.
Chat
- Optional live chat beside the player.
- Twitch's cookie-consent gate inside the chat frame is reachable with a keyboard and with a
gamepad, so chat no longer needs a mouse to become usable.
Controller and input
- An always-available on-screen keyboard plus gamepad editing shortcuts in Search; overlapping
face presses no longer swallow a submission. - Sign-in is controller-first: the account action sits one move from the Settings nav, survives
every authentication transition, and shows the device code with a QR alongside it. - Focus no longer falls to the page body when an account or shelf update replaces the focused
control.
Application
- One instance per profile. A second launch raises the existing window instead of creating a
competing owner of your local settings, favourites, progress and token. - The renderer is rebuilt on a complete Twitch-native token set: a tiered dark surface ladder,
Archivo Variable for display type beside Atkinson Hyperlegible for text, hairline structure
instead of gradients and glows, and a focus ring that appears immediately rather than fading in.
Install
Download the AppImage or Flatpak attached below, plus SHA256SUMS:
sha256sum --check --ignore-missing SHA256SUMSFor AppImage:
chmod +x VacuumStream-0.2.0-x86_64.AppImage
./VacuumStream-0.2.0-x86_64.AppImageFor Flatpak 1.16 or newer:
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user ./VacuumStream-0.2.0-x86_64.flatpak
flatpak run io.github.eliottness.VacuumStreamSee the user guide
for FUSE alternatives, controller setup, and Steam Gaming Mode.
Validation and limitations
bun run verifypasses on the tagged commit: lint, type checking, 802 passing tests
(21 expected failures) across 53 files, and a production build. GitHub CI ran the same
verification on this commit.- A Playwright end-to-end suite now drives the packaged renderer on its own display and covers the
flows recorded in the project's review ledgers. - Individual features were checked on an HTPC during development, as recorded in the improvement
ledger. Completing a Twitch device sign-in end to end on hardware is exercised up to the
activation step only; the approval itself remains unverified. - Twitch controls advertisements, regional restrictions, stream availability, and its embedded
player. VacuumStream does not block or skip ads. - Device sign-in authenticates discovery, not the embedded player. Browser cookies are not
imported. - Checksums detect corruption but are not publisher signatures. This is not a Flathub release and
has no automatic updater.
Report reproducible problems through the
issue templates.