Skip to content

[Bug]: Plugin does not send release MBID to ListenBrainz #116

@zliebersbach

Description

@zliebersbach

Bug description

Listens on ListenBrainz do not match with the correct MBIDs.

Potentially related: #52

Steps to reproduce

  1. Play track where the album has release MBIDs, but the track does not (I have tried refreshing metadata to see in the MB plugin would populate track IDs and it doesn't seem to - checking the codebase, I don't see a MusicBrainzTrackProvider either)

Album
Screenshot 2024-12-19 at 13 17 09

Track
Screenshot 2024-12-19 at 13 17 25

  1. Observe the plugin does not send release MBIDs from the album
[2024-12-19 12:58:51.800 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: Picking up playback start event for item "リボルバー"
[2024-12-19 12:58:51.801 +11:00] [INF] [3] Jellyfin.Plugin.ListenBrainz: Processing playback start event for item "リボルバー" associated with user "Zoe"
[2024-12-19 12:58:51.803 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: Checking if item is in any allowed libraries
[2024-12-19 12:58:51.809 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: Item is in at least one allowed library
[2024-12-19 12:58:51.811 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: Checking if ListenBrainz submission is enabled for the user
[2024-12-19 12:58:51.811 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: ListenBrainz submission is enabled for the user
[2024-12-19 12:58:51.812 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: Checking item basic metadata
[2024-12-19 12:58:51.814 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: Item has basic metadata
[2024-12-19 12:58:51.814 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: All checks passed, preparing for sending listen
[2024-12-19 12:58:51.815 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: Checking if MusicBrainz integration is enabled
[2024-12-19 12:58:51.815 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: MusicBrainz integration is enabled
[2024-12-19 12:58:51.815 +11:00] [INF] [3] Jellyfin.Plugin.ListenBrainz: Getting additional metadata...
[2024-12-19 12:58:51.817 +11:00] [INF] [3] Jellyfin.Plugin.ListenBrainz: Additional metadata are not available: "Audio item does not have a track MBID"
[2024-12-19 12:58:51.817 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz: Additional metadata are not available
System.ArgumentException: Audio item does not have a track MBID
   at Jellyfin.Plugin.ListenBrainz.Clients.MusicBrainzClient.GetAudioItemMetadata(BaseItem item)
   at Jellyfin.Plugin.ListenBrainz.PluginImplementation.OnPlaybackStart(Object sender, PlaybackProgressEventArgs args)
[2024-12-19 12:58:52.029 +11:00] [INF] [3] Jellyfin.Plugin.ListenBrainz: Sending 'playing now' listen...
[2024-12-19 12:58:52.150 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz.ListenBrainzApi: Waiting for previous request to complete (if any)
[2024-12-19 12:58:52.150 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz.ListenBrainzApi: Sending request...
[2024-12-19 12:58:52.174 +11:00] [DBG] [3] Jellyfin.Plugin.ListenBrainz.ListenBrainzApi: Sending request:
Method: "POST"
URI: https://api.listenbrainz.org/1/submit-listens
Data: "{\"listen_type\":\"playing_now\",\"payload\":[{\"track_metadata\":{\"artist_name\":\"yonige\",\"track_name\":\"リボルバー\",\"release_name\":\"リボルバー\",\"additional_info\":{\"tracknumber\":1,\"tags\":[],\"media_player\":\"Jellyfin\",\"submission_client\":\"ListenBrainz plugin for Jellyfin\",\"submission_client_version\":\"5.0.2.0\",\"duration_ms\":186000}}}]}"
[2024-12-19 12:58:53.251 +11:00] [DBG] [24] Jellyfin.Plugin.ListenBrainz.ListenBrainzApi: Response status is OK, will not retry
[2024-12-19 12:58:53.254 +11:00] [DBG] [24] Jellyfin.Plugin.ListenBrainz.ListenBrainzApi: Got response:
Status: OK
Data: "{\"status\":\"ok\"}
"
  1. Observe ListenBrainz matches the listen to the incorrect MBID
{
  "inserted_at": 1734572062,
  "listened_at": 1734572061,
  "recording_msid": "5a0599ba-c2ca-4768-af79-4d92b74ecb22",
  "track_metadata": {
    "additional_info": {
      "duration_ms": 186000,
      "media_player": "Jellyfin",
      "recording_msid": "5a0599ba-c2ca-4768-af79-4d92b74ecb22",
      "submission_client": "ListenBrainz plugin for Jellyfin",
      "submission_client_version": "5.0.2.0",
      "tags": [],
      "tracknumber": 1
    },
    "artist_name": "yonige",
    "mbid_mapping": {
      "artist_mbids": [
        "d473a353-c709-408d-b32b-cc4952bdf6d8"
      ],
      "artists": [
        {
          "artist_credit_name": "yonige",
          "artist_mbid": "d473a353-c709-408d-b32b-cc4952bdf6d8",
          "join_phrase": ""
        }
      ],
      "caa_id": 26177270994,
      "caa_release_mbid": "4c2a15fe-d71a-453c-bc81-3993f9bd1fe5",
      "recording_mbid": "df703ae9-430a-4d76-a451-e63208c20386",
      "recording_name": "リボルバー",
      "release_mbid": "4c2a15fe-d71a-453c-bc81-3993f9bd1fe5"
    },
    "release_name": "リボルバー",
    "track_name": "リボルバー"
  },
  "user_name": "redacted"
}

Expected behavior

The plugin should fallback to the release MBID from the album if it isn't set on the track.

OR

The MusicBrainz plugin should be adding release and artist MBIDs to the track.

Actual behavior

No response

Jellyfin logs

No response

Plugin version

5.0.2.0

Jellyfin Version

10.10.3

Additional info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions