[GH-ISSUE #217] what things can i do to make the start time of spotify-player more fast #1050

Closed
opened 2026-03-14 13:13:41 +03:00 by kerem · 6 comments
Owner

Originally created by @RioAngele on GitHub (Jul 6, 2023).
Original GitHub issue: https://github.com/aome510/spotify-player/issues/217

when i start this software,i need a lot of time to wait for it.
Is my app.toml having some problems?

theme = "default"
client_id = "~~"
client_port ="~~"
playback_format = "{track} • {artists}\n{album}\n{metadata}"
notify_format = { summary = "{track} • {artists}", body = "{album}" }
copy_command = { command = "xclip", args = ["-sel", "c"] } # linux
app_refresh_duration_in_ms = 0
playback_refresh_duration_in_ms = 0
page_size_in_rows = 20
track_table_item_max_len = 32
enable_media_control = false
enable_streaming = false
enable_cover_image_cache = false
[device]
name = "spotify-player"
device_type = "speaker"
volume = 100
bitrate = 320
audio_cache = false

i use arch linux
how to make fast to start up

Originally created by @RioAngele on GitHub (Jul 6, 2023). Original GitHub issue: https://github.com/aome510/spotify-player/issues/217 when i start this software,i need a lot of time to wait for it. Is my `app.toml` having some problems? ```toml theme = "default" client_id = "~~" client_port ="~~" playback_format = "{track} • {artists}\n{album}\n{metadata}" notify_format = { summary = "{track} • {artists}", body = "{album}" } copy_command = { command = "xclip", args = ["-sel", "c"] } # linux app_refresh_duration_in_ms = 0 playback_refresh_duration_in_ms = 0 page_size_in_rows = 20 track_table_item_max_len = 32 enable_media_control = false enable_streaming = false enable_cover_image_cache = false [device] name = "spotify-player" device_type = "speaker" volume = 100 bitrate = 320 audio_cache = false ``` i use arch linux how to make fast to start up
kerem 2026-03-14 13:13:41 +03:00
Author
Owner

@RioAngele commented on GitHub (Jul 6, 2023):

when i start spotify-tui ,i didn't need time to wait.
but when i start spotify-player, i need about 2~3s to wait

<!-- gh-comment-id:1623243011 --> @RioAngele commented on GitHub (Jul 6, 2023): when i start spotify-tui ,i didn't need time to wait. but when i start spotify-player, i need about 2~3s to wait
Author
Owner

@aome510 commented on GitHub (Jul 7, 2023):

Can you provide an applicable log so that I can figure out the slow parts?

app_refresh_duration_in_ms = 0

It's not recommended to set app_refresh_duration_in_ms to 0 as it will throttle your CPU (re-rendering the UI every 0ms).

<!-- gh-comment-id:1624538437 --> @aome510 commented on GitHub (Jul 7, 2023): Can you provide an applicable log so that I can figure out the slow parts? > app_refresh_duration_in_ms = 0 It's not recommended to set `app_refresh_duration_in_ms` to `0` as it will throttle your CPU (re-rendering the UI every 0ms).
Author
Owner

@RioAngele commented on GitHub (Jul 7, 2023):

Thank you,i will modify it.
this is the log in ~/.cache/spotify-player/

2023-07-06T15:47:42.485961Z  INFO spotify_player: General configurations: AppConfig { theme: "default", client_id: "04c40aec719e4a608048470e6df3ded8", client_port: 8888, copy_command: Command { command: "xclip", args: ["-sel", "c"] }, playback_format: "{track} • {artists}\n{album}\n{metadata}", proxy: None, ap_port: None, app_refresh_duration_in_ms: 0, playback_refresh_duration_in_ms: 0, page_size_in_rows: 20, track_table_item_max_len: 32, play_icon: "▶", pause_icon: "▌▌", liked_icon: "♥", border_type: Plain, progress_bar_type: Rectangle, playback_window_position: Top, playback_window_width: 6, enable_cover_image_cache: false, default_device: "spotify-player", device: DeviceConfig { name: "spotify-player", device_type: "speaker", volume: 100, bitrate: 320, audio_cache: false } }
2023-07-06T15:47:42.485998Z  INFO spotify_player: Theme configurations: ThemeConfig { themes: [Theme { name: "default", palette: Palette { background: None, foreground: None, black: Color { color: Black }, blue: Color { color: LightBlue }, cyan: Color { color: LightCyan }, green: Color { color: LightGreen }, magenta: Color { color: LightMagenta }, red: Color { color: LightRed }, white: Color { color: Gray }, yellow: Color { color: LightYellow }, bright_black: Color { color: DarkGray }, bright_white: Color { color: White }, bright_red: Color { color: Red }, bright_magenta: Color { color: Magenta }, bright_green: Color { color: Green }, bright_cyan: Color { color: Cyan }, bright_blue: Color { color: Blue }, bright_yellow: Color { color: Yellow } }, component_style: ComponentStyle { block_title: None, border: None, playback_track: None, playback_artists: None, playback_album: None, playback_metadata: None, playback_progress_bar: None, current_playing: None, page_desc: None, table_header: None, selection: 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: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), 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(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [Bold] }), page_desc: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Bold, Reversed] }) } }, 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: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), 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(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [Bold] }), page_desc: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Bold, Reversed] }) } }, 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: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), 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(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [Bold] }), page_desc: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Bold, Reversed] }) } }, 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: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), 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(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(White), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [Bold] }), page_desc: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Bold, Reversed] }) } }, 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: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), 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(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [Bold] }), page_desc: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Bold, Reversed] }) } }] }
2023-07-06T15:47:42.486067Z  INFO spotify_player: Keymap configurations: 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: [Ctrl(Char('s'))] }, command: Shuffle }, Keymap { key_sequence: KeySequence { keys: [None(Char('+'))] }, command: VolumeUp }, Keymap { key_sequence: KeySequence { keys: [None(Char('-'))] }, command: VolumeDown }, 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: [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(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: LyricPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('l'))] }, command: LyricPage }, 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('?'))] }, 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 }] }
2023-07-06T15:47:45.266879Z  INFO spotify_player::auth: Successfully used the cached credentials to create a new session!
2023-07-06T15:47:45.299205Z  INFO spotify_player::token: Getting new authentication token...
2023-07-06T15:47:45.549874Z  INFO spotify_player::token: Got new token: Token { access_token: "", expires_in: Duration { secs: 3600, nanos: 0 }, expires_at: Some(2023-07-06T16:47:45.549861592Z), refresh_token: None, scopes: {} }
2023-07-06T15:47:46.411616Z  INFO spotify_player::cli::client: Starting a client socket at 127.0.0.1:8888
2023-07-06T15:47:46.411808Z  WARN spotify_player: Failed to run client socket for CLI: Address already in use (os error 98)
2023-07-06T15:47:46.664058Z  INFO client_request{request=GetUserPlaylists}: spotify_player::client: successfully handled the client request, took: 251ms
2023-07-06T15:47:47.187986Z  INFO client_request{request=GetCurrentUser}: spotify_player::client: successfully handled the client request, took: 775ms
2023-07-06T15:47:47.222189Z  INFO client_request{request=GetUserSavedAlbums}: spotify_player::client: successfully handled the client request, took: 809ms
2023-07-06T15:47:47.317089Z  INFO client_request{request=GetUserFollowedArtists}: spotify_player::client: successfully handled the client request, took: 904ms
2023-07-06T15:47:48.996866Z  INFO client_request{request=GetUserSavedTracks}: spotify_player::client: successfully handled the client request, took: 2584ms
<!-- gh-comment-id:1624563598 --> @RioAngele commented on GitHub (Jul 7, 2023): Thank you,i will modify it. this is the log in `~/.cache/spotify-player/` ``` 2023-07-06T15:47:42.485961Z INFO spotify_player: General configurations: AppConfig { theme: "default", client_id: "04c40aec719e4a608048470e6df3ded8", client_port: 8888, copy_command: Command { command: "xclip", args: ["-sel", "c"] }, playback_format: "{track} • {artists}\n{album}\n{metadata}", proxy: None, ap_port: None, app_refresh_duration_in_ms: 0, playback_refresh_duration_in_ms: 0, page_size_in_rows: 20, track_table_item_max_len: 32, play_icon: "▶", pause_icon: "▌▌", liked_icon: "♥", border_type: Plain, progress_bar_type: Rectangle, playback_window_position: Top, playback_window_width: 6, enable_cover_image_cache: false, default_device: "spotify-player", device: DeviceConfig { name: "spotify-player", device_type: "speaker", volume: 100, bitrate: 320, audio_cache: false } } 2023-07-06T15:47:42.485998Z INFO spotify_player: Theme configurations: ThemeConfig { themes: [Theme { name: "default", palette: Palette { background: None, foreground: None, black: Color { color: Black }, blue: Color { color: LightBlue }, cyan: Color { color: LightCyan }, green: Color { color: LightGreen }, magenta: Color { color: LightMagenta }, red: Color { color: LightRed }, white: Color { color: Gray }, yellow: Color { color: LightYellow }, bright_black: Color { color: DarkGray }, bright_white: Color { color: White }, bright_red: Color { color: Red }, bright_magenta: Color { color: Magenta }, bright_green: Color { color: Green }, bright_cyan: Color { color: Cyan }, bright_blue: Color { color: Blue }, bright_yellow: Color { color: Yellow } }, component_style: ComponentStyle { block_title: None, border: None, playback_track: None, playback_artists: None, playback_album: None, playback_metadata: None, playback_progress_bar: None, current_playing: None, page_desc: None, table_header: None, selection: 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: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), 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(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [Bold] }), page_desc: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Bold, Reversed] }) } }, 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: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), 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(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [Bold] }), page_desc: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Bold, Reversed] }) } }, 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: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), 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(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [Bold] }), page_desc: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Bold, Reversed] }) } }, 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: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), 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(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(White), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [Bold] }), page_desc: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Bold, Reversed] }) } }, 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: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), 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(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [Bold] }), page_desc: Some(Style { fg: Some(Cyan), bg: None, modifiers: [Bold] }), table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Bold, Reversed] }) } }] } 2023-07-06T15:47:42.486067Z INFO spotify_player: Keymap configurations: 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: [Ctrl(Char('s'))] }, command: Shuffle }, Keymap { key_sequence: KeySequence { keys: [None(Char('+'))] }, command: VolumeUp }, Keymap { key_sequence: KeySequence { keys: [None(Char('-'))] }, command: VolumeDown }, 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: [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(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: LyricPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('l'))] }, command: LyricPage }, 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('?'))] }, 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 }] } 2023-07-06T15:47:45.266879Z INFO spotify_player::auth: Successfully used the cached credentials to create a new session! 2023-07-06T15:47:45.299205Z INFO spotify_player::token: Getting new authentication token... 2023-07-06T15:47:45.549874Z INFO spotify_player::token: Got new token: Token { access_token: "", expires_in: Duration { secs: 3600, nanos: 0 }, expires_at: Some(2023-07-06T16:47:45.549861592Z), refresh_token: None, scopes: {} } 2023-07-06T15:47:46.411616Z INFO spotify_player::cli::client: Starting a client socket at 127.0.0.1:8888 2023-07-06T15:47:46.411808Z WARN spotify_player: Failed to run client socket for CLI: Address already in use (os error 98) 2023-07-06T15:47:46.664058Z INFO client_request{request=GetUserPlaylists}: spotify_player::client: successfully handled the client request, took: 251ms 2023-07-06T15:47:47.187986Z INFO client_request{request=GetCurrentUser}: spotify_player::client: successfully handled the client request, took: 775ms 2023-07-06T15:47:47.222189Z INFO client_request{request=GetUserSavedAlbums}: spotify_player::client: successfully handled the client request, took: 809ms 2023-07-06T15:47:47.317089Z INFO client_request{request=GetUserFollowedArtists}: spotify_player::client: successfully handled the client request, took: 904ms 2023-07-06T15:47:48.996866Z INFO client_request{request=GetUserSavedTracks}: spotify_player::client: successfully handled the client request, took: 2584ms ```
Author
Owner

