9976c430aa
connect.py's OAuth scope request (playlist-read-private playlist-read-collaborative) didn't match what sldl's own built-in login flow requests (same two, plus user-library-read). The narrower scope alembic granted let sldl refresh a valid access token, but Spotify then returned 403 Forbidden loading the playlist regardless of ownership, which sldl turns into an unhandled-exception crash (exit 134) instead of a clean scope error. Found by reproducing a friend's crash: his playlist was his own, connected via his own OAuth, correct redirect URI -- ruling out the ownership/ visibility explanation and pointing at the scope mismatch instead. Also: - run-playlist.sh: detect exit 134 specifically and log a pointed hint (distinguishing the Forbidden-loading-playlist case from any other unhandled sldl exception) instead of just "sldl finished with exit code 134" with no context. - README: document that anyone who connected Spotify before this version needs to click Connect Spotify again -- existing refresh tokens carry the old, narrower scope and don't upgrade themselves. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>