github rawnaldclark/Stash v0.9.87
Stash v0.9.87

latest releases: v0.9.106, v0.9.105, v0.9.104...
one month ago

Stash v0.9.87 — YouTube tracks start ~5x faster, and downloads stop appearing on their own

Two fixes for things you'd have felt without knowing why: tracks that fall back to
YouTube took about fifteen seconds to start, and downloads kept showing up for
music nobody asked for.

Fixed

YouTube-sourced tracks took ~15 seconds to start. Now under three.

When a song has no lossless source, Stash falls back to YouTube. That fallback was
supposed to use a fast extraction path added back in June — and it turned out that
path had been silently disabled almost since the day it landed. One flag we were
passing made the extractor refuse the fast client outright, so every single track
burned three and a half seconds being turned down, then took another twelve on the
slow route.

Measured on a real phone after the fix, three tracks back to back: 2.7 seconds each,
down from about fifteen.

One honest trade-off: on this path the audio is now AAC rather than Opus, so
slightly lower quality than the slow route delivered. It only applies to tracks with
no lossless source at all — the ones Now Playing already badges "via YT" — and a
three-second start beats a thirteen-second stall. Lossless playback is completely
untouched.

Downloads appeared for playlists and mixes you never turned on.

If you use Offline mode, you may have seen thousands of downloads you didn't ask
for — often from Spotify's auto-generated mixes. Three separate things had to line
up for it, and all three are fixed:

  • Auto-discovered mixes were being switched on for you rather than waiting to be
    asked. They now stay off until you turn them on. They still appear on Home and
    still play on tap; they just don't pull files any more.
  • Mixes were supposed to be stream-only and never download. The check that enforced
    that existed, was tested, and was never actually being consulted.
  • Because those mixes counted as "enabled", the self-healing cleanup added in
    v0.9.85 deliberately spared their downloads instead of clearing them.

Mixes refresh regularly, so every new one pulled a fresh batch. If you've been
carrying a bloated download queue because of this, it clears itself out on the next
sync. Nothing you already downloaded is deleted.

Downloads you asked for could vanish.

The flip side of the same problem, and the reason it's worth calling out separately:
hitting Download on a track that only lived in a mix created something the cleanup
then removed before it finished. Same root cause as search results disappearing
after a restart. Your explicit downloads are now never swept — only the phantom
entries a sync invented.

Under the hood

Streaming now checks that a URL can actually serve a whole track before handing it
to the player, instead of finding out mid-song. Several existing sources hand back
links that play for about a minute and then die; those are now caught up front and
skipped in favour of one that works.


Install

Download the .apk below and open it on your Android device. If you've got a previous Stash release installed, this upgrades in place — your library, sync history, and settings are preserved.

Requires: Android 8.0 (API 26) or newer.

See the README for first-time setup.

What's Changed

  • Only download what users ask for, and stop the 15s YouTube stall by @rawnaldclark in #379

Full Changelog: v0.9.86...v0.9.87

Don't miss a new Stash release

NewReleases is sending notifications on new releases.