@aome510 commented on GitHub (Jul 7, 2023):

Thanks for the log. Interestingly, it took a decent amount of time for you to create a new session from cached credentials (from line 3 to 4 in the log). Yours is about 2.8s, for reference, mine is about 1.1s:

2023-07-07T02:58:09.314020Z  INFO spotify_player: Keymap configurations: 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: [Ctrl(Char('s'))] }, command: Shuffle }, Keymap { key_sequence: KeySequence { keys: [None(Char('+'))] }, command: VolumeUp }, Keymap { key_sequence: KeySequence { keys: [None(Char('-'))] }, command: VolumeDown }, 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: [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: LyricPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('l'))] }, command: LyricPage }, 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('?'))] }, 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 }] }
2023-07-07T02:58:10.438612Z  INFO spotify_player::auth: Successfully used the cached credentials to create a new session!
2023-07-07T02:58:10.438770Z  INFO spotify_player::token: Getting new authentication token...
2023-07-07T02:58:10.824691Z  INFO spotify_player::token: Got new token: Token { access_token: ", expires_in: Duration { secs: 3600, nanos: 0 }, expires_at: Some(2023-07-07T03:58:10.824679Z), refresh_token: None, scopes: {} }

Do you have VPN tunred on or slow internet connection by any chances?

That said, if you want the UI to show up instantly, I can try to update the startup code to do that. Shouldn't be too difficult as UI thread doesn't need access to Spotify session.

<!-- gh-comment-id:1624583427 --> @aome510 commented on GitHub (Jul 7, 2023): Thanks for the log. Interestingly, it took a decent amount of time for you to create a new session from cached credentials (from line 3 to 4 in the log). Yours is about `2.8s`, for reference, mine is about `1.1s`: ``` 2023-07-07T02:58:09.314020Z INFO spotify_player: Keymap configurations: 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: [Ctrl(Char('s'))] }, command: Shuffle }, Keymap { key_sequence: KeySequence { keys: [None(Char('+'))] }, command: VolumeUp }, Keymap { key_sequence: KeySequence { keys: [None(Char('-'))] }, command: VolumeDown }, 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: [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: LyricPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('l'))] }, command: LyricPage }, 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('?'))] }, 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 }] } 2023-07-07T02:58:10.438612Z INFO spotify_player::auth: Successfully used the cached credentials to create a new session! 2023-07-07T02:58:10.438770Z INFO spotify_player::token: Getting new authentication token... 2023-07-07T02:58:10.824691Z INFO spotify_player::token: Got new token: Token { access_token: ", expires_in: Duration { secs: 3600, nanos: 0 }, expires_at: Some(2023-07-07T03:58:10.824679Z), refresh_token: None, scopes: {} } ``` Do you have VPN tunred on or slow internet connection by any chances? That said, if you want the UI to show up instantly, I can try to update the startup code to do that. Shouldn't be too difficult as UI thread doesn't need access to Spotify session.
Author
Owner

@aome510 commented on GitHub (Jul 7, 2023):

Quite busy lately, so will get back to this later this month.

<!-- gh-comment-id:1624584608 --> @aome510 commented on GitHub (Jul 7, 2023): Quite busy lately, so will get back to this later this month.
Author
Owner

@RioAngele commented on GitHub (Jul 7, 2023):

Yes,you are right
I use VPN to connect.
make the UI show up instantly is a good thing for me
i will never wait the connect done
Thank you!

<!-- gh-comment-id:1624617053 --> @RioAngele commented on GitHub (Jul 7, 2023): Yes,you are right I use VPN to connect. make the UI show up instantly is a good thing for me i will never wait the connect done Thank you!
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#1050
No description provided.