Skip to content

docs: refresh README feature matrix + add plugins guide - #441

Merged
InstaZDLL merged 3 commits into
mainfrom
docs/plugins-and-readme-refresh
Jul 26, 2026
Merged

docs: refresh README feature matrix + add plugins guide#441
InstaZDLL merged 3 commits into
mainfrom
docs/plugins-and-readme-refresh

Conversation

@InstaZDLL

@InstaZDLL InstaZDLL commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Contexte

Avant le bump, remise à jour de la doc (le tableau de features du README avait dérivé, et le plugin store n'était documenté nulle part).

README

  • Playback : ajout WASAPI Exclusive, DSD→PCM, EQ 6 bandes, gapless, spectrum, sleep timer, seed/mood radio, A-B.
  • Integrations : ajout source bio TheAudioDB, notifications OS, DLNA/UPnP.
  • Plugins : plugin store in-app + 2 plugins officiels (Web Radio + Apple Motion Artwork) — plus « the first Web Radio plugin ».
  • UI : vue immersive, karaoke lyrics, mini-player, layout de la player bar.
  • Fix 2 refs de doc mortes (docs/features/sync.md / plugins.md n'ont jamais existé) → pointent vers RFC-003 / RFC-002 ; ajout DLNA à la liste docs.

Docs

Vérifs

  • Aucune modif de code — docs uniquement.
  • Le badge de version reste géré par release-please (marqueur x-release-please-version intact).

Summary by CodeRabbit

  • Nouveautés / Améliorations
    • Lecture audio enrichie (gapless, crossfade, ReplayGain, égaliseur multi-bandes, visualiseur, sleep timer, A-B repeat, sélection de device, commandes média OS, queue persistante).
    • Intégrations : ajout de TheAudioDB et prise en charge DLNA/UPnP avec disponibilité hors ligne.
    • Synchronisation et partage alignés sur le RFC-003.
    • Nouvel écosystème de plugins (SDK RFC-002, plugin store avec vérification, plugins officiels Web Radio et Apple Motion Artwork).
    • Améliorations UI/UX : écran “now playing” immersif, mini-player toujours au premier plan, personnalisation de la barre player.
  • Documentation
    • Mise à jour de la page Features et ajout d’une documentation dédiée aux plugins.

The README highlights table and doc links had drifted behind shipped
features. Bring them current and fill the one real docs gap (the plugin
store had no user-facing page).

README:
- Playback: add WASAPI Exclusive, DSD to PCM, 6-band EQ, gapless,
  spectrum, sleep timer, seed/mood radio, A-B repeat
- Integrations: add TheAudioDB bio source, OS notifications, DLNA/UPnP
- Plugins: in-app store + two official plugins (Web Radio + Apple Motion
  Artwork), no longer "the first Web Radio plugin"
- UI: immersive view, karaoke lyrics, mini-player, player-bar layout
- Fix two dead deep-dive refs (sync.md / plugins.md never existed) to
  point at RFC-003 / RFC-002; add DLNA to the docs list

docs:
- New docs/features/plugins.md — SDK/sandbox, store (source cascade +
  blake3-verified installs), per-plugin options, official plugins, and
  the motion-artwork pipeline (overlay, manual cover, opt-in cache)
- Link it from the docs index
@InstaZDLL InstaZDLL added scope: docs Docs, README, assets type: docs Documentation size: m 50-200 lines labels Jul 26, 2026
@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: a2a471ed-4b12-48b8-9958-cb767a4e9cd8

📥 Commits

Reviewing files that changed from the base of the PR and between 1740c60 and f7fac8a.

📒 Files selected for processing (1)
  • docs/features/plugins.md

📝 Walkthrough

Walkthrough

La PR met à jour les matrices de fonctionnalités et documente le SDK de plugins WASM, leur installation vérifiée, leur configuration, les plugins officiels, ainsi que leurs mécanismes de cache et de sécurité.

Changes

Documentation des fonctionnalités

Layer / File(s) Summary
Matrices et navigation documentaires
README.md, docs/README.md
Les capacités audio, intégrations, synchronisation, plugins et UI/UX sont détaillées, avec l’ajout du lien DLNA / UPnP et d’une entrée dédiée aux plugins.
Architecture et installation des plugins
docs/features/plugins.md
Le SDK WASM sandboxé, les permissions, les API hôte, la plugin store, la vérification blake3, l’installation atomique et les options persistées sont documentés.
Plugins officiels et sécurité
docs/features/plugins.md
Web Radio, Apple Motion Artwork, les caches, le pipeline de résolution et le modèle de sécurité sont décrits.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • InstaZDLL/WaveFlow#179 : correspond directement au SDK de plugins RFC-002 documenté dans cette PR.
  • InstaZDLL/WaveFlow#351 : couvre la plugin store, la vérification blake3, les options et les plugins officiels décrits ici.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed Le titre résume bien le changement principal et reste clair, même sans scope Conventional Commits.
Description check ✅ Passed La description couvre le contexte, les changements README/docs et la motivation, même si Summary, How I tested et Checklist sont incomplets.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/plugins-and-readme-refresh

Comment @coderabbitai help to get the list of available commands.

@InstaZDLL InstaZDLL self-assigned this Jul 26, 2026
@InstaZDLL InstaZDLL added this to the v1.7.0 milestone Jul 26, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/features/plugins.md`:
- Line 52: Clarify the animated album cover documentation so the “at most once”
Apple request guarantee explicitly applies only to successful resolutions and
confirmed misses. Keep the existing behavior that transient failures are not
cached and may be retried.
- Line 48: Reformulate the offline catalogue description around WebRadioView and
the url:<stream> track ID so it promises only offline catalogue browsing and
metadata resolution. Explicitly state that playback still requires network
access because streams remain remote, and remove any implication that the
offline mode enables network-free playback.

In `@README.md`:
- Line 74: Update README.md lines 74-74 so the Plugins entry links primarily to
docs/features/plugins.md and retains RFC-002 as a secondary reference. Update
README.md lines 131-131 to add plugins to the deep-dives navigation list.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: b31e2e35-2c4b-4707-8b09-95bfba485ad0

📥 Commits

Reviewing files that changed from the base of the PR and between b179144 and e5c0958.

📒 Files selected for processing (3)
  • README.md
  • docs/README.md
  • docs/features/plugins.md

Comment thread docs/features/plugins.md Outdated
Comment thread docs/features/plugins.md Outdated
Comment thread README.md Outdated
- plugins.md (Apple Motion Artwork): scope the "hits Apple at most once"
  guarantee to resolved hits + confirmed misses only; transient failures
  are not cached and are retried on the next lookup
- plugins.md (Web Radio offline catalogue): the offline path only makes
  browsing + stream-URL resolution network-free; playing a station still
  streams from the remote server and needs network
- README: Plugins deep-dive links to docs/features/plugins.md first, with
  RFC-002 as a secondary reference; add plugins to the docs nav list

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/features/plugins.md (1)

12-12: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Ne pas présenter la sérialisation comme une protection contre le flooding.

La sérialisation limite les appels concurrents, mais n’empêche pas une suite illimitée d’appels séquentiels vers un service distant. Reformuler la garantie, ou documenter explicitement un rate limit/backoff si le runtime en fournit réellement un.

Proposition
- The host also serialises calls into a given plugin, so a plugin can't storm an upstream API.
+ The host also serialises calls into a given plugin, limiting concurrent upstream requests.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/features/plugins.md` at line 12, Reformulate the final sentence in the
plugin capabilities description so serialization is presented only as limiting
concurrent calls, not as preventing upstream flooding. If the runtime provides
an actual rate limit or backoff mechanism, document that separately; otherwise
remove the flooding-prevention implication.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@docs/features/plugins.md`:
- Line 12: Reformulate the final sentence in the plugin capabilities description
so serialization is presented only as limiting concurrent calls, not as
preventing upstream flooding. If the runtime provides an actual rate limit or
backoff mechanism, document that separately; otherwise remove the
flooding-prevention implication.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 3f6d8df7-248e-4391-aa4a-75a6e9c15088

📥 Commits

Reviewing files that changed from the base of the PR and between e5c0958 and 1740c60.

📒 Files selected for processing (2)
  • README.md
  • docs/features/plugins.md

Serialising calls into a plugin bounds concurrency only; it doesn't cap
how often a plugin calls upstream, and the host has no rate-limit/backoff
of its own. Note that a plugin stays polite by caching, as the official
ones do.
@InstaZDLL
InstaZDLL merged commit 03ee047 into main Jul 26, 2026
13 checks passed
@InstaZDLL
InstaZDLL deleted the docs/plugins-and-readme-refresh branch July 26, 2026 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: docs Docs, README, assets size: m 50-200 lines type: docs Documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant