v3.0.0-beta.3 prerelease

# This is a beta release!

Things still need ironing out, documentation is very outdated, you know the drill! Feel free to try it out and report any issue though! Since some of the remaining works is related to CI building, I can only provide Windows amd64 binaries, apologies!

# Since beta.2

Since the previous beta, the following has changed:

  • Added onboarding via guided procedure on setting up Twitch integration.
  • Added a language selector and a fully finished Italian translation
  • Added a button to test if the specified Twitch app Client ID and secret are valid
  • Added Reveal/Hide button to password fields like secret keys and access tokens
  • Running kilovolt without a password is now heavily discouraged and a big warning will try to stop you
  • A random Kilovolt password is now generated on first boot instead of leaving the server unprotected

The following release notes mostly match beta.2, with the extra bits added in beta.3.

# Release notes

It’s strimertül v3! This marks a huge step forward for strimertül, in particular because:

# Strimertül is now a GUI app

Something that’s unusual (but not unheard of) is that strimertül is a command line application with a WebUI, but really should just be a GUI app. My personal experience with web development made the web ui much easier to develop with and I wasn’t going to do Electron because of the many issues it brings (big file sizes, big memory usage, unpatched chromiums, etc.) however Wails strikes a perfect balance by using the OS’ internal renderer (so if you’re on Windows, that means Edge).

Builds should be light and snappy, please report back if that is not the case for you!

# First user experience

Setting up strimertül is a bit more complex experience than competing solutions and the first user experience hasn’t been focused on until now. Booting up strimertül for the first time will now being a guided setup procedure (called onboarding) with (hopefully) helpful step-by-step tasks to get started with strimertül

# Twitch integration with EventSub websocket

Ever since v1, the biggest hurdle to my plan of “single self-hosted .exe for all your streaming needs” was that EventSub, Twitch’s event subscription service for notifications/alerts, required a publicly reacheable HTTP URL for the webhook transport, while a promised websockets transport was under development. This was solved by moving part of the logic on a hosted server but it was less than ideal.

I tried experimenting with ngrok and cloudflare ARGO tunnels but I couldn’t come up with a satisfying solution.

strimertül v3 uses the websocket transport (via beta endpoint, Twitch has not announced general availability for websocket eventsub yet at the time of writing) and is therefore fully autonomous!

# 🦀 BadgerDB is gone 🦀

An endless stream of headaches and first-time use issues, BadgerDB was my first choice for a database and my biggest regret so far. I’ve been using Pebble (the alternative database) for almost a year with no issues and I think it’s time to tell this mammal goodbye!

If you need to migrate, run the following command in a Command prompt with strimertül v2:

.\strimertul_windows_amd64.exe -export > exported.json

check that exported.json is a correctly looking JSON file, move your data (or whatever database directory you are using) somewhere else, then run this command on strimertül v3:

.\strimertul.exe import -f exported.json

and you should be good to go!

# Changelog

# Added

  • Added support for EventSub Websocket subscriptions on Twitch, making Twitch integration fully in-app without having to rely on third party servers. Check the “Events” tab in Twitch configuration for setting it up. The new keys for redeems are twitch/ev/eventsub-event and twitch/eventsub-history. History has been reduced to 50 to alleviate memory concerns.
  • A new onboarding procedure will walk first time users through setting up Twitch integration, including bot credentials (by default, the same user is used as bot).
  • Application logs are now visible from the UI, check the little floating boxes in the top right!
  • A new app icon drawn by Sonic_chan, say hello to Renko, strimertul’s mascot!
  • Hidden fields (Client secret, Kilovolt password) now have a “Reveal” toggle to show the hidden value
  • Added a “Test connection” button in the Twitch API access page to check if the provided Client ID and secret are valid and functional
  • Added language selection (so far English and Italian are the only supported languages)

# Changed

  • Strimertul is now a GUI app using Wails
  • The UI has been more tightly integrated with the underlying service meaning the kilovolt password will never be asked again
  • Database operations (import/export/restore) are now done through a much nicer CLI interface rather than random flags, check strimertul --help for more info on usage.
  • Changed behavior of database submodule to always return an empty key instead of NotExist errors.
  • Many UI dialogs are now positioned near the top rather than vertically centered to prevent elements from moving too much as the dialog size changes
  • The UI will now prevent users from overwriting existing bot commands/timers
  • A password for the kilovolt server will be auto-generated when starting strimertul for the first time
  • A big scary dialog will appear when changing the server config to have an empty kilovolt password

# Fixed

  • Many parts of the app should now react to configuration changes without requiring a full application restart.
  • The cursor in redeem/goal ID fields will now keep its position when sanitizing names (e.g. turning a whitespace to a dash) instead of jumping to the end
  • The scrollbar does not overlap the copy button in the log window
  • Fixed game command not working when the specified channel contained the @ symbol at the beginning.
  • Fixed strimertul crashing at start if the database folder didn’t exist and a database driver was not manually specified
  • Fixed strimertul crashing after a minute of being open if Twitch was not configured.

# Removed

  • Stulbe support has been removed across the board, see on Added for more notes
  • Badger has been removed as a possible database, see v3 release notes on migration procedures.
  • The link to Ash Keel’s Twitter profile has been removed

# Downloads

This release was originally published on GitHub and converted, you can find the original release here: v3.0.0-beta.3 on GitHub