[GH-ISSUE #813] App launches but fails to load any data (playlists, albums, tracks) #1419

Closed
opened 2026-03-14 14:51:27 +03:00 by kerem · 4 comments
Owner

Originally created by @angelinuxx on GitHub (Aug 26, 2025).
Original GitHub issue: https://github.com/aome510/spotify-player/issues/813

Describe the bug
The app launches correctly, but no data is loaded. Nothing can be fetched: playlists, albums, artists, liked songs, recently played, etc.

To Reproduce
Run spotify_player in the terminal.

Expected behaviour
Able to select and play tracks.

Log and backtrace
spotify-client*.backtrace
EMPTY

spotify-client*.log

2025-08-26T17:20:13.035803Z  INFO spotify_player::auth: Using cached credentials
2025-08-26T17:20:13.035821Z  INFO spotify_player::streaming: Application's connect configurations: ConnectConfig { name: "spotify-player", device_type: Speaker, is_group: false, initial_volume: Some(45875), has_volume_ctrl: true }
2025-08-26T17:20:13.035835Z  INFO librespot_playback::mixer::softmixer: Mixing with softvol and volume control: Log(60.0)    
2025-08-26T17:20:13.035854Z  INFO spotify_player::streaming: Initializing a new integrated player with device_id=f33c7971-92fa-4252-8d37-57da0bb0cdcf
2025-08-26T17:20:13.035914Z  INFO spotify_player::streaming: Starting an integrated Spotify player using librespot's spirc protocol
2025-08-26T17:20:13.035975Z  INFO librespot_playback::convert: Converting with ditherer: tpdf    
2025-08-26T17:20:13.035988Z  INFO librespot_playback::audio_backend::rodio: Using Rodio sink with format S16 and cpal host: ALSA    
2025-08-26T17:20:13.035995Z  INFO librespot_playback::audio_backend::rodio: Using audio device: default    
2025-08-26T17:20:13.584375Z  INFO librespot_core::session: Connecting to AP "ap-gew4.spotify.com:4070"    
2025-08-26T17:20:13.918890Z  INFO librespot_core::session: Authenticated as 'my-spotify-username' !    
2025-08-26T17:20:13.919179Z  INFO librespot_core::session: Country: "IT"    
2025-08-26T17:20:13.919268Z  INFO spotify_player::streaming: New streaming connection has been established!
2025-08-26T17:20:13.919288Z  INFO spotify_player::client: Used a new session for Spotify client.
2025-08-26T17:20:13.919318Z  INFO spotify_player::token: Getting a new authentication token...
2025-08-26T17:20:14.169246Z ERROR librespot_core::mercury: error 403 for uri hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=f33c7971-92fa-4252-8d37-57da0bb0cdcf    
2025-08-26T17:20:14.169474Z ERROR spotify_player::client::spotify: Failed to get a new token: failed to get the token: Service unavailable { error handling Mercury response: MercuryResponse { uri: "hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=f33c7971-92fa-4252-8d37-57da0bb0cdcf", status_code: 403, payload: [[123, 34, 99, 111, 100, 101, 34, 58, 52, 44, 34, 101, 114, 114, 111, 114, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 73, 110, 118, 97, 108, 105, 100, 32, 114, 101, 113, 117, 101, 115, 116, 34, 125]] } }
2025-08-26T17:20:14.169661Z  INFO spotify_player: Starting a client socket at 127.0.0.1:8080
2025-08-26T17:20:14.170000Z ERROR client_request{request=GetUserSavedShows}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-26T17:20:14.170015Z ERROR client_request{request=GetUserFollowedArtists}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-26T17:20:14.170060Z ERROR client_request{request=GetUserSavedTracks}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-26T17:20:14.170085Z  INFO client_request{request=GetUserPlaylists}: spotify_player::token: Getting a new authentication token...
2025-08-26T17:20:14.169999Z ERROR client_request{request=GetCurrentUser}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-26T17:20:14.170121Z ERROR client_request{request=GetUserSavedAlbums}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-26T17:20:14.170485Z  INFO spotify_player::media_control: Initializing application's media control event watcher...
2025-08-26T17:20:14.239323Z ERROR librespot_core::mercury: error 403 for uri hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=f33c7971-92fa-4252-8d37-57da0bb0cdcf    
2025-08-26T17:20:14.239428Z ERROR client_request{request=GetUserPlaylists}: spotify_player::client::spotify: Failed to get a new token: failed to get the token: Service unavailable { error handling Mercury response: MercuryResponse { uri: "hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=f33c7971-92fa-4252-8d37-57da0bb0cdcf", status_code: 403, payload: [[123, 34, 99, 111, 100, 101, 34, 58, 52, 44, 34, 101, 114, 114, 111, 114, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 73, 110, 118, 97, 108, 105, 100, 32, 114, 101, 113, 117, 101, 115, 116, 34, 125]] } }
2025-08-26T17:20:14.239455Z ERROR client_request{request=GetUserPlaylists}: spotify_player::client::handlers: Failed to handle client request: get access token: failed to get the authentication token stored inside the client.
2025-08-26T17:20:15.170528Z ERROR spotify_player::client: Failed to retrieve current playback: Token is not valid
2025-08-26T17:20:15.170584Z ERROR spotify_player::client: Failed to retrieve current playback: Token is not valid
2025-08-26T17:20:32.621928Z ERROR client_request{request=GetUserRecentlyPlayedTracks}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-26T17:20:33.190886Z  INFO spotify_player::client::handlers: Current context ID (None) is different from the expected ID (Some(Tracks(TracksId { uri: "tracks:user-recently-played-tracks", kind: "Recently Played Tracks" }))), update the context state

Screenshots

Image Image Image

Environment

  • OS: Pop!_OS 22.04 LTS x86_64
  • Application version: 0.20.7
  • Application features: happens both with default settings and with --features image,daemon

Additional context
I have been using spotify_client since May 2025, and it worked perfectly until the last time I used it in late July.
I am also using a custom Spotify client_id for Spotify Connect, which previously worked without issues.
I updated to 0.20.7 today after noticing the problem (I also reverted to the default config and cleared the cache), but the issue had already occurred this morning on version 0.20.5.

Originally created by @angelinuxx on GitHub (Aug 26, 2025). Original GitHub issue: https://github.com/aome510/spotify-player/issues/813 **Describe the bug** The app launches correctly, but no data is loaded. Nothing can be fetched: playlists, albums, artists, liked songs, recently played, etc. **To Reproduce** Run spotify_player in the terminal. **Expected behaviour** Able to select and play tracks. **Log and backtrace** *spotify-client\*.backtrace* EMPTY *spotify-client\*.log* ```2025-08-26T17:20:12.954619Z INFO spotify_player: Configurations: Configs { app_config: AppConfig { theme: "dracula", client_id: "65b708073fc0480ea92a077233ca87bd", client_id_command: None, client_port: 8080, login_redirect_uri: "http://127.0.0.1:8989/login", player_event_hook_command: None, playback_format: "{status} {track} • {artists} {liked}\n{album}\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, layout: LayoutConfig { library: LibraryLayoutConfig { playlist_percent: 40, album_percent: 40 }, playback_window_position: Top, playback_window_height: 6 }, 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 }, Keymap { key_sequence: KeySequence { keys: [None(Char('<'))] }, command: SeekBackward }, 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_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/user/.cache/spotify-player" } 2025-08-26T17:20:13.035803Z INFO spotify_player::auth: Using cached credentials 2025-08-26T17:20:13.035821Z INFO spotify_player::streaming: Application's connect configurations: ConnectConfig { name: "spotify-player", device_type: Speaker, is_group: false, initial_volume: Some(45875), has_volume_ctrl: true } 2025-08-26T17:20:13.035835Z INFO librespot_playback::mixer::softmixer: Mixing with softvol and volume control: Log(60.0) 2025-08-26T17:20:13.035854Z INFO spotify_player::streaming: Initializing a new integrated player with device_id=f33c7971-92fa-4252-8d37-57da0bb0cdcf 2025-08-26T17:20:13.035914Z INFO spotify_player::streaming: Starting an integrated Spotify player using librespot's spirc protocol 2025-08-26T17:20:13.035975Z INFO librespot_playback::convert: Converting with ditherer: tpdf 2025-08-26T17:20:13.035988Z INFO librespot_playback::audio_backend::rodio: Using Rodio sink with format S16 and cpal host: ALSA 2025-08-26T17:20:13.035995Z INFO librespot_playback::audio_backend::rodio: Using audio device: default 2025-08-26T17:20:13.584375Z INFO librespot_core::session: Connecting to AP "ap-gew4.spotify.com:4070" 2025-08-26T17:20:13.918890Z INFO librespot_core::session: Authenticated as 'my-spotify-username' ! 2025-08-26T17:20:13.919179Z INFO librespot_core::session: Country: "IT" 2025-08-26T17:20:13.919268Z INFO spotify_player::streaming: New streaming connection has been established! 2025-08-26T17:20:13.919288Z INFO spotify_player::client: Used a new session for Spotify client. 2025-08-26T17:20:13.919318Z INFO spotify_player::token: Getting a new authentication token... 2025-08-26T17:20:14.169246Z ERROR librespot_core::mercury: error 403 for uri hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=f33c7971-92fa-4252-8d37-57da0bb0cdcf 2025-08-26T17:20:14.169474Z ERROR spotify_player::client::spotify: Failed to get a new token: failed to get the token: Service unavailable { error handling Mercury response: MercuryResponse { uri: "hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=f33c7971-92fa-4252-8d37-57da0bb0cdcf", status_code: 403, payload: [[123, 34, 99, 111, 100, 101, 34, 58, 52, 44, 34, 101, 114, 114, 111, 114, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 73, 110, 118, 97, 108, 105, 100, 32, 114, 101, 113, 117, 101, 115, 116, 34, 125]] } } 2025-08-26T17:20:14.169661Z INFO spotify_player: Starting a client socket at 127.0.0.1:8080 2025-08-26T17:20:14.170000Z ERROR client_request{request=GetUserSavedShows}: spotify_player::client::handlers: Failed to handle client request: Token is not valid 2025-08-26T17:20:14.170015Z ERROR client_request{request=GetUserFollowedArtists}: spotify_player::client::handlers: Failed to handle client request: Token is not valid 2025-08-26T17:20:14.170060Z ERROR client_request{request=GetUserSavedTracks}: spotify_player::client::handlers: Failed to handle client request: Token is not valid 2025-08-26T17:20:14.170085Z INFO client_request{request=GetUserPlaylists}: spotify_player::token: Getting a new authentication token... 2025-08-26T17:20:14.169999Z ERROR client_request{request=GetCurrentUser}: spotify_player::client::handlers: Failed to handle client request: Token is not valid 2025-08-26T17:20:14.170121Z ERROR client_request{request=GetUserSavedAlbums}: spotify_player::client::handlers: Failed to handle client request: Token is not valid 2025-08-26T17:20:14.170485Z INFO spotify_player::media_control: Initializing application's media control event watcher... 2025-08-26T17:20:14.239323Z ERROR librespot_core::mercury: error 403 for uri hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=f33c7971-92fa-4252-8d37-57da0bb0cdcf 2025-08-26T17:20:14.239428Z ERROR client_request{request=GetUserPlaylists}: spotify_player::client::spotify: Failed to get a new token: failed to get the token: Service unavailable { error handling Mercury response: MercuryResponse { uri: "hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=f33c7971-92fa-4252-8d37-57da0bb0cdcf", status_code: 403, payload: [[123, 34, 99, 111, 100, 101, 34, 58, 52, 44, 34, 101, 114, 114, 111, 114, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 73, 110, 118, 97, 108, 105, 100, 32, 114, 101, 113, 117, 101, 115, 116, 34, 125]] } } 2025-08-26T17:20:14.239455Z ERROR client_request{request=GetUserPlaylists}: spotify_player::client::handlers: Failed to handle client request: get access token: failed to get the authentication token stored inside the client. 2025-08-26T17:20:15.170528Z ERROR spotify_player::client: Failed to retrieve current playback: Token is not valid 2025-08-26T17:20:15.170584Z ERROR spotify_player::client: Failed to retrieve current playback: Token is not valid 2025-08-26T17:20:32.621928Z ERROR client_request{request=GetUserRecentlyPlayedTracks}: spotify_player::client::handlers: Failed to handle client request: Token is not valid 2025-08-26T17:20:33.190886Z INFO spotify_player::client::handlers: Current context ID (None) is different from the expected ID (Some(Tracks(TracksId { uri: "tracks:user-recently-played-tracks", kind: "Recently Played Tracks" }))), update the context state ``` **Screenshots** <img width="1906" height="993" alt="Image" src="https://github.com/user-attachments/assets/e63ec59e-494b-4e0b-80d2-23edb28f33c5" /> <img width="1906" height="993" alt="Image" src="https://github.com/user-attachments/assets/67dac8c2-ed26-4c39-ac32-f7821e04cf1b" /> <img width="1906" height="993" alt="Image" src="https://github.com/user-attachments/assets/01b530f4-588b-445f-bed8-48f880fcac72" /> **Environment** - OS: Pop!_OS 22.04 LTS x86_64 - Application version: 0.20.7 - Application features: happens both with default settings and with `--features image,daemon` **Additional context** I have been using spotify_client since May 2025, and it worked perfectly until the last time I used it in late July. I am also using a custom Spotify client_id for Spotify Connect, which previously worked without issues. I updated to 0.20.7 today after noticing the problem (I also reverted to the default config and cleared the cache), but the issue had already occurred this morning on version 0.20.5.
kerem 2026-03-14 14:51:27 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@aome510 commented on GitHub (Aug 26, 2025):

See https://github.com/aome510/spotify-player/issues/802#issuecomment-3218342832

Can you try latest main instead?

<!-- gh-comment-id:3225232132 --> @aome510 commented on GitHub (Aug 26, 2025): See https://github.com/aome510/spotify-player/issues/802#issuecomment-3218342832 Can you try latest `main` instead?
Author
Owner

@angelinuxx commented on GitHub (Aug 27, 2025):

This solved the problem, thank you!

<!-- gh-comment-id:3227242976 --> @angelinuxx commented on GitHub (Aug 27, 2025): This solved the problem, thank you!
Author
Owner

@JamesManningR commented on GitHub (Aug 27, 2025):

I still get this error with the newest version of main

Tried

  • Clearing whole cache folder
  • Re-authenticating
Log
2025-08-27T09:26:16.998328Z  INFO spotify_player: Configurations: Configs { app_config: AppConfig { theme: "dracula", client_id: "c2613c8995194ce89013a5b3ffb25760", client_id_command: None, client_port: 8080, login_redirect_uri: "http://127.0.0.1:8989/login", player_event_hook_command: None, playback_format: "{status} {track} • {artists}\n{album}\n{metadata}", notify_format: NotifyFormat { summary: "{track} • {artists}", body: "{album}" }, notify_timeout_in_secs: 0, 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: Rounded, progress_bar_type: Rectangle, layout: LayoutConfig { library: LibraryLayoutConfig { playlist_percent: 40, album_percent: 40 }, playback_window_position: Bottom, playback_window_height: 6 }, cover_img_length: 10, cover_img_width: 5, cover_img_scale: 1.0, enable_media_control: false, enable_streaming: Always, enable_notify: true, 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 }, notify_streaming_only: 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 }, Keymap { key_sequence: KeySequence { keys: [None(Char('<'))] }, command: SeekBackward }, 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(' '))] }, 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_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 } }, Theme { name: "onedark", palette: Palette { background: None, foreground: Some(Color { color: Rgb(171, 178, 191) }), black: Color { color: Rgb(40, 44, 52) }, blue: Color { color: Rgb(97, 175, 239) }, cyan: Color { color: Rgb(86, 182, 194) }, green: Color { color: Rgb(152, 195, 121) }, magenta: Color { color: Rgb(198, 120, 221) }, red: Color { color: Rgb(224, 108, 117) }, white: Color { color: Rgb(171, 178, 191) }, yellow: Color { color: Rgb(229, 192, 123) }, bright_black: Color { color: Rgb(84, 88, 98) }, bright_white: Color { color: Rgb(200, 204, 212) }, bright_red: Color { color: Rgb(190, 80, 70) }, bright_magenta: Color { color: Rgb(198, 120, 221) }, bright_green: Color { color: Rgb(152, 195, 121) }, bright_cyan: Color { color: Rgb(86, 182, 194) }, bright_blue: Color { color: Rgb(97, 175, 239) }, bright_yellow: Color { color: Rgb(209, 154, 102) } }, component_style: ComponentStyle { block_title: None, border: None, playback_status: None, playback_track: None, playback_artists: None, playback_album: 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: "/Users/jamesryanmanning/.cache/spotify-player" }
2025-08-27T09:26:17.004358Z  INFO spotify_player::auth: Using cached credentials
2025-08-27T09:26:17.004396Z  INFO spotify_player::streaming: Application's connect configurations: ConnectConfig { name: "spotify-player", device_type: Speaker, is_group: false, initial_volume: Some(45875), has_volume_ctrl: true }
2025-08-27T09:26:17.004423Z  INFO librespot_playback::mixer::softmixer: Mixing with softvol and volume control: Log(60.0)    
2025-08-27T09:26:17.004451Z  INFO spotify_player::streaming: Initializing a new integrated player with device_id=b898d2c0-65d3-4263-9777-f3f75efd23f5
2025-08-27T09:26:17.004508Z  INFO spotify_player::streaming: Starting an integrated Spotify player using librespot's spirc protocol
2025-08-27T09:26:17.004511Z  INFO librespot_playback::convert: Converting with ditherer: tpdf    
2025-08-27T09:26:17.004545Z  INFO librespot_playback::audio_backend::rodio: Using Rodio sink with format S16 and cpal host: CoreAudio    
2025-08-27T09:26:17.037370Z  INFO librespot_playback::audio_backend::rodio: Using audio device: WH-1000XM5    
2025-08-27T09:26:17.314254Z  INFO librespot_core::session: Connecting to AP "ap-gew4.spotify.com:4070"    
2025-08-27T09:26:17.493904Z  INFO librespot_core::session: Authenticated as '215l42335kdcrs63ed5kgqaga' !    
2025-08-27T09:26:17.494357Z  INFO librespot_core::session: Country: "NL"    
2025-08-27T09:26:17.494438Z  INFO spotify_player::streaming: New streaming connection has been established!
2025-08-27T09:26:17.494469Z  INFO spotify_player::client: Used a new session for Spotify client.
2025-08-27T09:26:17.494530Z  INFO spotify_player::token: Getting a new authentication token...
2025-08-27T09:26:17.519990Z ERROR librespot_core::mercury: error 403 for uri hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=b898d2c0-65d3-4263-9777-f3f75efd23f5    
2025-08-27T09:26:17.520135Z ERROR spotify_player::client::spotify: Failed to get a new token: failed to get the token: Service unavailable { error handling Mercury response: MercuryResponse { uri: "hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=b898d2c0-65d3-4263-9777-f3f75efd23f5", status_code: 403, payload: [[123, 34, 99, 111, 100, 101, 34, 58, 52, 44, 34, 101, 114, 114, 111, 114, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 73, 110, 118, 97, 108, 105, 100, 32, 114, 101, 113, 117, 101, 115, 116, 34, 125]] } }
2025-08-27T09:26:17.520223Z  INFO spotify_player: Starting a client socket at 127.0.0.1:8080
2025-08-27T09:26:17.520423Z ERROR client_request{request=GetUserSavedShows}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-27T09:26:17.520426Z ERROR client_request{request=GetUserFollowedArtists}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-27T09:26:17.520482Z  INFO client_request{request=GetUserPlaylists}: spotify_player::token: Getting a new authentication token...
2025-08-27T09:26:17.520426Z ERROR client_request{request=GetUserSavedAlbums}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-27T09:26:17.520472Z ERROR client_request{request=GetUserSavedTracks}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-27T09:26:17.520424Z ERROR client_request{request=GetCurrentUser}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-27T09:26:17.575362Z ERROR librespot_core::mercury: error 403 for uri hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=b898d2c0-65d3-4263-9777-f3f75efd23f5    
2025-08-27T09:26:17.575410Z ERROR client_request{request=GetUserPlaylists}: spotify_player::client::spotify: Failed to get a new token: failed to get the token: Service unavailable { error handling Mercury response: MercuryResponse { uri: "hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=b898d2c0-65d3-4263-9777-f3f75efd23f5", status_code: 403, payload: [[123, 34, 99, 111, 100, 101, 34, 58, 52, 44, 34, 101, 114, 114, 111, 114, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 73, 110, 118, 97, 108, 105, 100, 32, 114, 101, 113, 117, 101, 115, 116, 34, 125]] } }
2025-08-27T09:26:17.575437Z ERROR client_request{request=GetUserPlaylists}: spotify_player::client::handlers: Failed to handle client request: get access token: failed to get the authentication token stored inside the client.
2025-08-27T09:26:18.521641Z ERROR spotify_player::client: Failed to retrieve current playback: Token is not valid
2025-08-27T09:26:18.521641Z ERROR spotify_player::client: Failed to retrieve current playback: Token is not valid
<!-- gh-comment-id:3227469300 --> @JamesManningR commented on GitHub (Aug 27, 2025): I still get this error with the newest version of main Tried - Clearing whole cache folder - Re-authenticating <details><summary>Log</summary> ```log 2025-08-27T09:26:16.998328Z INFO spotify_player: Configurations: Configs { app_config: AppConfig { theme: "dracula", client_id: "c2613c8995194ce89013a5b3ffb25760", client_id_command: None, client_port: 8080, login_redirect_uri: "http://127.0.0.1:8989/login", player_event_hook_command: None, playback_format: "{status} {track} • {artists}\n{album}\n{metadata}", notify_format: NotifyFormat { summary: "{track} • {artists}", body: "{album}" }, notify_timeout_in_secs: 0, 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: Rounded, progress_bar_type: Rectangle, layout: LayoutConfig { library: LibraryLayoutConfig { playlist_percent: 40, album_percent: 40 }, playback_window_position: Bottom, playback_window_height: 6 }, cover_img_length: 10, cover_img_width: 5, cover_img_scale: 1.0, enable_media_control: false, enable_streaming: Always, enable_notify: true, 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 }, notify_streaming_only: 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 }, Keymap { key_sequence: KeySequence { keys: [None(Char('<'))] }, command: SeekBackward }, 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(' '))] }, 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_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 } }, Theme { name: "onedark", palette: Palette { background: None, foreground: Some(Color { color: Rgb(171, 178, 191) }), black: Color { color: Rgb(40, 44, 52) }, blue: Color { color: Rgb(97, 175, 239) }, cyan: Color { color: Rgb(86, 182, 194) }, green: Color { color: Rgb(152, 195, 121) }, magenta: Color { color: Rgb(198, 120, 221) }, red: Color { color: Rgb(224, 108, 117) }, white: Color { color: Rgb(171, 178, 191) }, yellow: Color { color: Rgb(229, 192, 123) }, bright_black: Color { color: Rgb(84, 88, 98) }, bright_white: Color { color: Rgb(200, 204, 212) }, bright_red: Color { color: Rgb(190, 80, 70) }, bright_magenta: Color { color: Rgb(198, 120, 221) }, bright_green: Color { color: Rgb(152, 195, 121) }, bright_cyan: Color { color: Rgb(86, 182, 194) }, bright_blue: Color { color: Rgb(97, 175, 239) }, bright_yellow: Color { color: Rgb(209, 154, 102) } }, component_style: ComponentStyle { block_title: None, border: None, playback_status: None, playback_track: None, playback_artists: None, playback_album: 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: "/Users/jamesryanmanning/.cache/spotify-player" } 2025-08-27T09:26:17.004358Z INFO spotify_player::auth: Using cached credentials 2025-08-27T09:26:17.004396Z INFO spotify_player::streaming: Application's connect configurations: ConnectConfig { name: "spotify-player", device_type: Speaker, is_group: false, initial_volume: Some(45875), has_volume_ctrl: true } 2025-08-27T09:26:17.004423Z INFO librespot_playback::mixer::softmixer: Mixing with softvol and volume control: Log(60.0) 2025-08-27T09:26:17.004451Z INFO spotify_player::streaming: Initializing a new integrated player with device_id=b898d2c0-65d3-4263-9777-f3f75efd23f5 2025-08-27T09:26:17.004508Z INFO spotify_player::streaming: Starting an integrated Spotify player using librespot's spirc protocol 2025-08-27T09:26:17.004511Z INFO librespot_playback::convert: Converting with ditherer: tpdf 2025-08-27T09:26:17.004545Z INFO librespot_playback::audio_backend::rodio: Using Rodio sink with format S16 and cpal host: CoreAudio 2025-08-27T09:26:17.037370Z INFO librespot_playback::audio_backend::rodio: Using audio device: WH-1000XM5 2025-08-27T09:26:17.314254Z INFO librespot_core::session: Connecting to AP "ap-gew4.spotify.com:4070" 2025-08-27T09:26:17.493904Z INFO librespot_core::session: Authenticated as '215l42335kdcrs63ed5kgqaga' ! 2025-08-27T09:26:17.494357Z INFO librespot_core::session: Country: "NL" 2025-08-27T09:26:17.494438Z INFO spotify_player::streaming: New streaming connection has been established! 2025-08-27T09:26:17.494469Z INFO spotify_player::client: Used a new session for Spotify client. 2025-08-27T09:26:17.494530Z INFO spotify_player::token: Getting a new authentication token... 2025-08-27T09:26:17.519990Z ERROR librespot_core::mercury: error 403 for uri hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=b898d2c0-65d3-4263-9777-f3f75efd23f5 2025-08-27T09:26:17.520135Z ERROR spotify_player::client::spotify: Failed to get a new token: failed to get the token: Service unavailable { error handling Mercury response: MercuryResponse { uri: "hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=b898d2c0-65d3-4263-9777-f3f75efd23f5", status_code: 403, payload: [[123, 34, 99, 111, 100, 101, 34, 58, 52, 44, 34, 101, 114, 114, 111, 114, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 73, 110, 118, 97, 108, 105, 100, 32, 114, 101, 113, 117, 101, 115, 116, 34, 125]] } } 2025-08-27T09:26:17.520223Z INFO spotify_player: Starting a client socket at 127.0.0.1:8080 2025-08-27T09:26:17.520423Z ERROR client_request{request=GetUserSavedShows}: spotify_player::client::handlers: Failed to handle client request: Token is not valid 2025-08-27T09:26:17.520426Z ERROR client_request{request=GetUserFollowedArtists}: spotify_player::client::handlers: Failed to handle client request: Token is not valid 2025-08-27T09:26:17.520482Z INFO client_request{request=GetUserPlaylists}: spotify_player::token: Getting a new authentication token... 2025-08-27T09:26:17.520426Z ERROR client_request{request=GetUserSavedAlbums}: spotify_player::client::handlers: Failed to handle client request: Token is not valid 2025-08-27T09:26:17.520472Z ERROR client_request{request=GetUserSavedTracks}: spotify_player::client::handlers: Failed to handle client request: Token is not valid 2025-08-27T09:26:17.520424Z ERROR client_request{request=GetCurrentUser}: spotify_player::client::handlers: Failed to handle client request: Token is not valid 2025-08-27T09:26:17.575362Z ERROR librespot_core::mercury: error 403 for uri hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=b898d2c0-65d3-4263-9777-f3f75efd23f5 2025-08-27T09:26:17.575410Z ERROR client_request{request=GetUserPlaylists}: spotify_player::client::spotify: Failed to get a new token: failed to get the token: Service unavailable { error handling Mercury response: MercuryResponse { uri: "hm://keymaster/token/authenticated?scope=user-read-recently-played,user-top-read,user-read-playback-position,user-read-playback-state,user-modify-playback-state,user-read-currently-playing,streaming,playlist-read-private,playlist-modify-private,playlist-modify-public,playlist-read-collaborative,user-follow-read,user-follow-modify,user-library-read,user-library-modify&client_id=65b708073fc0480ea92a077233ca87bd&device_id=b898d2c0-65d3-4263-9777-f3f75efd23f5", status_code: 403, payload: [[123, 34, 99, 111, 100, 101, 34, 58, 52, 44, 34, 101, 114, 114, 111, 114, 68, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 73, 110, 118, 97, 108, 105, 100, 32, 114, 101, 113, 117, 101, 115, 116, 34, 125]] } } 2025-08-27T09:26:17.575437Z ERROR client_request{request=GetUserPlaylists}: spotify_player::client::handlers: Failed to handle client request: get access token: failed to get the authentication token stored inside the client. 2025-08-27T09:26:18.521641Z ERROR spotify_player::client: Failed to retrieve current playback: Token is not valid 2025-08-27T09:26:18.521641Z ERROR spotify_player::client: Failed to retrieve current playback: Token is not valid ``` </details>
Author
Owner

@aome510 commented on GitHub (Aug 27, 2025):

I still get this error with the newest version of main

The log doesn't indicate you run the latest main. How did you run it? Please make sure the binary is correct (is the one built by latest main) not the old binary you installed previously

<!-- gh-comment-id:3228396929 --> @aome510 commented on GitHub (Aug 27, 2025): > I still get this error with the newest version of main The log doesn't indicate you run the latest `main`. How did you run it? Please make sure the binary is correct (is the one built by latest `main`) not the old binary you installed previously
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#1419
No description provided.