Skip to content

v1.8.12

Latest

Choose a tag to compare

@janbloemacher janbloemacher released this 21 Jul 23:58

Songify v1.8.12

Features

  • Spotify idle fetch backoff - When playback stays paused/idle, Songify slows Spotify polling to save API quota: after 10 idle pulls the interval becomes 10× the settings rate (capped at 60s); after another 10 idle pulls it raises to the 60s cap if still below. Restores automatically when playback resumes, the track changes, or Spotify-related Twitch commands/rewards run (song request, skip, play, song info, etc.).
  • Idle polling status chip - When backoff is active, the main window shows e.g. Polling 20s (idle) / Polling 1 min (idle) in the bottom center of the window; click to restore the normal settings rate.
  • Settings UI overhaul - Settings are grouped into clearer sections (General, Limits, Filters, Bits, Backup, Cloud, Advanced, Auth Ports) with scrollable layouts. User-level pickers now show a summary of selected levels when closed.
  • Spotify toast toggle - New Show Spotify toasts setting (System → Behavior) to enable or disable Windows toast notifications for Spotify errors.
  • Pear auto-connect from status icon - Click the Pear status indicator to toggle auto-connect; tooltips show backoff/retry state more clearly.
  • OAuth callback branding - Spotify login success/error page now uses embedded Songify and Spotify logos instead of remote images.

Improvements

  • Smarter Spotify error notifications - Operational Spotify API failures only notify after several consecutive non-429 errors (default: 5). Rate-limit (429) toasts still appear immediately. Global/category throttling and persistent banner occurrence counts further reduce spam.
  • Spotify error banner copy - Clearer rate-limit wording (“until around” a specific time) and a more visible persistent banner layout.
  • Spotify playlists - Playlist loading now pages through the full library; playlist dropdowns use a max height so long lists stay usable.
  • Twitch command responses - Command handling now consistently sends or announces the response after processing.
  • Pear diagnostics - JSON parse failures log a payload preview centered around the error (path, line, position) for easier troubleshooting.
  • Twitch request ingress - Request input is normalized earlier in the hosted service / Twitch handler flow.

Removals

  • Restrict song requests to a Spotify playlist - The playlist-only SR restriction option and related UI have been removed. General playlist selection and “only add to playlist” behavior are unchanged.

Fixes

  • Spotify track URLs - Track ID extraction from Twitch messages is stricter (valid 22-character IDs only), reducing bad matches from partial/odd URLs (#214).
  • Duplicate song requests - Requests for the song that is already playing are blocked.
  • Twitch startup / Spotify devices - Hardened Twitch auto-connect init order; improved Spotify device fallback/recovery and avoided unnecessary device-list API calls when a device id is already stored (#210, #211).
  • Pear auto-connect - Auto-connect stays active with one-shot failure alerts, exponential backoff retries, and forced re-check on explicit status-icon clicks.
  • Paused track refresh - Reduced repeated track updates caused by inconsistent paused/isPlaying state.

Contributors

Thanks to everyone who contributed to this release:

  • @janbloemacher - Spotify idle fetch backoff & status chip, Settings UI overhaul, Spotify toast toggle & notification throttling, OAuth callback logos, Twitch command response handling, playlist SR restriction removal
  • @gwyden - Twitch init / Spotify device recovery, Pear auto-connect & diagnostics, duplicate-request block, Spotify track URL parsing (#210, #211, #214)

Full Changelog: v1.8.11...v1.8.12


❤️ Support Songify

If you enjoy using Songify and would like to support the project,
consider becoming a member on Ko-Fi.

Your support helps keep development active and sustainable.

👉 https://ko-fi.com/overcodetv


Songify.zip:
MD5: 5753216418A930F29D86CE4E4206903C
SHA1: 6A3C91F87D90C644529B02797139B31BE483293D
SHA256: 46C745A88C7C16F8EB3C10839C2D207DDE1A52F435D90A05958D6EF702230EA1

Songify.exe:
MD5: 823A9DB632F60C163EAC73543A5720F2
SHA1: 9665212CC4A0F3EA32D363691F00C632F51614FE
SHA256: D38E9DEC008D12CFDD47E662891A4D97E94C54671C321145A522597CBDDE6611