Skip to content

fix(Spotify): set isLocal for GQL tracks. - #1359

Open
xavwtf wants to merge 1 commit into
rukamori:mainfrom
xavwtf:main
Open

xavwtf wants to merge 1 commit into
rukamori:mainfrom
xavwtf:main

Conversation

@xavwtf

@xavwtf xavwtf commented Sep 21, 2026

Copy link
Copy Markdown

Pull Request

Before submitting a pull request, you must attest to the following:

Summary

Previously, Spotify local files could end up in queues, including shuffle queues, which would cause the metadata resolver to simply "guess" the song, which would generally be incorrect. This solves this issue.

Linked Work

  • Closes: N/A
  • Related: N/A

Change Type

  • Feature
  • Bug fix
  • UI / UX
  • Performance / memory
  • Playback / Media3
  • Lyrics / provider integration
  • Search / YouTube / network data
  • Local library / Room database
  • Widgets / notification / shortcuts
  • Settings / preferences / DataStore
  • Discord / Last.fm / ListenBrainz / external integration
  • Localization / strings / fastlane metadata
  • Build / Gradle / CI / release packaging
  • Dependency update
  • Documentation only

Affected Surfaces

  • :app
  • :core
  • :lyrics
  • :lastfm
  • :canvas
  • :shazamkit
  • :spotifycore
  • Other:

Screenshots / Recordings

Before After
N/A N/A

Behavior Notes

parseGqlTrack now sets SpotifyTrack.isLocal, meaning that they're excluded from both the playlist listing and queues when playing a playlist. Local files in a Spotify playlist should no longer show in the track list nor should they appear in the queue when the playlist is played.

Architecture Checklist

  • The change preserves UDF flow: UI -> ViewModel -> UseCase/domain -> Repository/data.
  • Business work is not triggered directly from composition.
  • No runBlocking is introduced in app execution paths.
    All others N/A

Compose / Material Checklist

N/A

Concurrency / Performance Checklist

  • The change avoids blocking the main thread.
    All others N/A

Data / Persistence Checklist

N/A

Playback / Integration Checklist

N/A

Localization / Assets Checklist

N/A

Privacy / Security Checklist

  • No secrets, keys, tokens, keystores, signing files, private certificates, or local machine paths are committed.
  • Logs do not expose access tokens, cookies, auth headers, user identifiers, listening history, or local file paths.
  • New network calls are justified by the feature and use existing client, proxy, timeout, and error-handling patterns.
  • User data remains local unless the PR explicitly documents the integration and consent path.

Verification

  • Android Studio sync: Successful Gradle sync and compilation
  • Manual device/emulator verification: Local files in Spotify playlists no longer appear in either the tracklist nor in the queue.
  • UI screenshot/recording attached: N/A (no changes to UI)
  • Accessibility or touch-target review: N/A (no changes to UI)
  • Regression areas checked: Regular tracks parse correctly, while local files are excluded from Spotify playlists as intended.
  • CI expectation: Successful build with no errors.

Reviewer Focus

Spotify GQL parsing (parseGQLTrack), verify that local files are excluded from Spotify tracklists and queues and confirm that normal tracks work fine.

Release Notes

Excluded Spotify local files from Spotify playlists.

@xavwtf

xavwtf commented Sep 21, 2026

Copy link
Copy Markdown
Author

If anything's wrong I hope you'll forgive me lol, this is my first PR to another OS repo so I'm still sort of learning as I go haha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant