Skip to content

App shows correct startpage but does not seem connected otherwise #815

@Sorodon

Description

@Sorodon

Describe the bug
Arch (EndeavourOS) with kitty terminal
When opening the App it shows my start page with my playlists but selecting anything sends be to an eternal loading screen.
No playback is shown and the device selection is empty.
However other devices (like my phone) show the app in spotify-connect and it is selectable. When it is selected, the music is paused instantly when hitting play though.
Even more weird:
Uninstalling and installing (via pacman) again did not help at all. I deleted (as in moved and renamed) all config files but for some reason the app seems to remember my account and is able to show my startpage.
Log shows errors about token being invalid, but I don't understand it fully

To Reproduce
For me: Simply opening the app, but I doubt this works for other PCs

Expected behaviour
I'd like to play music again

Log and backtrace

Log (The Client and Device IDs were redacted by me)
2025-08-27T11:02:09.217684Z  INFO spotify_player: Configurations: Configs { app_config: AppConfig { theme: "nord", client_id: "122ecxxxxxxxxxxxxxxxxxxxxxxxxxxx", 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}", playback_metadata_fields: ["repeat", "shuffle", "volume", "device"], 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: "\u{f03e4}", pause_icon: "\u{f040a}", liked_icon: "\u{f02d1}", border_type: Rounded, progress_bar_type: Rectangle, layout: LayoutConfig { library: LibraryLayoutConfig { playlist_percent: 40, album_percent: 40 }, playback_window_position: Top, playback_window_height: 6 }, cover_img_length: 9, cover_img_width: 5, cover_img_scale: 1.0, enable_media_control: true, enable_streaming: Always, enable_notify: true, enable_cover_image_cache: true, default_device: "sp@SAM-EOS", device: DeviceConfig { name: "sp@SAM-EOS", device_type: "computer", volume: 70, bitrate: 320, audio_cache: false, normalization: true, autoplay: true }, notify_streaming_only: false, seek_duration_secs: 5, sort_artist_albums_by_type: false }, keymap_config: KeymapConfig { keymaps: [Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('c'))] }, command: None }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('q'))] }, command: Quit }, 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: [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: [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: "default2", 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: White }, 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: "dracula", palette: Palette { background: Some(Color { color: Rgb(30, 31, 41) }), foreground: Some(Color { color: Rgb(248, 248, 242) }), black: Color { color: Rgb(0, 0, 0) }, blue: Color { color: Rgb(189, 147, 249) }, cyan: Color { color: Rgb(139, 233, 253) }, green: Color { color: Rgb(80, 250, 123) }, magenta: Color { color: Rgb(255, 121, 198) }, red: Color { color: Rgb(255, 85, 85) }, white: Color { color: Rgb(187, 187, 187) }, yellow: Color { color: Rgb(241, 250, 140) }, bright_black: Color { color: Rgb(85, 85, 85) }, bright_white: Color { color: Rgb(255, 255, 255) }, bright_red: Color { color: Rgb(255, 85, 85) }, bright_magenta: Color { color: Rgb(255, 121, 198) }, bright_green: Color { color: Rgb(80, 250, 123) }, bright_cyan: Color { color: Rgb(139, 233, 253) }, bright_blue: Color { color: Rgb(189, 147, 249) }, bright_yellow: Color { color: Rgb(241, 250, 140) } }, 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: "dracula2", palette: Palette { background: Some(Color { color: Rgb(30, 31, 41) }), foreground: Some(Color { color: Rgb(248, 248, 242) }), black: Color { color: Rgb(0, 0, 0) }, blue: Color { color: Rgb(189, 147, 249) }, cyan: Color { color: Rgb(139, 233, 253) }, green: Color { color: Rgb(80, 250, 123) }, magenta: Color { color: Rgb(255, 121, 198) }, red: Color { color: Rgb(255, 85, 85) }, white: Color { color: Rgb(187, 187, 187) }, yellow: Color { color: Rgb(241, 250, 140) }, bright_black: Color { color: Rgb(85, 85, 85) }, bright_white: Color { color: Rgb(255, 255, 255) }, bright_red: Color { color: Rgb(255, 85, 85) }, bright_magenta: Color { color: Rgb(255, 121, 198) }, bright_green: Color { color: Rgb(80, 250, 123) }, bright_cyan: Color { color: Rgb(139, 233, 253) }, bright_blue: Color { color: Rgb(189, 147, 249) }, bright_yellow: Color { color: Rgb(241, 250, 140) } }, 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: Some(Style { fg: Some(White), bg: Some(Black), modifiers: [Bold] }), secondary_row: Some(Style { fg: None, bg: Some(Rgb { r: 103, g: 112, b: 117 }), modifiers: [] }), like: Some(Style { fg: Some(Red), bg: None, modifiers: [Bold] }), lyrics_played: None, lyrics_playing: None } }, Theme { name: "gruvbox_dark", palette: Palette { background: Some(Color { color: Rgb(40, 40, 40) }), foreground: Some(Color { color: Rgb(235, 219, 178) }), black: Color { color: Rgb(40, 40, 40) }, blue: Color { color: Rgb(69, 133, 136) }, cyan: Color { color: Rgb(104, 157, 106) }, green: Color { color: Rgb(152, 151, 26) }, magenta: Color { color: Rgb(177, 98, 134) }, red: Color { color: Rgb(204, 36, 29) }, white: Color { color: Rgb(168, 153, 132) }, yellow: Color { color: Rgb(215, 153, 33) }, bright_black: Color { color: Rgb(146, 131, 116) }, bright_white: Color { color: Rgb(235, 219, 178) }, bright_red: Color { color: Rgb(251, 73, 52) }, bright_magenta: Color { color: Rgb(211, 134, 155) }, bright_green: Color { color: Rgb(184, 187, 38) }, bright_cyan: Color { color: Rgb(142, 192, 124) }, bright_blue: Color { color: Rgb(131, 165, 152) }, bright_yellow: Color { color: Rgb(250, 189, 47) } }, 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: "gruvbox_light", palette: Palette { background: Some(Color { color: Rgb(251, 241, 199) }), foreground: Some(Color { color: Rgb(40, 40, 40) }), black: Color { color: Rgb(251, 241, 199) }, blue: Color { color: Rgb(7, 102, 120) }, cyan: Color { color: Rgb(66, 123, 88) }, green: Color { color: Rgb(121, 116, 14) }, magenta: Color { color: Rgb(143, 63, 113) }, red: Color { color: Rgb(157, 0, 6) }, white: Color { color: Rgb(60, 56, 54) }, yellow: Color { color: Rgb(181, 118, 20) }, bright_black: Color { color: Rgb(157, 131, 116) }, bright_white: Color { color: Rgb(124, 111, 100) }, bright_red: Color { color: Rgb(204, 36, 29) }, bright_magenta: Color { color: Rgb(177, 97, 134) }, bright_green: Color { color: Rgb(152, 151, 26) }, bright_cyan: Color { color: Rgb(104, 157, 105) }, bright_blue: Color { color: Rgb(69, 133, 136) }, bright_yellow: Color { color: Rgb(215, 153, 33) } }, 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: "solarized_dark", palette: Palette { background: Some(Color { color: Rgb(0, 43, 54) }), foreground: Some(Color { color: Rgb(131, 148, 150) }), black: Color { color: Rgb(7, 54, 66) }, blue: Color { color: Rgb(38, 139, 210) }, cyan: Color { color: Rgb(42, 161, 152) }, green: Color { color: Rgb(133, 153, 0) }, magenta: Color { color: Rgb(211, 54, 130) }, red: Color { color: Rgb(220, 50, 47) }, white: Color { color: Rgb(238, 232, 213) }, yellow: Color { color: Rgb(181, 137, 0) }, bright_black: Color { color: Rgb(0, 43, 54) }, bright_white: Color { color: Rgb(253, 246, 227) }, bright_red: Color { color: Rgb(203, 75, 22) }, bright_magenta: Color { color: Rgb(108, 113, 196) }, bright_green: Color { color: Rgb(88, 110, 117) }, bright_cyan: Color { color: Rgb(147, 161, 161) }, bright_blue: Color { color: Rgb(131, 148, 150) }, bright_yellow: Color { color: Rgb(101, 123, 131) } }, 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: "solarized_light", palette: Palette { background: Some(Color { color: Rgb(253, 246, 227) }), foreground: Some(Color { color: Rgb(101, 123, 131) }), black: Color { color: Rgb(7, 54, 66) }, blue: Color { color: Rgb(38, 139, 210) }, cyan: Color { color: Rgb(42, 161, 152) }, green: Color { color: Rgb(133, 153, 0) }, magenta: Color { color: Rgb(211, 54, 130) }, red: Color { color: Rgb(220, 50, 47) }, white: Color { color: Rgb(238, 232, 213) }, yellow: Color { color: Rgb(181, 137, 0) }, bright_black: Color { color: Rgb(0, 43, 54) }, bright_white: Color { color: Rgb(253, 246, 227) }, bright_red: Color { color: Rgb(203, 75, 22) }, bright_magenta: Color { color: Rgb(108, 113, 196) }, bright_green: Color { color: Rgb(88, 110, 117) }, bright_cyan: Color { color: Rgb(147, 161, 161) }, bright_blue: Color { color: Rgb(131, 148, 150) }, bright_yellow: Color { color: Rgb(101, 123, 131) } }, 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: "tokyonight", palette: Palette { background: Some(Color { color: Rgb(31, 35, 53) }), foreground: Some(Color { color: Rgb(192, 202, 245) }), black: Color { color: Rgb(65, 72, 104) }, blue: Color { color: Rgb(42, 195, 222) }, cyan: Color { color: Rgb(125, 207, 255) }, green: Color { color: Rgb(158, 206, 106) }, magenta: Color { color: Rgb(187, 154, 247) }, red: Color { color: Rgb(247, 118, 142) }, white: Color { color: Rgb(238, 232, 213) }, yellow: Color { color: Rgb(224, 175, 104) }, bright_black: Color { color: Rgb(36, 40, 59) }, bright_white: Color { color: Rgb(253, 246, 227) }, bright_red: Color { color: Rgb(255, 68, 153) }, bright_magenta: Color { color: Rgb(255, 0, 124) }, bright_green: Color { color: Rgb(115, 218, 202) }, bright_cyan: Color { color: Rgb(147, 161, 161) }, bright_blue: Color { color: Rgb(131, 148, 150) }, bright_yellow: Color { color: Rgb(101, 123, 131) } }, 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: "catppuccin_latte", palette: Palette { background: Some(Color { color: Rgb(239, 241, 245) }), foreground: Some(Color { color: Rgb(76, 79, 105) }), black: Color { color: Rgb(92, 95, 119) }, blue: Color { color: Rgb(30, 102, 245) }, cyan: Color { color: Rgb(23, 146, 153) }, green: Color { color: Rgb(64, 160, 43) }, magenta: Color { color: Rgb(234, 118, 203) }, red: Color { color: Rgb(210, 15, 57) }, white: Color { color: Rgb(172, 176, 190) }, yellow: Color { color: Rgb(223, 142, 29) }, bright_black: Color { color: Rgb(108, 111, 133) }, bright_white: Color { color: Rgb(188, 192, 204) }, bright_red: Color { color: Rgb(222, 41, 62) }, bright_magenta: Color { color: Rgb(254, 133, 216) }, bright_green: Color { color: Rgb(73, 175, 61) }, bright_cyan: Color { color: Rgb(45, 159, 168) }, bright_blue: Color { color: Rgb(69, 110, 255) }, bright_yellow: Color { color: Rgb(238, 160, 45) } }, 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: "catppuccin_frappe", palette: Palette { background: Some(Color { color: Rgb(48, 52, 70) }), foreground: Some(Color { color: Rgb(198, 208, 245) }), black: Color { color: Rgb(81, 87, 109) }, blue: Color { color: Rgb(140, 170, 238) }, cyan: Color { color: Rgb(129, 200, 190) }, green: Color { color: Rgb(166, 209, 137) }, magenta: Color { color: Rgb(244, 184, 228) }, red: Color { color: Rgb(231, 130, 132) }, white: Color { color: Rgb(165, 173, 206) }, yellow: Color { color: Rgb(229, 200, 144) }, bright_black: Color { color: Rgb(98, 104, 128) }, bright_white: Color { color: Rgb(181, 191, 226) }, bright_red: Color { color: Rgb(230, 113, 114) }, bright_magenta: Color { color: Rgb(242, 164, 219) }, bright_green: Color { color: Rgb(142, 199, 114) }, bright_cyan: Color { color: Rgb(90, 191, 181) }, bright_blue: Color { color: Rgb(123, 158, 240) }, bright_yellow: Color { color: Rgb(217, 186, 115) } }, 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: "catppuccin_macchiato", palette: Palette { background: Some(Color { color: Rgb(36, 39, 58) }), foreground: Some(Color { color: Rgb(202, 211, 245) }), black: Color { color: Rgb(73, 77, 100) }, blue: Color { color: Rgb(138, 173, 244) }, cyan: Color { color: Rgb(139, 213, 202) }, green: Color { color: Rgb(166, 218, 149) }, magenta: Color { color: Rgb(245, 189, 230) }, red: Color { color: Rgb(237, 135, 150) }, white: Color { color: Rgb(165, 173, 203) }, yellow: Color { color: Rgb(238, 212, 159) }, bright_black: Color { color: Rgb(91, 96, 120) }, bright_white: Color { color: Rgb(184, 192, 224) }, bright_red: Color { color: Rgb(236, 116, 134) }, bright_magenta: Color { color: Rgb(242, 169, 221) }, bright_green: Color { color: Rgb(140, 207, 127) }, bright_cyan: Color { color: Rgb(99, 203, 192) }, bright_blue: Color { color: Rgb(120, 161, 246) }, bright_yellow: Color { color: Rgb(225, 198, 130) } }, 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: "catppuccin_mocha", palette: Palette { background: Some(Color { color: Rgb(30, 30, 46) }), foreground: Some(Color { color: Rgb(205, 214, 244) }), black: Color { color: Rgb(69, 71, 90) }, blue: Color { color: Rgb(137, 180, 250) }, cyan: Color { color: Rgb(148, 226, 213) }, green: Color { color: Rgb(166, 227, 161) }, magenta: Color { color: Rgb(245, 194, 231) }, red: Color { color: Rgb(243, 139, 168) }, white: Color { color: Rgb(166, 173, 200) }, yellow: Color { color: Rgb(249, 226, 175) }, bright_black: Color { color: Rgb(88, 91, 112) }, bright_white: Color { color: Rgb(186, 194, 222) }, bright_red: Color { color: Rgb(243, 119, 153) }, bright_magenta: Color { color: Rgb(242, 174, 222) }, bright_green: Color { color: Rgb(137, 216, 139) }, bright_cyan: Color { color: Rgb(107, 215, 202) }, bright_blue: Color { color: Rgb(116, 168, 252) }, bright_yellow: Color { color: Rgb(235, 211, 145) } }, 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: "nord", palette: Palette { background: Some(Color { color: Rgb(46, 52, 64) }), foreground: Some(Color { color: Rgb(216, 222, 233) }), black: Color { color: Rgb(0, 0, 0) }, blue: Color { color: Rgb(129, 161, 193) }, cyan: Color { color: Rgb(136, 192, 208) }, green: Color { color: Rgb(163, 190, 140) }, magenta: Color { color: Rgb(180, 142, 173) }, red: Color { color: Rgb(191, 97, 106) }, white: Color { color: Rgb(229, 233, 240) }, yellow: Color { color: Rgb(235, 203, 139) }, bright_black: Color { color: Rgb(88, 91, 112) }, bright_white: Color { color: Rgb(186, 194, 222) }, bright_red: Color { color: Rgb(243, 119, 153) }, bright_magenta: Color { color: Rgb(242, 174, 222) }, bright_green: Color { color: Rgb(137, 216, 139) }, bright_cyan: Color { color: Rgb(107, 215, 202) }, bright_blue: Color { color: Rgb(116, 168, 252) }, bright_yellow: Color { color: Rgb(235, 211, 145) } }, component_style: ComponentStyle { block_title: Some(Style { fg: Some(Yellow), bg: None, modifiers: [] }), border: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [] }), playback_status: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), playback_track: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), playback_artists: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), playback_album: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(Black), modifiers: [] }), playback_progress_bar_unfilled: None, current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [Bold] }), page_desc: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), playlist_desc: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [Dim] }), table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: Some(White), bg: Some(Blue), modifiers: [] }), secondary_row: Some(Style { fg: None, bg: None, modifiers: [] }), like: Some(Style { fg: None, bg: None, modifiers: [] }), lyrics_played: Some(Style { fg: None, bg: None, modifiers: [Dim] }), lyrics_playing: None } }] }, cache_folder: "/home/sam/.cache/spotify-player" }
2025-08-27T11:02:09.218277Z  INFO spotify_player::state::data: Loading Playlists data from /home/sam/.cache/spotify-player/Playlists_cache.json...
2025-08-27T11:02:09.218683Z  INFO spotify_player::state::data: Successfully loaded Playlists data!
2025-08-27T11:02:09.218710Z  INFO spotify_player::state::data: Loading FollowedArtists data from /home/sam/.cache/spotify-player/FollowedArtists_cache.json...
2025-08-27T11:02:09.218842Z  INFO spotify_player::state::data: Successfully loaded FollowedArtists data!
2025-08-27T11:02:09.218857Z  INFO spotify_player::state::data: Loading SavedShows data from /home/sam/.cache/spotify-player/SavedShows_cache.json...
2025-08-27T11:02:09.218967Z  INFO spotify_player::state::data: Successfully loaded SavedShows data!
2025-08-27T11:02:09.219006Z  INFO spotify_player::state::data: Loading SavedAlbums data from /home/sam/.cache/spotify-player/SavedAlbums_cache.json...
2025-08-27T11:02:09.219531Z  INFO spotify_player::state::data: Successfully loaded SavedAlbums data!
2025-08-27T11:02:09.219556Z  INFO spotify_player::state::data: Loading SavedTracks data from /home/sam/.cache/spotify-player/SavedTracks_cache.json...
2025-08-27T11:02:09.226839Z  INFO spotify_player::state::data: Successfully loaded SavedTracks data!
2025-08-27T11:02:09.326846Z  INFO spotify_player::auth: Using cached credentials
2025-08-27T11:02:09.326879Z  INFO spotify_player::streaming: Application's connect configurations: ConnectConfig { name: "sp@SAM-EOS", device_type: Computer, is_group: false, initial_volume: Some(45875), has_volume_ctrl: true }
2025-08-27T11:02:09.326904Z  INFO librespot_playback::mixer::softmixer: Mixing with softvol and volume control: Log(60.0)    
2025-08-27T11:02:09.326939Z  INFO spotify_player::streaming: Initializing a new integrated player with device_id=45165xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2025-08-27T11:02:09.327106Z  INFO spotify_player::streaming: Starting an integrated Spotify player using librespot's spirc protocol
2025-08-27T11:02:09.327347Z  INFO librespot_playback::convert: Converting with ditherer: tpdf    
2025-08-27T11:02:09.327376Z  INFO librespot_playback::audio_backend::pulseaudio: Using PulseAudioSink with format: S16    
2025-08-27T11:02:09.577420Z  INFO librespot_core::session: Connecting to AP "ap-gew4.spotify.com:4070"    
2025-08-27T11:02:09.727944Z  INFO librespot_core::session: Authenticated as 'sorodon' !    
2025-08-27T11:02:09.728174Z  INFO spotify_player::streaming: New streaming connection has been established!
2025-08-27T11:02:09.728190Z  INFO spotify_player::client: Used a new session for Spotify client.
2025-08-27T11:02:09.728207Z  INFO spotify_player::token: Getting a new authentication token...
2025-08-27T11:02:09.728407Z  INFO librespot_core::session: Country: "DE"    
2025-08-27T11:02:09.800900Z 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=65b70xxxxxxxxxxxxxxxxxxxxxxxxxxx&device_id=45165xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    
2025-08-27T11:02:09.801005Z 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=65b70xxxxxxxxxxxxxxxxxxxxxxxxxxx&device_id=45165xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 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-27T11:02:09.801127Z  INFO spotify_player: Starting a client socket at 127.0.0.1:8080
2025-08-27T11:02:09.801347Z ERROR client_request{request=GetUserSavedShows}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-27T11:02:09.801388Z ERROR client_request{request=GetCurrentUser}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-27T11:02:09.801401Z  INFO client_request{request=GetUserPlaylists}: spotify_player::token: Getting a new authentication token...
2025-08-27T11:02:09.801512Z ERROR client_request{request=GetUserFollowedArtists}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-27T11:02:09.801529Z ERROR client_request{request=GetUserSavedAlbums}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-27T11:02:09.801540Z ERROR client_request{request=GetUserSavedTracks}: spotify_player::client::handlers: Failed to handle client request: Token is not valid
2025-08-27T11:02:09.801903Z  INFO spotify_player::media_control: Initializing application's media control event watcher...
2025-08-27T11:02:09.886215Z 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=65b70xxxxxxxxxxxxxxxxxxxxxxxxxxx&device_id=45165xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    
2025-08-27T11:02:09.886454Z 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=65b70xxxxxxxxxxxxxxxxxxxxxxxxxxx&device_id=45165xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 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-27T11:02:09.886524Z 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-27T11:02:10.802178Z  INFO spotify_player::client::handlers: Current context ID (None) is different from the expected ID (Some(Playlist(PlaylistId("4Jx2y6VZDUCQGgczm3fn8R")))), update the context state
2025-08-27T11:02:10.802270Z  INFO client_request{request=GetContext(Playlist(PlaylistId("4Jx2y6VZDUCQGgczm3fn8R")))}: spotify_player::client: Get playlist context: spotify:playlist:4Jx2y6VZDUCQGgczm3fn8R
2025-08-27T11:02:10.802288Z  INFO client_request{request=GetContext(Playlist(PlaylistId("4Jx2y6VZDUCQGgczm3fn8R")))}: spotify_player::token: Getting a new authentication token...
2025-08-27T11:02:10.807257Z ERROR spotify_player::client: Failed to retrieve current playback: Token is not valid
2025-08-27T11:02:10.807339Z ERROR spotify_player::client: Failed to retrieve current playback: Token is not valid
2025-08-27T11:02:10.826893Z 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=65b70xxxxxxxxxxxxxxxxxxxxxxxxxxx&device_id=45165xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    
2025-08-27T11:02:10.826950Z ERROR client_request{request=GetContext(Playlist(PlaylistId("4Jx2y6VZDUCQGgczm3fn8R")))}: 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=45165xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 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-27T11:02:10.827016Z ERROR client_request{request=GetContext(Playlist(PlaylistId("4Jx2y6VZDUCQGgczm3fn8R")))}: spotify_player::client::handlers: Failed to handle client request: get access token: failed to get the authentication token stored inside the client.
2025-08-27T11:02:13.801621Z 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=122ecxxxxxxxxxxxxxxxxxxxxxxxxxxx&device_id=45165xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    
2025-08-27T11:02:13.801663Z ERROR client_request{request=GetDevices}: spotify_player::client::handlers: Failed to handle client request: get access 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=122ecxxxxxxxxxxxxxxxxxxxxxxxxxxx&device_id=45165xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 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]] } }

Screenshots

Image

Environment

  • OS: Arch Linux (Endeavour OS)
  • Application version: 0.20.7
  • Application features: pacman -S spotify-player

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions