[GH-ISSUE #865] local streaming not working #520

Closed
opened 2026-03-02 23:48:16 +03:00 by kerem · 6 comments
Owner

Originally created by @morellus on GitHub (Nov 7, 2025).
Original GitHub issue: https://github.com/aome510/spotify-player/issues/865

Describe the bug
While controlling spotify running on another device works, the local streaming with no other client open does not.

To Reproduce
I don't no what the specific issue causing this problem is. On my machine i start spotify_player (v0.21.1) (installed from crates.io with default features), try to play a song, and the song doesnt play.

Expected behaviour
I expect the spotify_player to play music when i select a song and press play.

Log and backtrace

2025-11-07T16:35:38.150789Z  INFO spotify_player: Configurations: Configs { app_config: AppConfig { theme: "dracula", client_id: Some("<my_client_id>"), client_id_command: None, client_port: 8080, login_redirect_uri: "http://127.0.0.1:8989/login", log_folder: Some("/home/jan/.cache/spotify-player"), player_event_hook_command: None, playback_format: "{status} {track} • {artists} {liked}\n{album} • {genres}\n{metadata}", playback_metadata_fields: ["repeat", "shuffle", "volume", "device"], tracks_playback_limit: 50, proxy: None, ap_port: None, app_refresh_duration_in_ms: 32, playback_refresh_duration_in_ms: 0, page_size_in_rows: 20, play_icon: "▶", pause_icon: "▌▌", liked_icon: "♥", border_type: Plain, progress_bar_type: Rectangle, progress_bar_position: Bottom, layout: LayoutConfig { library: LibraryLayoutConfig { playlist_percent: 40, album_percent: 40 }, playback_window_position: Top, playback_window_height: 6 }, genre_num: 2, cover_img_length: 9, cover_img_width: 5, cover_img_scale: 1.0, enable_media_control: true, enable_streaming: Always, enable_cover_image_cache: true, default_device: "spotify-player", device: DeviceConfig { name: "spotify-player", device_type: "speaker", volume: 70, bitrate: 320, audio_cache: false, normalization: false, autoplay: false }, seek_duration_secs: 5, sort_artist_albums_by_type: false }, keymap_config: KeymapConfig { keymaps: [Keymap { key_sequence: KeySequence { keys: [None(Char('n'))] }, command: NextTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('p'))] }, command: PreviousTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('.'))] }, command: PlayRandom }, Keymap { key_sequence: KeySequence { keys: [None(Char(' '))] }, command: ResumePause }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('r'))] }, command: Repeat }, Keymap { key_sequence: KeySequence { keys: [Alt(Char('r'))] }, command: ToggleFakeTrackRepeatMode }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('s'))] }, command: Shuffle }, Keymap { key_sequence: KeySequence { keys: [None(Char('+'))] }, command: VolumeChange { offset: 5 } }, Keymap { key_sequence: KeySequence { keys: [None(Char('-'))] }, command: VolumeChange { offset: -5 } }, Keymap { key_sequence: KeySequence { keys: [None(Char('_'))] }, command: Mute }, Keymap { key_sequence: KeySequence { keys: [None(Char('>'))] }, command: SeekForward { duration: None } }, Keymap { key_sequence: KeySequence { keys: [None(Char('<'))] }, command: SeekBackward { duration: None } }, Keymap { key_sequence: KeySequence { keys: [None(Enter)] }, command: ChooseSelected }, Keymap { key_sequence: KeySequence { keys: [None(Char('r'))] }, command: RefreshPlayback }, Keymap { key_sequence: KeySequence { keys: [None(Char('/'))] }, command: Search }, Keymap { key_sequence: KeySequence { keys: [None(Char('z'))] }, command: Queue }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('z'))] }, command: AddSelectedItemToQueue }, Keymap { key_sequence: KeySequence { keys: [None(Char('Z'))] }, command: AddSelectedItemToQueue }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('g'))] }, command: JumpToHighlightTrackInContext }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char(' '))] }, command: ShowActionsOnSelectedItem }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('a'))] }, command: ShowActionsOnSelectedItem }, Keymap { key_sequence: KeySequence { keys: [None(Char('a'))] }, command: ShowActionsOnCurrentTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('R'))] }, command: RestartIntegratedClient }, Keymap { key_sequence: KeySequence { keys: [None(Tab)] }, command: FocusNextWindow }, Keymap { key_sequence: KeySequence { keys: [None(BackTab)] }, command: FocusPreviousWindow }, Keymap { key_sequence: KeySequence { keys: [None(Char('T'))] }, command: SwitchTheme }, Keymap { key_sequence: KeySequence { keys: [None(Char('D'))] }, command: SwitchDevice }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('p'))] }, command: BrowseUserPlaylists }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('a'))] }, command: BrowseUserFollowedArtists }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('A'))] }, command: BrowseUserSavedAlbums }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char(' '))] }, command: CurrentlyPlayingContextPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('t'))] }, command: TopTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('r'))] }, command: RecentlyPlayedTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('y'))] }, command: LikedTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('L'))] }, command: LyricsPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('l'))] }, command: LyricsPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('l'))] }, command: LibraryPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('s'))] }, command: SearchPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('b'))] }, command: BrowsePage }, Keymap { key_sequence: KeySequence { keys: [None(Backspace)] }, command: PreviousPage }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('q'))] }, command: PreviousPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('O'))] }, command: OpenSpotifyLinkFromClipboard }, Keymap { key_sequence: KeySequence { keys: [None(Char('?'))] }, command: OpenCommandHelp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('h'))] }, command: OpenCommandHelp }, Keymap { key_sequence: KeySequence { keys: [None(Char('q'))] }, command: Quit }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('c'))] }, command: Quit }, Keymap { key_sequence: KeySequence { keys: [None(Esc)] }, command: ClosePopup }, Keymap { key_sequence: KeySequence { keys: [None(Char('j'))] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('n'))] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Down)] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('k'))] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('p'))] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(Up)] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(PageUp)] }, command: PageSelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('b'))] }, command: PageSelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(PageDown)] }, command: PageSelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('f'))] }, command: PageSelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('g'))] }, command: SelectFirstOrScrollToTop }, Keymap { key_sequence: KeySequence { keys: [None(Home)] }, command: SelectFirstOrScrollToTop }, Keymap { key_sequence: KeySequence { keys: [None(Char('G'))] }, command: SelectLastOrScrollToBottom }, Keymap { key_sequence: KeySequence { keys: [None(End)] }, command: SelectLastOrScrollToBottom }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('t'))] }, command: SortTrackByTitle }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('a'))] }, command: SortTrackByArtists }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('A'))] }, command: SortTrackByAlbum }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('d'))] }, command: SortTrackByDuration }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('D'))] }, command: SortTrackByAddedDate }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('r'))] }, command: ReverseTrackOrder }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('l')), None(Char('a'))] }, command: SortLibraryAlphabetically }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('l')), None(Char('r'))] }, command: SortLibraryByRecent }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('k'))] }, command: MovePlaylistItemUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('j'))] }, command: MovePlaylistItemDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('N'))] }, command: CreatePlaylist }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('c'))] }, command: JumpToCurrentTrackInContext }], actions: [] }, theme_config: ThemeConfig { themes: [Theme { name: "default", palette: Palette { background: None, foreground: None, black: Color { color: Black }, blue: Color { color: Blue }, cyan: Color { color: Cyan }, green: Color { color: Green }, magenta: Color { color: Magenta }, red: Color { color: Red }, white: Color { color: Gray }, yellow: Color { color: Yellow }, bright_black: Color { color: DarkGray }, bright_white: Color { color: White }, bright_red: Color { color: LightRed }, bright_magenta: Color { color: LightMagenta }, bright_green: Color { color: LightGreen }, bright_cyan: Color { color: LightCyan }, bright_blue: Color { color: LightBlue }, bright_yellow: Color { color: LightYellow } }, component_style: ComponentStyle { block_title: None, border: None, playback_status: None, playback_track: None, playback_artists: None, playback_album: None, playback_genres: None, playback_metadata: None, playback_progress_bar: None, playback_progress_bar_unfilled: None, current_playing: None, page_desc: None, playlist_desc: None, table_header: None, selection: None, secondary_row: None, like: None, lyrics_played: None, lyrics_playing: None } }] }, cache_folder: "/home/jan/.cache/spotify-player" }
2025-11-07T16:35:38.150869Z  INFO spotify_player::state::data: Loading Playlists data from /home/jan/.cache/spotify-player/Playlists_cache.json...
2025-11-07T16:35:38.150947Z  INFO spotify_player::state::data: Successfully loaded Playlists data!
2025-11-07T16:35:38.150950Z  INFO spotify_player::state::data: Loading FollowedArtists data from /home/jan/.cache/spotify-player/FollowedArtists_cache.json...
2025-11-07T16:35:38.150956Z  INFO spotify_player::state::data: Successfully loaded FollowedArtists data!
2025-11-07T16:35:38.150957Z  INFO spotify_player::state::data: Loading SavedShows data from /home/jan/.cache/spotify-player/SavedShows_cache.json...
2025-11-07T16:35:38.150967Z  INFO spotify_player::state::data: Successfully loaded SavedShows data!
2025-11-07T16:35:38.150969Z  INFO spotify_player::state::data: Loading SavedAlbums data from /home/jan/.cache/spotify-player/SavedAlbums_cache.json...
2025-11-07T16:35:38.150991Z  INFO spotify_player::state::data: Successfully loaded SavedAlbums data!
2025-11-07T16:35:38.150993Z  INFO spotify_player::state::data: Loading SavedTracks data from /home/jan/.cache/spotify-player/SavedTracks_cache.json...
2025-11-07T16:35:38.151010Z  INFO spotify_player::state::data: Successfully loaded SavedTracks data!
2025-11-07T16:35:38.171452Z  INFO spotify_player::auth: Using cached credentials
2025-11-07T16:35:38.171465Z  INFO spotify_player::streaming: Application's connect configurations: ConnectConfig { name: "spotify-player", device_type: Speaker, is_group: false, initial_volume: 45875, disable_volume: false, volume_steps: 64 }
2025-11-07T16:35:38.171476Z  INFO librespot_playback::mixer::softmixer: Mixing with softvol and volume control: Log(60.0)
2025-11-07T16:35:38.171491Z  INFO spotify_player::streaming: Initializing a new integrated player with device_id=58e04e0c-da38-4813-9d01-e2e8a47dd467
2025-11-07T16:35:38.171527Z  INFO spotify_player::streaming: Starting an integrated Spotify player using librespot's spirc protocol
2025-11-07T16:35:38.171545Z  INFO librespot_playback::convert: Converting with ditherer: tpdf
2025-11-07T16:35:38.171555Z  INFO librespot_playback::audio_backend::rodio: Using Rodio sink with format S16 and cpal host: ALSA
2025-11-07T16:35:38.171560Z  INFO librespot_playback::audio_backend::rodio: Using audio device: default
2025-11-07T16:35:38.301997Z  INFO librespot_core::session: Connecting to AP "ap-gew4.spotify.com:4070"
2025-11-07T16:35:38.387716Z  INFO librespot_core::session: Authenticated as '<my username>' !
2025-11-07T16:35:38.387872Z  INFO librespot_core::session: Country: "DE"
2025-11-07T16:35:38.503397Z  INFO spotify_player::streaming: New streaming connection has been established!
2025-11-07T16:35:38.503425Z  INFO spotify_player::client: Used a new session for Spotify client.
2025-11-07T16:35:38.503430Z  INFO spotify_player::token: Getting a new authentication token...
2025-11-07T16:35:38.503436Z  INFO spotify_player::token: Got new token: Token { access_token: "BQD7aCq-BSydGsj146xm17EKYfimPnx4g23N94wPNH8EMbGN_Kd86z7qSp6G2fyY1ZFhEs5cBXK9td21vGUuCDyesHmC0cVfVQOSCGE2EqoYwig3TNNeGUXoBZgLBJWlSvrxk_ZolOApao4RGRtbQp7Ke-G_fnVmXsb3Fh3rt5qMqMFR2t0OGEOeZj5tbDOS7GEql6U3qxKM1wMvMKI3TBP2rEb_XzFSEKzZW7NfAAu6r0OWIC25ybmK-qlsDuHl5jrpPYctzVC26zCSBaLoirqn8bacgEMBJ4fX4HMhrprD81O3zqHIzX-dRbrplI6vsNLgMSRe72gPbz-uKpLewOK48T4JF9vgvZVQEg1S_3Ob3QNl8Tlez9F8j_URo5FwSiNFhsrPaJ0lw2Dd3trh9BJM3z6m4Ree", expires_in: TimeDelta { secs: 3600, nanos: 0 }, expires_at: Some(2025-11-07T17:35:38.503435687Z), refresh_token: None, scopes: {} }
2025-11-07T16:35:38.503507Z  INFO spotify_player: Starting a client socket at 127.0.0.1:8080
2025-11-07T16:35:38.503785Z  INFO spotify_player::media_control: Initializing application's media control event watcher...
2025-11-07T16:35:38.579595Z  INFO librespot_core::spclient: Resolved "gew4-spclient.spotify.com:443" as spclient access point
2025-11-07T16:35:38.635197Z  INFO client_request{request=GetCurrentUser}: spotify_player::client: Successfully handled the client request, took: 131ms
2025-11-07T16:35:38.655662Z  INFO librespot_connect::spirc: active device is <> with session <1814d8e8ecaff348433f4b70ef49726c>
2025-11-07T16:35:38.687076Z  INFO client_request{request=GetUserSavedTracks}: spotify_player::client: Successfully handled the client request, took: 183ms
2025-11-07T16:35:38.740966Z  INFO client_request{request=GetUserFollowedArtists}: spotify_player::client: Successfully handled the client request, took: 237ms
2025-11-07T16:35:39.118688Z  INFO client_request{request=GetUserSavedAlbums}: spotify_player::client: Successfully handled the client request, took: 615ms
2025-11-07T16:35:39.199387Z  INFO client_request{request=GetUserSavedShows}: spotify_player::client: Successfully handled the client request, took: 695ms
2025-11-07T16:35:39.407277Z  INFO client_request{request=GetUserPlaylists}: spotify_player::client: Successfully handled the client request, took: 903ms
2025-11-07T16:35:39.611161Z  INFO spotify_player::client: Available devices: [Device { id: Some("58e04e0c-da38-4813-9d01-e2e8a47dd467"), is_active: false, is_private_session: false, is_restricted: false, name: "spotify-player", _type: Speaker, volume_percent: Some(70) }]
2025-11-07T16:35:39.611161Z  INFO spotify_player::client: Available devices: [Device { id: Some("58e04e0c-da38-4813-9d01-e2e8a47dd467"), is_active: false, is_private_session: false, is_restricted: false, name: "spotify-player", _type: Speaker, volume_percent: Some(70) }]
2025-11-07T16:35:39.611201Z  INFO spotify_player::client: Trying to connect to device (id=58e04e0c-da38-4813-9d01-e2e8a47dd467)
2025-11-07T16:35:39.611203Z  INFO spotify_player::client: Trying to connect to device (id=58e04e0c-da38-4813-9d01-e2e8a47dd467)
2025-11-07T16:35:39.654670Z  WARN librespot_connect::state::context: couldn't load context info because: context is not available. type: Default
2025-11-07T16:35:39.701037Z  WARN librespot_connect::state::context: couldn't load context info because: context is not available. type: Default
2025-11-07T16:35:39.723403Z  INFO spotify_player::client: Connection succeeded (device_id=58e04e0c-da38-4813-9d01-e2e8a47dd467)!
2025-11-07T16:35:39.738451Z ERROR librespot_playback::player: Track should be available, but no alternatives found.
2025-11-07T16:35:39.738466Z  WARN librespot_playback::player: <spotify:track:7AbZlWl54JKPvFGi62UHgn> is not available
2025-11-07T16:35:39.760904Z ERROR librespot_playback::player: Track should be available, but no alternatives found.
2025-11-07T16:35:39.760923Z  WARN librespot_playback::player: <spotify:track:7AbZlWl54JKPvFGi62UHgn> is not available
2025-11-07T16:35:39.760936Z ERROR librespot_playback::player: Skipping to next track, unable to load track <SpotifyId("spotify:track:7AbZlWl54JKPvFGi62UHgn")>: ()
2025-11-07T16:35:39.766393Z ERROR librespot_connect::spirc: could not dispatch player event: Invalid state { context is not available. type: Default }
2025-11-07T16:35:39.789359Z  INFO spotify_player::client: Connection succeeded (device_id=58e04e0c-da38-4813-9d01-e2e8a47dd467)!
2025-11-07T16:35:41.507995Z  INFO spotify_player::client::handlers: Current context ID (None) is different from the expected ID (Some(Playlist(PlaylistId("5E3UWKZ8vkP9LSDA7EDU6S")))), update the context state
2025-11-07T16:35:41.508083Z  INFO client_request{request=GetContext(Playlist(PlaylistId("5E3UWKZ8vkP9LSDA7EDU6S")))}: spotify_player::client: Get playlist context: spotify:playlist:5E3UWKZ8vkP9LSDA7EDU6S
2025-11-07T16:35:41.646816Z  INFO client_request{request=GetContext(Playlist(PlaylistId("5E3UWKZ8vkP9LSDA7EDU6S")))}: spotify_player::client: Successfully handled the client request, took: 138ms
2025-11-07T16:35:42.115397Z  WARN librespot_connect::state::context: couldn't load context info because: context is not available. type: Default
2025-11-07T16:35:42.115414Z  WARN librespot_connect::state::context: couldn't load context info because: context is not available. type: Default
2025-11-07T16:35:42.175399Z ERROR librespot_playback::player: Track should be available, but no alternatives found.
2025-11-07T16:35:42.175427Z  WARN librespot_playback::player: <spotify:track:28M7IXuJ1Y6ResKKWIOcpN> is not available
2025-11-07T16:35:42.175472Z ERROR librespot_playback::player: Skipping to next track, unable to load track <SpotifyId("spotify:track:28M7IXuJ1Y6ResKKWIOcpN")>: ()
2025-11-07T16:35:42.198170Z ERROR librespot_playback::player: Track should be available, but no alternatives found.
2025-11-07T16:35:42.198204Z  WARN librespot_playback::player: <spotify:track:2q6qX08PGZHRHyJwcWjTHb> is not available
2025-11-07T16:35:42.198264Z ERROR librespot_playback::player: Skipping to next track, unable to load track <SpotifyId("spotify:track:2q6qX08PGZHRHyJwcWjTHb")>: ()
2025-11-07T16:35:42.223329Z ERROR librespot_playback::player: Track should be available, but no alternatives found.
2025-11-07T16:35:42.223358Z  WARN librespot_playback::player: <spotify:track:5PDbPW74EyDDZuOIBCx858> is not available
2025-11-07T16:35:42.223388Z ERROR librespot_playback::player: Skipping to next track, unable to load track <SpotifyId("spotify:track:5PDbPW74EyDDZuOIBCx858")>: ()
2025-11-07T16:35:42.229185Z  INFO client_request{request=Player(StartPlayback(Context(Playlist(PlaylistId("5E3UWKZ8vkP9LSDA7EDU6S")), Some(Uri("spotify:track:28M7IXuJ1Y6ResKKWIOcpN"))), None))}: spotify_player::client: Successfully handled the client request, took: 157ms
2025-11-07T16:35:42.244171Z ERROR librespot_playback::player: Track should be available, but no alternatives found.
2025-11-07T16:35:42.244182Z  WARN librespot_playback::player: <spotify:track:4RyPvJk0n6DLCptEoe6PE7> is not available
2025-11-07T16:35:42.244192Z ERROR librespot_playback::player: Skipping to next track, unable to load track <SpotifyId("spotify:track:4RyPvJk0n6DLCptEoe6PE7")>: ()
2025-11-07T16:35:42.244222Z  INFO librespot_connect::spirc: Not playing next track because there are no more tracks left in queue.
2025-11-07T16:35:43.123327Z  INFO spotify_player::client: Retrieving image from url: https://i.scdn.co/image/ab67616d0000b2736842c99f481b8560a7db0b35
2025-11-07T16:35:43.189124Z  INFO spotify_player::client: Saving the retrieved image into /home/jan/.cache/spotify-player/image/Baldur's Gate 3 (Original Game Soundtrack)-Borislav Slavov-cover-6JR4qL.jpg
2025-11-07T16:35:43.714115Z  INFO client_request{request=GetCurrentUserQueue}: spotify_player::client: Successfully handled the client request, took: 204ms

