f-o-o-g-s/nokkvi

A rust based navidrome client for linux built using iced-rs

38stars
31wishes
0gates

settings.json: yes · hooks: no · scanned 2026-09-20

Rules, as written

wish

`reference-*/` directories are external repos cloned for reference (iced, symphonia, feishin, rmpc, navidrome, lucide icons, pipewire, rodio

Nothing mechanical stops "edit CLAUDE.md". no deny rule matched; no hooks matched

wish

├── DecodeLoopChannels (engine, `engine.rs`) — bundles the lock-free atomics the primary decode loop reads/writes (`source_generation`, `dec

Nothing mechanical stops "rm tests/example.test.js". no deny rule matched; no hooks matched

wish

Codec registry**: every Symphonia decoder/lookup MUST go through `audio::symphonia_registry::codecs()`, never `symphonia::default::get_codec

Nothing mechanical stops "npm install <pkg>". no deny rule matched; no hooks matched

wish

A per-fade **generation token** discards stale completions; an interrupting ramp seeds `from` off the stream's last-written `volume` atomic

Nothing mechanical stops "Read .env". no deny rule matched; no hooks matched

wish

Manual-skip crossfade** ("Fade on Skip" = Crossfade): three phases across the lock boundary (invariant: no engine lock held across decoder c

Nothing mechanical stops "git commit without running the required step first". no deny rule matched; no hooks matched

wish

Stall watchdog**: `tick_crossfade`'s completion gate at `progress ≥ 1.0` is empty-ring **OR** liveness-stalled. `crossfade_liveness::Incomin

Nothing mechanical stops "curl POST .env to a server". no deny rule matched; no hooks matched

Showing 6 of 31. Run npx paperfence scan on the repo for the full list.