mirror of
https://github.com/aome510/spotify-player.git
synced 2026-04-26 09:25:49 +03:00
[GH-ISSUE #924] Strange terminal behaviour after 0.22 update #1494
Labels
No labels
bug
documentation
enhancement
good first issue
help wanted
pull-request
question
third-party
third-party
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/spotify-player#1494
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @felprangel on GitHub (Feb 10, 2026).
Original GitHub issue: https://github.com/aome510/spotify-player/issues/924
Describe the bug
Just upgraded to 0.22 and opening the app makes some strange behaviour on the terminal
My terminal is alacritty, tested on kitty and im facing the same error
The inputs in the image are from my mouse movement, any key pressed on the keyboard is also logged
Cntrl + C stops working too
To Reproduce
Just open the app after the new update
Expected behaviour
Expected to not open the terminal after the app launches
Log and backtrace
Backtrace is empty
Log:
Please refer to this URL for more details.
Screenshots

Environment
Additional context
Im on hyprland, if its relevant
@Douglas019BR commented on GitHub (Feb 10, 2026):
I found the solution:
Bug Report: Application exits immediately on Linux with
media-controlfeatureAfter commit
8759fc7("replacetokioblocking tasks with named threads"), the application exits immediately after starting on Linux when compiled with themedia-controlfeature enabled.Environment
pulseaudio-backend,streaming,media-control,fzf,imageDescription
There are two issues introduced in the recent refactoring:
Issue 1: Missing
configsvariable in PulseAudio setupFile:
spotify_player/src/main.rs(line ~110)The commit removed the
let configs = config::get_config();declaration at the beginning ofstart_app(), but the PulseAudio backend setup block still referencesconfigs.app_config.device.name:Fix: Add
let configs = config::get_config();inside the conditional block before usingconfigs.Issue 2: Main thread exits immediately on Linux
File:
spotify_player/src/main.rs(lines ~198-213)The commit replaced
tokio::task::spawn_blockingwithstd::thread::Builder::new().spawn()for the UI and event handler tasks, and removed thefor task in tasks { task.await?; }loop that kept the main thread alive.On macOS/Windows, the
winitevent loop (event_loop.run()) blocks the main thread. However, on Linux there is no such blocking mechanism, causingstart_app()to return immediately after spawning the threads, which terminates the application.Previous behavior (before commit):
Current behavior: No waiting mechanism on Linux - function returns
Ok(())immediately.Fix: Add a blocking loop for Linux that waits until
state.ui.lock().is_runningbecomesfalse:Steps to Reproduce
cargo install --path spotify_player/ --no-default-features --features pulseaudio-backend,streaming,media-control,fzf,imagespotify_playerExpected Behavior
Application should start and remain interactive until the user quits.
Related Commit
8759fc7- "replacetokioblocking tasks with named threads (#921)"@aome510 commented on GitHub (Feb 10, 2026):
Thanks @felprangel for reporting and @Douglas019BR for investigating and putting up a quick fix. I just published a new patched release