Screenshots

Environment

  • OS: Debian 13
  • Application version: 0.21.1
  • Application features: default features

Additional context
I have tried:

  • build from source,
  • clear ~/.cache/spotify_player
  • use alsa, rodio or pulseaudio backends
  • creating an app through the spotify app, and put the client_id into the app.toml
    none of these having any effect.
Originally created by @morellus on GitHub (Nov 7, 2025). Original GitHub issue: https://github.com/aome510/spotify-player/issues/865 **Describe the bug** While controlling spotify running on another device works, the local streaming with no other client open does not. **To Reproduce** I don't no what the specific issue causing this problem is. On my machine i start spotify_player (v0.21.1) (installed from crates.io with default features), try to play a song, and the song doesnt play. **Expected behaviour** I expect the spotify_player to play music when i select a song and press play. **Log and backtrace** ``` 2025-11-07T16:35:38.150789Z INFO spotify_player: Configurations: Configs { app_config: AppConfig { theme: "dracula", client_id: Some("<my_client_id>"), client_id_command: None, client_port: 8080, login_redirect_uri: "http://127.0.0.1:8989/login", log_folder: Some("/home/jan/.cache/spotify-player"), player_event_hook_command: None, playback_format: "{status} {track} • {artists} {liked}\n{album} • {genres}\n{metadata}", playback_metadata_fields: ["repeat", "shuffle", "volume", "device"], tracks_playback_limit: 50, proxy: None, ap_port: None, app_refresh_duration_in_ms: 32, playback_refresh_duration_in_ms: 0, page_size_in_rows: 20, play_icon: "▶", pause_icon: "▌▌", liked_icon: "♥", border_type: Plain, progress_bar_type: Rectangle, progress_bar_position: Bottom, layout: LayoutConfig { library: LibraryLayoutConfig { playlist_percent: 40, album_percent: 40 }, playback_window_position: Top, playback_window_height: 6 }, genre_num: 2, cover_img_length: 9, cover_img_width: 5, cover_img_scale: 1.0, enable_media_control: true, enable_streaming: Always, enable_cover_image_cache: true, default_device: "spotify-player", device: DeviceConfig { name: "spotify-player", device_type: "speaker", volume: 70, bitrate: 320, audio_cache: false, normalization: false, autoplay: false }, seek_duration_secs: 5, sort_artist_albums_by_type: false }, keymap_config: KeymapConfig { keymaps: [Keymap { key_sequence: KeySequence { keys: [None(Char('n'))] }, command: NextTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('p'))] }, command: PreviousTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('.'))] }, command: PlayRandom }, Keymap { key_sequence: KeySequence { keys: [None(Char(' '))] }, command: ResumePause }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('r'))] }, command: Repeat }, Keymap { key_sequence: KeySequence { keys: [Alt(Char('r'))] }, command: ToggleFakeTrackRepeatMode }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('s'))] }, command: Shuffle }, Keymap { key_sequence: KeySequence { keys: [None(Char('+'))] }, command: VolumeChange { offset: 5 } }, Keymap { key_sequence: KeySequence { keys: [None(Char('-'))] }, command: VolumeChange { offset: -5 } }, Keymap { key_sequence: KeySequence { keys: [None(Char('_'))] }, command: Mute }, Keymap { key_sequence: KeySequence { keys: [None(Char('>'))] }, command: SeekForward { duration: None } }, Keymap { key_sequence: KeySequence { keys: [None(Char('<'))] }, command: SeekBackward { duration: None } }, Keymap { key_sequence: KeySequence { keys: [None(Enter)] }, command: ChooseSelected }, Keymap { key_sequence: KeySequence { keys: [None(Char('r'))] }, command: RefreshPlayback }, Keymap { key_sequence: KeySequence { keys: [None(Char('/'))] }, command: Search }, Keymap { key_sequence: KeySequence { keys: [None(Char('z'))] }, command: Queue }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('z'))] }, command: AddSelectedItemToQueue }, Keymap { key_sequence: KeySequence { keys: [None(Char('Z'))] }, command: AddSelectedItemToQueue }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('g'))] }, command: JumpToHighlightTrackInContext }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char(' '))] }, command: ShowActionsOnSelectedItem }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('a'))] }, command: ShowActionsOnSelectedItem }, Keymap { key_sequence: KeySequence { keys: [None(Char('a'))] }, command: ShowActionsOnCurrentTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('R'))] }, command: RestartIntegratedClient }, Keymap { key_sequence: KeySequence { keys: [None(Tab)] }, command: FocusNextWindow }, Keymap { key_sequence: KeySequence { keys: [None(BackTab)] }, command: FocusPreviousWindow }, Keymap { key_sequence: KeySequence { keys: [None(Char('T'))] }, command: SwitchTheme }, Keymap { key_sequence: KeySequence { keys: [None(Char('D'))] }, command: SwitchDevice }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('p'))] }, command: BrowseUserPlaylists }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('a'))] }, command: BrowseUserFollowedArtists }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('A'))] }, command: BrowseUserSavedAlbums }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char(' '))] }, command: CurrentlyPlayingContextPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('t'))] }, command: TopTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('r'))] }, command: RecentlyPlayedTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('y'))] }, command: LikedTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('L'))] }, command: LyricsPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('l'))] }, command: LyricsPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('l'))] }, command: LibraryPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('s'))] }, command: SearchPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('b'))] }, command: BrowsePage }, Keymap { key_sequence: KeySequence { keys: [None(Backspace)] }, command: PreviousPage }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('q'))] }, command: PreviousPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('O'))] }, command: OpenSpotifyLinkFromClipboard }, Keymap { key_sequence: KeySequence { keys: [None(Char('?'))] }, command: OpenCommandHelp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('h'))] }, command: OpenCommandHelp }, Keymap { key_sequence: KeySequence { keys: [None(Char('q'))] }, command: Quit }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('c'))] }, command: Quit }, Keymap { key_sequence: KeySequence { keys: [None(Esc)] }, command: ClosePopup }, Keymap { key_sequence: KeySequence { keys: [None(Char('j'))] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('n'))] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Down)] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('k'))] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('p'))] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(Up)] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(PageUp)] }, command: PageSelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('b'))] }, command: PageSelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(PageDown)] }, command: PageSelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('f'))] }, command: PageSelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('g'))] }, command: SelectFirstOrScrollToTop }, Keymap { key_sequence: KeySequence { keys: [None(Home)] }, command: SelectFirstOrScrollToTop }, Keymap { key_sequence: KeySequence { keys: [None(Char('G'))] }, command: SelectLastOrScrollToBottom }, Keymap { key_sequence: KeySequence { keys: [None(End)] }, command: SelectLastOrScrollToBottom }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('t'))] }, command: SortTrackByTitle }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('a'))] }, command: SortTrackByArtists }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('A'))] }, command: SortTrackByAlbum }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('d'))] }, command: SortTrackByDuration }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('D'))] }, command: SortTrackByAddedDate }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('r'))] }, command: ReverseTrackOrder }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('l')), None(Char('a'))] }, command: SortLibraryAlphabetically }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('l')), None(Char('r'))] }, command: SortLibraryByRecent }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('k'))] }, command: MovePlaylistItemUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('j'))] }, command: MovePlaylistItemDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('N'))] }, command: CreatePlaylist }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('c'))] }, command: JumpToCurrentTrackInContext }], actions: [] }, theme_config: ThemeConfig { themes: [Theme { name: "default", palette: Palette { background: None, foreground: None, black: Color { color: Black }, blue: Color { color: Blue }, cyan: Color { color: Cyan }, green: Color { color: Green }, magenta: Color { color: Magenta }, red: Color { color: Red }, white: Color { color: Gray }, yellow: Color { color: Yellow }, bright_black: Color { color: DarkGray }, bright_white: Color { color: White }, bright_red: Color { color: LightRed }, bright_magenta: Color { color: LightMagenta }, bright_green: Color { color: LightGreen }, bright_cyan: Color { color: LightCyan }, bright_blue: Color { color: LightBlue }, bright_yellow: Color { color: LightYellow } }, component_style: ComponentStyle { block_title: None, border: None, playback_status: None, playback_track: None, playback_artists: None, playback_album: None, playback_genres: None, playback_metadata: None, playback_progress_bar: None, playback_progress_bar_unfilled: None, current_playing: None, page_desc: None, playlist_desc: None, table_header: None, selection: None, secondary_row: None, like: None, lyrics_played: None, lyrics_playing: None } }] }, cache_folder: "/home/jan/.cache/spotify-player" } 2025-11-07T16:35:38.150869Z INFO spotify_player::state::data: Loading Playlists data from /home/jan/.cache/spotify-player/Playlists_cache.json... 2025-11-07T16:35:38.150947Z INFO spotify_player::state::data: Successfully loaded Playlists data! 2025-11-07T16:35:38.150950Z INFO spotify_player::state::data: Loading FollowedArtists data from /home/jan/.cache/spotify-player/FollowedArtists_cache.json... 2025-11-07T16:35:38.150956Z INFO spotify_player::state::data: Successfully loaded FollowedArtists data! 2025-11-07T16:35:38.150957Z INFO spotify_player::state::data: Loading SavedShows data from /home/jan/.cache/spotify-player/SavedShows_cache.json... 2025-11-07T16:35:38.150967Z INFO spotify_player::state::data: Successfully loaded SavedShows data! 2025-11-07T16:35:38.150969Z INFO spotify_player::state::data: Loading SavedAlbums data from /home/jan/.cache/spotify-player/SavedAlbums_cache.json... 2025-11-07T16:35:38.150991Z INFO spotify_player::state::data: Successfully loaded SavedAlbums data! 2025-11-07T16:35:38.150993Z INFO spotify_player::state::data: Loading SavedTracks data from /home/jan/.cache/spotify-player/SavedTracks_cache.json... 2025-11-07T16:35:38.151010Z INFO spotify_player::state::data: Successfully loaded SavedTracks data! 2025-11-07T16:35:38.171452Z INFO spotify_player::auth: Using cached credentials 2025-11-07T16:35:38.171465Z INFO spotify_player::streaming: Application's connect configurations: ConnectConfig { name: "spotify-player", device_type: Speaker, is_group: false, initial_volume: 45875, disable_volume: false, volume_steps: 64 } 2025-11-07T16:35:38.171476Z INFO librespot_playback::mixer::softmixer: Mixing with softvol and volume control: Log(60.0) 2025-11-07T16:35:38.171491Z INFO spotify_player::streaming: Initializing a new integrated player with device_id=58e04e0c-da38-4813-9d01-e2e8a47dd467 2025-11-07T16:35:38.171527Z INFO spotify_player::streaming: Starting an integrated Spotify player using librespot's spirc protocol 2025-11-07T16:35:38.171545Z INFO librespot_playback::convert: Converting with ditherer: tpdf 2025-11-07T16:35:38.171555Z INFO librespot_playback::audio_backend::rodio: Using Rodio sink with format S16 and cpal host: ALSA 2025-11-07T16:35:38.171560Z INFO librespot_playback::audio_backend::rodio: Using audio device: default 2025-11-07T16:35:38.301997Z INFO librespot_core::session: Connecting to AP "ap-gew4.spotify.com:4070" 2025-11-07T16:35:38.387716Z INFO librespot_core::session: Authenticated as '<my username>' ! 2025-11-07T16:35:38.387872Z INFO librespot_core::session: Country: "DE" 2025-11-07T16:35:38.503397Z INFO spotify_player::streaming: New streaming connection has been established! 2025-11-07T16:35:38.503425Z INFO spotify_player::client: Used a new session for Spotify client. 2025-11-07T16:35:38.503430Z INFO spotify_player::token: Getting a new authentication token... 2025-11-07T16:35:38.503436Z INFO spotify_player::token: Got new token: Token { access_token: "BQD7aCq-BSydGsj146xm17EKYfimPnx4g23N94wPNH8EMbGN_Kd86z7qSp6G2fyY1ZFhEs5cBXK9td21vGUuCDyesHmC0cVfVQOSCGE2EqoYwig3TNNeGUXoBZgLBJWlSvrxk_ZolOApao4RGRtbQp7Ke-G_fnVmXsb3Fh3rt5qMqMFR2t0OGEOeZj5tbDOS7GEql6U3qxKM1wMvMKI3TBP2rEb_XzFSEKzZW7NfAAu6r0OWIC25ybmK-qlsDuHl5jrpPYctzVC26zCSBaLoirqn8bacgEMBJ4fX4HMhrprD81O3zqHIzX-dRbrplI6vsNLgMSRe72gPbz-uKpLewOK48T4JF9vgvZVQEg1S_3Ob3QNl8Tlez9F8j_URo5FwSiNFhsrPaJ0lw2Dd3trh9BJM3z6m4Ree", expires_in: TimeDelta { secs: 3600, nanos: 0 }, expires_at: Some(2025-11-07T17:35:38.503435687Z), refresh_token: None, scopes: {} } 2025-11-07T16:35:38.503507Z INFO spotify_player: Starting a client socket at 127.0.0.1:8080 2025-11-07T16:35:38.503785Z INFO spotify_player::media_control: Initializing application's media control event watcher... 2025-11-07T16:35:38.579595Z INFO librespot_core::spclient: Resolved "gew4-spclient.spotify.com:443" as spclient access point 2025-11-07T16:35:38.635197Z INFO client_request{request=GetCurrentUser}: spotify_player::client: Successfully handled the client request, took: 131ms 2025-11-07T16:35:38.655662Z INFO librespot_connect::spirc: active device is <> with session <1814d8e8ecaff348433f4b70ef49726c> 2025-11-07T16:35:38.687076Z INFO client_request{request=GetUserSavedTracks}: spotify_player::client: Successfully handled the client request, took: 183ms 2025-11-07T16:35:38.740966Z INFO client_request{request=GetUserFollowedArtists}: spotify_player::client: Successfully handled the client request, took: 237ms 2025-11-07T16:35:39.118688Z INFO client_request{request=GetUserSavedAlbums}: spotify_player::client: Successfully handled the client request, took: 615ms 2025-11-07T16:35:39.199387Z INFO client_request{request=GetUserSavedShows}: spotify_player::client: Successfully handled the client request, took: 695ms 2025-11-07T16:35:39.407277Z INFO client_request{request=GetUserPlaylists}: spotify_player::client: Successfully handled the client request, took: 903ms 2025-11-07T16:35:39.611161Z INFO spotify_player::client: Available devices: [Device { id: Some("58e04e0c-da38-4813-9d01-e2e8a47dd467"), is_active: false, is_private_session: false, is_restricted: false, name: "spotify-player", _type: Speaker, volume_percent: Some(70) }] 2025-11-07T16:35:39.611161Z INFO spotify_player::client: Available devices: [Device { id: Some("58e04e0c-da38-4813-9d01-e2e8a47dd467"), is_active: false, is_private_session: false, is_restricted: false, name: "spotify-player", _type: Speaker, volume_percent: Some(70) }] 2025-11-07T16:35:39.611201Z INFO spotify_player::client: Trying to connect to device (id=58e04e0c-da38-4813-9d01-e2e8a47dd467) 2025-11-07T16:35:39.611203Z INFO spotify_player::client: Trying to connect to device (id=58e04e0c-da38-4813-9d01-e2e8a47dd467) 2025-11-07T16:35:39.654670Z WARN librespot_connect::state::context: couldn't load context info because: context is not available. type: Default 2025-11-07T16:35:39.701037Z WARN librespot_connect::state::context: couldn't load context info because: context is not available. type: Default 2025-11-07T16:35:39.723403Z INFO spotify_player::client: Connection succeeded (device_id=58e04e0c-da38-4813-9d01-e2e8a47dd467)! 2025-11-07T16:35:39.738451Z ERROR librespot_playback::player: Track should be available, but no alternatives found. 2025-11-07T16:35:39.738466Z WARN librespot_playback::player: <spotify:track:7AbZlWl54JKPvFGi62UHgn> is not available 2025-11-07T16:35:39.760904Z ERROR librespot_playback::player: Track should be available, but no alternatives found. 2025-11-07T16:35:39.760923Z WARN librespot_playback::player: <spotify:track:7AbZlWl54JKPvFGi62UHgn> is not available 2025-11-07T16:35:39.760936Z ERROR librespot_playback::player: Skipping to next track, unable to load track <SpotifyId("spotify:track:7AbZlWl54JKPvFGi62UHgn")>: () 2025-11-07T16:35:39.766393Z ERROR librespot_connect::spirc: could not dispatch player event: Invalid state { context is not available. type: Default } 2025-11-07T16:35:39.789359Z INFO spotify_player::client: Connection succeeded (device_id=58e04e0c-da38-4813-9d01-e2e8a47dd467)! 2025-11-07T16:35:41.507995Z INFO spotify_player::client::handlers: Current context ID (None) is different from the expected ID (Some(Playlist(PlaylistId("5E3UWKZ8vkP9LSDA7EDU6S")))), update the context state 2025-11-07T16:35:41.508083Z INFO client_request{request=GetContext(Playlist(PlaylistId("5E3UWKZ8vkP9LSDA7EDU6S")))}: spotify_player::client: Get playlist context: spotify:playlist:5E3UWKZ8vkP9LSDA7EDU6S 2025-11-07T16:35:41.646816Z INFO client_request{request=GetContext(Playlist(PlaylistId("5E3UWKZ8vkP9LSDA7EDU6S")))}: spotify_player::client: Successfully handled the client request, took: 138ms 2025-11-07T16:35:42.115397Z WARN librespot_connect::state::context: couldn't load context info because: context is not available. type: Default 2025-11-07T16:35:42.115414Z WARN librespot_connect::state::context: couldn't load context info because: context is not available. type: Default 2025-11-07T16:35:42.175399Z ERROR librespot_playback::player: Track should be available, but no alternatives found. 2025-11-07T16:35:42.175427Z WARN librespot_playback::player: <spotify:track:28M7IXuJ1Y6ResKKWIOcpN> is not available 2025-11-07T16:35:42.175472Z ERROR librespot_playback::player: Skipping to next track, unable to load track <SpotifyId("spotify:track:28M7IXuJ1Y6ResKKWIOcpN")>: () 2025-11-07T16:35:42.198170Z ERROR librespot_playback::player: Track should be available, but no alternatives found. 2025-11-07T16:35:42.198204Z WARN librespot_playback::player: <spotify:track:2q6qX08PGZHRHyJwcWjTHb> is not available 2025-11-07T16:35:42.198264Z ERROR librespot_playback::player: Skipping to next track, unable to load track <SpotifyId("spotify:track:2q6qX08PGZHRHyJwcWjTHb")>: () 2025-11-07T16:35:42.223329Z ERROR librespot_playback::player: Track should be available, but no alternatives found. 2025-11-07T16:35:42.223358Z WARN librespot_playback::player: <spotify:track:5PDbPW74EyDDZuOIBCx858> is not available 2025-11-07T16:35:42.223388Z ERROR librespot_playback::player: Skipping to next track, unable to load track <SpotifyId("spotify:track:5PDbPW74EyDDZuOIBCx858")>: () 2025-11-07T16:35:42.229185Z INFO client_request{request=Player(StartPlayback(Context(Playlist(PlaylistId("5E3UWKZ8vkP9LSDA7EDU6S")), Some(Uri("spotify:track:28M7IXuJ1Y6ResKKWIOcpN"))), None))}: spotify_player::client: Successfully handled the client request, took: 157ms 2025-11-07T16:35:42.244171Z ERROR librespot_playback::player: Track should be available, but no alternatives found. 2025-11-07T16:35:42.244182Z WARN librespot_playback::player: <spotify:track:4RyPvJk0n6DLCptEoe6PE7> is not available 2025-11-07T16:35:42.244192Z ERROR librespot_playback::player: Skipping to next track, unable to load track <SpotifyId("spotify:track:4RyPvJk0n6DLCptEoe6PE7")>: () 2025-11-07T16:35:42.244222Z INFO librespot_connect::spirc: Not playing next track because there are no more tracks left in queue. 2025-11-07T16:35:43.123327Z INFO spotify_player::client: Retrieving image from url: https://i.scdn.co/image/ab67616d0000b2736842c99f481b8560a7db0b35 2025-11-07T16:35:43.189124Z INFO spotify_player::client: Saving the retrieved image into /home/jan/.cache/spotify-player/image/Baldur's Gate 3 (Original Game Soundtrack)-Borislav Slavov-cover-6JR4qL.jpg 2025-11-07T16:35:43.714115Z INFO client_request{request=GetCurrentUserQueue}: spotify_player::client: Successfully handled the client request, took: 204ms ``` **Screenshots** **Environment** - OS: Debian 13 - Application version: 0.21.1 - Application features: default features **Additional context** I have tried: - build from source, - clear ~/.cache/spotify_player - use alsa, rodio or pulseaudio backends - creating an app through the spotify app, and put the client_id into the app.toml none of these having any effect.
kerem 2026-03-02 23:48:16 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@thespaghetti27 commented on GitHub (Nov 7, 2025):

