It's like mopidy but good.
Go to file
AI User 9706e3b5d2 Survive a permanently dead refresh token while the access token works
A stale config can hold a refresh token issued by a Tidal client that
no longer exists ("Client id ... not found") next to an access token
that is still perfectly valid. The proactive refresh in
ensure_fresh_token treated its own failure as fatal, so every request
died on the unusable refresh token without ever trying the working
access token.

Classify refresh failures: a 4xx from the token endpoint is permanent,
so warn once, stop proactive refreshing, and keep serving with the
current access token; transport errors and 5xx are transient and keep
the retry metadata. The 401-retry in make_request stays as the backstop
for an access token that has actually expired, and a restart heals the
state via the device-login fallback.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 11:48:06 +02:00
.gitea Clean up a bit 2023-06-13 10:12:26 +02:00
architecture Document the as-built architecture 2026-07-20 10:34:45 +02:00
audio-player Fix intermittent playback stops and harden the queue 2026-07-19 22:00:22 +02:00
cbd-tui Fix intermittent playback stops and harden the queue 2026-07-19 22:00:22 +02:00
crabidy-core Fix intermittent playback stops and harden the queue 2026-07-19 22:00:22 +02:00
crabidy-server Drop redundant log-to-tracing bridge init 2026-07-19 22:01:22 +02:00
tidaldy Survive a permanently dead refresh token while the access token works 2026-07-20 11:48:06 +02:00
.editorconfig Add cross compile release flow 2023-06-12 09:38:19 +02:00
.gitignore Add devenv-based dev environment and README 2026-07-19 21:29:23 +02:00
Cargo.lock Drop redundant log-to-tracing bridge init 2026-07-19 22:01:22 +02:00
Cargo.toml Drop redundant log-to-tracing bridge init 2026-07-19 22:01:22 +02:00
Cross.toml Generate x86_64 target 2023-06-12 18:21:58 +02:00
README.md Add devenv-based dev environment and README 2026-07-19 21:29:23 +02:00
aarch64-unknown-linux-gnu-Dockerfile Try to add release files 2023-06-12 18:06:00 +02:00
armv7-unknown-linux-gnueabihf-Dockerfile Try to add release files 2023-06-12 18:06:00 +02:00
devenv-rust.nix Add devenv-based dev environment and README 2026-07-19 21:29:23 +02:00
devenv.lock Add devenv-based dev environment and README 2026-07-19 21:29:23 +02:00
devenv.nix Document the as-built architecture 2026-07-20 10:34:45 +02:00
devenv.yaml Add devenv-based dev environment and README 2026-07-19 21:29:23 +02:00
rust-toolchain.toml Add devenv-based dev environment and README 2026-07-19 21:29:23 +02:00
x86_64-unknown-linux-gnu-Dockerfile Generate x86_64 target 2023-06-12 18:21:58 +02:00

README.md

crabidy