Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions app/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,15 @@ def health() -> dict[str, object]:
"ffmpeg_configured": FFMPEG_BIN.is_file(),
"demucs_model": DEMUCS_MODEL,
"demucs_device": get_demucs_device(),
# Which process is answering. The desktop shell spawns this backend and
# then polls this endpoint to know it came up -- but a 200 alone only
# proves *something* is listening on that port, not that it is the child
# the shell just started. When a second StemDeck was launched, the new
# window adopted the already-running instance's backend, and with it
# that instance's data directory and library (#424). The shell compares
# this against the PID it spawned, so a stranger on the port is refused
# rather than silently trusted.
"pid": os.getpid(),
}


Expand Down
1 change: 1 addition & 0 deletions desktop/src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions desktop/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.10"
# Binding a port without listening on it. std's TcpListener always listens, and
# a listener on 0.0.0.0 makes StemDeck.exe itself a server in the eyes of
# Windows Firewall, prompting the user. Reserving a port is not serving on it.
socket2 = "0.6"
tar = "0.4"
tauri = { version = "2", features = [] }
tauri-plugin-dialog = "2"
Expand Down
Loading
Loading