-
Notifications
You must be signed in to change notification settings - Fork 302
Description
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
Environment
- OS: Arch Linux (Endeavour OS)
- Application version: 0.20.7
- Application features:
pacman -S spotify-player