I also have the same issue, I believe it's sourced from those librespot_playback::player errors. I was having the same errors when trying out spotifyd today, so it's likely something to do with that core dependency and its interaction with spotify rather than spotify player specifically. Sometimes it doesn't cancel playback and "plays" but there's no audio and the pulseaudio ctl shows it's not even corked.

<!-- gh-comment-id:3505080575 --> @thespaghetti27 commented on GitHub (Nov 7, 2025): I also have the same issue, I believe it's sourced from those librespot_playback::player errors. I was having the same errors when trying out spotifyd today, so it's likely something to do with that core dependency and its interaction with spotify rather than spotify player specifically. Sometimes it doesn't cancel playback and "plays" but there's no audio and the pulseaudio ctl shows it's not even corked.
Author
Owner

@morellus commented on GitHub (Nov 7, 2025):

This matches my errors pretty much exactly. Did you already have the chance to look into that further?

<!-- gh-comment-id:3505090211 --> @morellus commented on GitHub (Nov 7, 2025): This matches my errors pretty much exactly. Did you already have the chance to look into that further?
Author
Owner

@thespaghetti27 commented on GitHub (Nov 7, 2025):

No, I only really tested audio backends but I'm fairly certain they're unrelated to the issue. I would say the next step is to look into librespot but I don't feel confident in debugging an API.. My workaround right now is running the native spotify client (spotify (launcher) for me as I'm on arch) in a hidden workspace on my DE and just using this player as a controller for that. It's why I looked into spotifyd but like I said it runs into the same librespot error so no dice there.

