Skip to content

VacuumStream v0.2.0

Choose a tag to compare

@eliottness eliottness released this 22 Sep 23:22

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 SHA256SUMS

For AppImage:

chmod +x VacuumStream-0.2.0-x86_64.AppImage
./VacuumStream-0.2.0-x86_64.AppImage

For 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.VacuumStream

See the user guide
for FUSE alternatives, controller setup, and Steam Gaming Mode.

Validation and limitations

  • bun run verify passes 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.