Commit Graph

29 Commits

Author SHA1 Message Date
AI User 6d8bc7f166 Overhaul tracing: fix span misattribution, broaden coverage
The old pattern passed a Span in every channel message and entered it
with a guard that was held across await points, which misattributed
events from interleaved tasks. Messages are now {span, command} pairs:
the span is captured automatically at send time (Span::current) and the
consumer instruments the whole handler future with a child span
(playback_command/provider_command with a command name field), so events
are attributed correctly across the queue boundary and all the manual
in_current_span() plumbing is gone.

Also:
- server: EnvFilter with RUST_LOG support (default: own crates at
  debug, rest at info), log-crate bridge for symphonia/cpal
- cbd-tui: logs to a file under the state dir (the terminal belongs to
  the TUI), EnvFilter, no more println into the alternate screen
- tidaldy: fix misused levels (error->debug), structured fields,
  payload dumps moved to trace, login flow at info/warn
- no panic on missing notification daemon in the TUI
- no panic on backwards clock steps in QueueManager
- provider init errors propagate instead of expect()

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 21:48:00 +02:00
AI User 6eb5a87b15 Update all dependencies to current versions
- tonic 0.9 -> 0.14 (tonic-prost/tonic-prost-build split), prost 0.14
- ratatui 0.20 -> 0.30 (Frame no longer generic, Line instead of Spans),
  crossterm 0.29
- rodio 0.17 -> 0.22: replace the custom symphonia decoder with rodio's
  built-in decoder, seeking (try_seek) and position tracking (get_pos);
  end-of-stream is now signalled via an EmptyCallback source with a
  generation counter so a replaced track can never emit a stale EOS
- replace the vendored stream-download crate with the published
  stream-download 0.24 (rustls), with a 30s open timeout
- reqwest 0.12->0.13 (rustls/webpki-roots/query features), base64 0.22
  Engine API, rand 0.10, flume 0.12, thiserror 2, dirs 6, toml 1
- unify everything under [workspace.dependencies]; drop unused deps
  (once_cell, serde_json in server; confique, secrecy in tidaldy)
- devenv: add protobuf (protoc) for prost-build

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 21:41:10 +02:00
chmanie 7f48bca5df Split up cbd-tui into components 2023-06-11 20:06:06 +02:00
chmanie d970e372af TUI: Add config file and argument parsing w/ clap 2023-06-11 01:02:14 +02:00
Hans Mündelein 9be9039a05
Add shuffle and repeat for server 2023-06-09 16:02:35 +02:00
chmanie 606f9e6516 Use rust TLS for stream-downloader 2023-06-08 19:34:24 +02:00
chmanie 51cdf13953 Add stream-download package 2023-06-08 18:55:11 +02:00
Hans Mündelein a31608aae9
Integrate new audio player 2023-06-08 16:10:17 +02:00
chmanie d236d108e8 Adjust audio-player example 2023-06-08 14:54:36 +02:00
chmanie 983609e2f4 Implement full async player API 2023-06-08 14:40:09 +02:00
chmanie 85d6d263e1 Add more player API methods 2023-06-08 12:17:11 +02:00
chmanie 8f6dd152c8 First working version of audio player 2023-06-08 05:13:22 +02:00
chmanie 7f1e7dfd00 Add audio-player PoC 2023-06-08 02:01:49 +02:00
Hans Mündelein 4043865ad4
Fix broken song deadlock and improve observability 2023-06-03 13:04:59 +02:00
chmanie 553f34a111 Use proper config directory 2023-06-02 20:28:38 +02:00
chmanie 10abece425 Add rudimentary notification support 2023-05-30 11:59:15 +02:00
Hans Mündelein 46937b3d6e
Allow multiple concurrent clients receive streams 2023-05-28 09:21:17 +02:00
Hans Mündelein 9e1efb886a
Add first streaming server version 2023-05-26 19:11:55 +02:00
Hans Mündelein e231de87da
Switch to rustls and dn 2023-05-26 14:55:25 +02:00
chmanie acf34c2722 Add placeholders for request and stream testing 2023-05-23 14:42:53 +02:00
chmanie 596a97c99d Remove crabidy, graphql from cbd-tui 2023-05-23 13:43:48 +02:00
Hans Mündelein 0b9e6ceebe
Add server stubs for newly stuctred RPCs 2023-05-23 13:11:22 +02:00
chmanie 248c833280 Fix proto lint issues as much as possible 2023-05-23 00:04:15 +02:00
Hans Mündelein 0af8829987
Add cargo-server with liby service draft
It is not smart, fetches everything all the time  and totally hardcoded with the tidal client
But tidal login and library discovery with tidal should somewhat work.
2023-05-22 22:05:38 +02:00
Hans Mündelein 19f19cba2d
Add tidal provider
First draft of tidaldy that implements the crabidy provider trait.
2023-05-22 09:31:02 +02:00
chmanie 73cb9ddbda Add test gRPC server 2023-05-21 14:25:30 +02:00
Hans Mündelein f76ba00ce4
Remove legacy graphql stuff
Graphql is dead. Long live gRPC!!!
2023-05-19 17:19:19 +02:00
chmanie a681cbb739 Add tonic tooling and basic protobuf definitions 2023-05-19 15:07:06 +02:00
chmanie 861391f7d8 Add threaded ui model 2023-05-17 23:45:18 +02:00