<!-- gh-comment-id:3505244883 --> @thespaghetti27 commented on GitHub (Nov 7, 2025): No, I only really tested audio backends but I'm fairly certain they're unrelated to the issue. I would say the next step is to look into librespot but I don't feel confident in debugging an API.. My workaround right now is running the native spotify client (spotify (launcher) for me as I'm on arch) in a hidden workspace on my DE and just using this player as a controller for that. It's why I looked into spotifyd but like I said it runs into the same librespot error so no dice there.
Author
Owner

@IronLeoo commented on GitHub (Nov 9, 2025):

Apparently Spotify changed something in their API. Librespot fixed the issue in their dev branch. Until this gets fixed here, you might want to check out this fork somone made to address this issue: richardhapb/spotify-player:patch. For the time being the best workaround and it worked for me at least.

Also duplicate of #864 btw.

<!-- gh-comment-id:3507217095 --> @IronLeoo commented on GitHub (Nov 9, 2025): Apparently Spotify changed something in their API. Librespot fixed the issue in their dev branch. Until this gets fixed here, you might want to check out this fork somone made to address this issue: [richardhapb/spotify-player:patch](https://github.com/richardhapb/spotify-player/tree/patch). For the time being the best workaround and it worked for me at least. Also duplicate of #864 btw.
Author
Owner

@jamescalam commented on GitHub (Nov 10, 2025):

Apparently Spotify changed something in their API. Librespot fixed the issue in their dev branch. Until this gets fixed here, you might want to check out this fork somone made to address this issue: richardhapb/spotify-player:patch. For the time being the best workaround and it worked for me at least.

Also duplicate of #864 btw.

thanks! working for me via cargo

cargo install spotify_player --git https://github.com/richardhapb/spotify-player --branch patch --features pixelate
<!-- gh-comment-id:3511440817 --> @jamescalam commented on GitHub (Nov 10, 2025): > Apparently Spotify changed something in their API. Librespot fixed the issue in their dev branch. Until this gets fixed here, you might want to check out this fork somone made to address this issue: [richardhapb/spotify-player:patch](https://github.com/richardhapb/spotify-player/tree/patch). For the time being the best workaround and it worked for me at least. > > Also duplicate of [#864](https://github.com/aome510/spotify-player/issues/864) btw. thanks! working for me via cargo ``` cargo install spotify_player --git https://github.com/richardhapb/spotify-player --branch patch --features pixelate ```
Author
Owner

@morellus commented on GitHub (Nov 10, 2025):

Thanks to the both of you, this worked for me as well!

Sorry for the duplicate, will close this now as the discussion in #864 is much further along.

<!-- gh-comment-id:3511726170 --> @morellus commented on GitHub (Nov 10, 2025): Thanks to the both of you, this worked for me as well! Sorry for the duplicate, will close this now as the discussion in #864 is much further along.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/spotify-player#520
No description provided.