Skip to content

Resolve server-side spec gaps#116

Draft
maximmaxim345 wants to merge 2 commits into
fix/available-statefrom
fix/server-breaking-changes
Draft

Resolve server-side spec gaps#116
maximmaxim345 wants to merge 2 commits into
fix/available-statefrom
fix/server-breaking-changes

Conversation

@maximmaxim345

@maximmaxim345 maximmaxim345 commented Jul 2, 2026

Copy link
Copy Markdown
Member

The PR with server-implementation-breaking changes I mentioned in #113. Clients do not have to adjust anything for these; they tighten what a conforming server must do.

Specifically:

  • Role activation: a server MUST NOT activate a role or version the client did not list in supported_roles.
  • Forward compatibility: servers (not just clients) MUST ignore unrecognized payload fields, and MUST NOT send fields the spec does not define.
  • stream/request-format: a request the server cannot honor is not an error; the stream continues in a configuration the client supports. For players, stream/start MUST use a format from the client's supported_formats, so the server can never start a stream the client cannot decode.
  • Reconnect backoff: after repeated consecutive Noise-handshake failures, the server SHOULD NOT keep auto-reconnecting until there is reason to expect success (operator re-initiates pairing, network conditions change).
  • Artwork late join: after an artwork stream/start (initial or post-reconnect), the server SHOULD immediately send the current image for each channel whose source is not 'none', so a client joining mid-track is not left blank until the next track change.

Draft

This PR is still marked as draft since it depends on:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant