Queues now survive restarts, built entirely on the fs provider: fsdy::Client is instance-mountable and a second, read-only instance serves <config>/crabidy/queues/ as /queues. Every queue is a folder of order-prefixed link track files plus a hidden state sidecar, written only by the new QueueStore (tmp-and-swap). The playback loop streams every queue change through a latest-wins watch channel to a debouncing persister task and restores queues/current/ (tracks, position, modifiers) at startup without autoplay. w on the queue pane asks for a name and drives the previously stubbed SaveQueue rpc; reloading a saved queue is just queueing /queues/<name>, since link entries rewrite to their targets at listing time. The old "no links into /fs" parse rejection gave way to one-hop link semantics so queues can reference fs tracks. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||