Skip to content

Releases: aalejandrofer/GrubDrops

v1.2.5

18 Jun 07:20

Choose a tag to compare

GrubDrops speaks Chinese now, with timezone and proxy support, a one click migration from TwitchDropsMiner, and a solid round of stability fixes.

🌱 Added

  • Chinese + English UI. A language switcher in Settings, auto detected from your browser.
  • Timezone support. Set TZ and every time shows in your local zone.
  • Proxy (HTTP / SOCKS5). Route traffic through a proxy from Settings.
  • Per account on/off toggle. Enable or disable any account straight from the list.
  • Migrate from TwitchDropsMiner. Already mining on DevilXD or rangermix TwitchDropsMiner? Upload that miner's cookies.jar to bring the account over. It uses the same Twitch login type GrubDrops does, so the token works here with no new sign in.

⚙️ Changed

  • Language switcher now lives in Settings instead of the top bar.
  • Account screen uses a small re authenticate link in place of the long device code block.
  • Reload Watchers button appears on the settings tabs that actually need it.
  • Top right clock now shows UTC so it matches the timestamps in your drops and history lists.

🐛 Fixed

  • Kick watch no longer loops forever after a stream ends.
  • Times show the correct timezone instead of always reading UTC.
  • Security and stability pass: CSRF on the language endpoint, safer redirects, masked proxy credentials in logs, and several leak and race fixes across the watcher and network paths.

v1.2.3

15 Jun 23:21

Choose a tag to compare

🐛 Fixed

  • "Run Now" under Settings → Health no longer duplicates the form.

v1.2.2

15 Jun 23:01

Choose a tag to compare

⚙️ Changed

  • Settings inputs are bare again (transparent, accent underline on focus, right-aligned, grow to content). Reverts the 1.2.1 boxes.
  • Faster release builds via native per-arch runners (no arm64 QEMU); a tagged release takes minutes, not ~20.

🐛 Fixed

  • The console live log no longer scrolls the whole page forever (back to a fixed-height panel).

v1.2.1

15 Jun 22:33

Choose a tag to compare

⚙️ Changed

  • Renamed the accrual canary to "Heartbeat Health Checker."
  • Boxed, readable settings inputs (the bare password and channel fields were near-invisible).

🐛 Fixed

  • The Accounts page no longer shows a stale tab bar (it had its own copy); both pages share one now.
  • The console live log fills the screen instead of stopping short.

v1.2.0

15 Jun 21:23

Choose a tag to compare

🌱 Added

  • Accrual canary that probes a known-live channel on a schedule (default 6h) to confirm watch-time accrual still works without a live drop. Twitch beacon plus Kick WebSocket, run separately from the watchers. Proves transport, not drop credit.
  • Settings → Health tab with the canary results, channel/interval config, a Run-now button, and the relocated Status panel.
  • Opt-in Discord alert when a platform's accrual goes OK to fail (off by default).
  • CI regression tests pinning the Kick WS frame and Twitch beacon shapes.

⚙️ Changed

  • Settings tabs reordered (General, Accounts, Drop Priority, Notifications, Security, Health, Experimental), and Logging split into its own section.

🐛 Fixed

  • Idle Twitch and Kick rows align on the Console (the WS/Chrome pill no longer makes Kick rows taller).

v1.1.0

15 Jun 18:49

Choose a tag to compare

🌱 Added

  • Light theme with a top-bar toggle. Remembered, and applied before paint so there's no flash on reload.

⚙️ Changed

  • Kick defaults to WS-first (WebSocket, with Chrome-sidecar fallback). New installs mine Kick without Docker; existing installs keep their mode. Override in Settings → Experimental.

v1.0.5

15 Jun 11:23

Choose a tag to compare

⚙️ Changed

  • Settings → Status lists only running sidecars ("none running" when idle), not every registered account.

🌱 Added

  • README "Pick what to mine" documenting the whitelist-first step and adding a game by name.

v1.0.4

15 Jun 10:45

Choose a tag to compare

🐛 Fixed

  • No more false "session expired" for accounts with no whitelisted games; they show "no games yet" with a link to add some.
  • /drops is no longer a dead end on a fresh install (it points you to add a game).
  • Settings no longer report a successful save when the write failed.

v1.0.3

13 Jun 10:23

Choose a tag to compare

🌱 Added

  • arm64 images for the miner and Kick sidecar (arm64 uses Debian Chromium for the IVS codecs), so a Raspberry Pi can mine Kick. The arm64 sidecar is heavy (~4 GB RAM each).
  • Per-account reload (↻) that restarts one account's watcher, not all of them.
  • Simplified Chinese and Spanish READMEs with a language switcher.

⚙️ Changed

  • Lower-bandwidth Kick playback (the sidecar pins the lowest IVS quality).

🐛 Fixed

  • Account edits apply immediately instead of waiting for a manual reload.
  • "Invalid CSRF token" on plain-HTTP self-hosts (the check no longer assumes HTTPS).
  • "Failed to persist session" now names the real cause (a host-owned ./data the nonroot UID can't write).
  • Accounts list layout no longer floats the name mid-row.

v1.0.3-ws — Kick WebSocket watch (experimental)

13 Jun 10:28

Choose a tag to compare

Experimental build: Kick can now mine drops over a pure WebSocket connection — no browser, no Chrome sidecar. Opt-in; the default (Chrome/IVS) is unchanged.

🌱 Added

  • Kick WebSocket watch path — accrues Kick drop watch-time with no browser/video. Live-verified (+8 watch-minutes in 10 min, zero browser). Enable under Settings → Experimental → Kick watch path → WebSocket only (reload to apply).
  • WS / Chrome bubble on the dashboard KICK header showing which path is active.

⚙️ Changed

  • Kick watch path is now operator-selectable (kick_watch_mode). Chrome sidecar stays the default. The two are mutually exclusive — the server credits one active watch per account.

Notes

  • Experimental: WS accrual is choppy/channel-dependent. If a channel stalls, the watcher rotates; automatic WS→Chrome fallback is not in this build.