Skip to content

Support OpenSubsonic playbackReport for richer server-side playback state #28

Description

@KarisSeau

Context

Navidrome 0.62.0 added support for the OpenSubsonic playbackReport extension.

Currently Cassette appears to use the classic Subsonic scrobble flow:

  • scrobble(..., submission=false) when playback starts / now playing
  • scrobble(..., submission=true) after the scrobble threshold

This works for basic now-playing, but it does not report full playback state changes such as pause, resume, stop, seek position, and playback rate.

Why this would be useful

Server-side integrations can use playbackReport to track playback state more accurately.

For example, Navidrome's Discord Rich Presence plugin v2 uses PlaybackReport to show:

  • playing / paused / stopped states
  • pause icon / paused timer
  • better progress timestamps
  • cleaner presence clearing when playback stops

With Cassette, the server can see basic now-playing through scrobble, but it cannot receive the complete playback state like it does from Navidrome Web.

Expected behavior

Cassette should call the OpenSubsonic reportPlayback endpoint when supported by the server, including state changes such as:

  • playing
  • paused
  • stopped
  • position
  • playback rate

Current behavior

Cassette appears to only use the older scrobble endpoint for server-side playback reporting.

Notes

The request is about reporting richer playback state back to compatible Subsonic/OpenSubsonic servers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions