Favourite Artists wiped out after Sync with JellyFin media providor

Issue description:

Marking an artist as a favourite in Symphonium works great until I decide to do a sync with Jellyfin. Once the sync completes I have no favourite artists listed in Symphonium.

When I do mark artists as a favourite in Symphonium it is instantly updated on the Jellyfin side and I can see the favourites in JellyFin get marked.

Logs:

Upload description: wiccan2

Additional information:

I have checked on my Jellyfin instance and the artist is still listed as a favourite after a Symphonium sync.

Looking into the JellyFin API the data is available on the get method for “/Artists/{name}” under the “UserData” field.

It also seems to be available on the get method “/Artists” but only if the “enableUserData” parameter is set.

See: Jellyfin - ReDoc

If you need me to run any more tests or change any configurations just let me know.

Reproduction steps:

Steps i captured logs for:

  • Navigate to album artists
  • Open “Black Eyed Peas”
  • Select heart button to mark as favourite
  • Navigate back to the home tab
  • Tap source filter button
  • Scroll to media providers and tap sync on Jellyfin
  • Wait for sync to complete
  • Navigate back to Album Artists
  • Select filter button and select “Only favorites”
  • Tap away from the filter selection to see that no artists are marked as favorite

Media provider:

Jellyfin

Screenshots:

{
      "Name": "Black Eyed Peas",
      "ServerId": "1b521200a1ee4015b2aa8acd1292eb8f",
      "Id": "4f5c51d8509849d50e77dfb07f13f835",
      "DateCreated": "2025-06-26T10:35:05.0000000Z",
      "SortName": "black eyed peas",
      "ChannelId": null,
      "Genres": [
        "Funk",
        "Soul, Hip Hop, Pop",
        "Pop"
      ],
      "RunTimeTicks": 18000000000,
      "ProviderIds": {
        "MusicBrainzArtist": "d5be5333-4171-427e-8e12-732087c6b78e"
      },
      "Type": "MusicArtist",
      "GenreItems": [
        {
          "Name": "Funk",
          "Id": "f8494743d372756a1decb065a8b3778d"
        },
        {
          "Name": "Soul, Hip Hop, Pop",
          "Id": "6f4a1124eced6e65aa7739518d424502"
        },
        {
          "Name": "Pop",
          "Id": "f1f202f389018ad2c0766af4b0fcb155"
        }
      ],
      "UserData": {
        "PlaybackPositionTicks": 0,
        "PlayCount": 0,
        "IsFavorite": false,
        "Played": false,
        "Key": "Artist-Musicbrainz-d5be5333-4171-427e-8e12-732087c6b78e",
        "ItemId": "4f5c51d8509849d50e77dfb07f13f835"
      },
      "Tags": [],
      "ImageTags": {
        "Primary": "df728296fd52cfebb03328dda566cbe3",
        "Logo": "c5b0fd0fde02df2eb0e9463fcfabf29e"
      },
      "BackdropImageTags": [
        "41472fc0f16b591da3229d5228de556c"
      ],
      "ImageBlurHashes": {
        "Backdrop": {
          "41472fc0f16b591da3229d5228de556c": "WMEw8r7Ja2$fEf#T}rofR-f$n~V]i^s9S#s:xFNx$MS1fkxYX8j]"
        },
        "Primary": {
          "df728296fd52cfebb03328dda566cbe3": "e35E$[-;D%j[IU~qxuRjxuM{WBWBof%Mt7M{j[WBRj%MD%t7j[D%of"
        },
        "Logo": {
          "c5b0fd0fde02df2eb0e9463fcfabf29e": "OdRpB]ofofoft7ofj[t7fQfQfQj[fQfQ~qj[WBoLR*ofay"
        }
      },
      "LocationType": "FileSystem",
      "MediaType": "Unknown"
    },

This is what they return when syncing the artist list. As you can see not favorited despite them accepting the favorite command.

During sync that artist is not actually used they nicely return another artist ID (That is the same internally but they refused to enhance the API to address this well known issue)

{
  "Name": "Black Eyed Peas",
  "ServerId": "1b521200a1ee4015b2aa8acd1292eb8f",
  "Id": "4f5c51d8509849d50e77dfb07f13f835",
  "Etag": "ec49807fdd2cc040fdbdd929282a12bd",
  "DateCreated": "2025-06-26T10:35:05.0000000Z",
  "CanDelete": false,
  "CanDownload": false,
  "SortName": "black eyed peas",
  "ExternalUrls": [
    {
      "Name": "MusicBrainz Artist",
      "Url": "https://musicbrainz.org/artist/d5be5333-4171-427e-8e12-732087c6b78e"
    }
  ],
  "ProductionLocations": [
    ""
  ],
  "Path": "/config/metadata/artists/Black Eyed Peas",
  "EnableMediaSourceDisplay": true,
  "ChannelId": null,
  "Taglines": [],
  "Genres": [
    "Funk",
    "Soul, Hip Hop, Pop",
    "Pop"
  ],
  "RunTimeTicks": 18000000000,
  "PlayAccess": "Full",
  "RemoteTrailers": [],
  "ProviderIds": {
    "MusicBrainzArtist": "d5be5333-4171-427e-8e12-732087c6b78e"
  },
  "ParentId": null,
  "Type": "MusicArtist",
  "People": [],
  "Studios": [],
  "GenreItems": [
    {
      "Name": "Funk",
      "Id": "f8494743d372756a1decb065a8b3778d"
    },
    {
      "Name": "Soul, Hip Hop, Pop",
      "Id": "6f4a1124eced6e65aa7739518d424502"
    },
    {
      "Name": "Pop",
      "Id": "f1f202f389018ad2c0766af4b0fcb155"
    }
  ],
  "LocalTrailerCount": 0,
  "UserData": {
    "PlaybackPositionTicks": 0,
    "PlayCount": 0,
    "IsFavorite": true,
    "Played": false,
    "Key": "4f5c51d8-5098-49d5-0e77-dfb07f13f835",
    "ItemId": "4f5c51d8509849d50e77dfb07f13f835"
  },
  "ChildCount": 47,
  "SpecialFeatureCount": 0,
  "DisplayPreferencesId": "184fdd0115d1192d2c763ca9df5e4ccc",
  "Tags": [],
  "PrimaryImageAspectRatio": 1,
  "ImageTags": {
    "Primary": "df728296fd52cfebb03328dda566cbe3",
    "Logo": "c5b0fd0fde02df2eb0e9463fcfabf29e"
  },
  "BackdropImageTags": [
    "41472fc0f16b591da3229d5228de556c"
  ],
  "ImageBlurHashes": {
    "Backdrop": {
      "41472fc0f16b591da3229d5228de556c": "WMEw8r7Ja2$fEf#T}rofR-f$n~V]i^s9S#s:xFNx$MS1fkxYX8j]"
    },
    "Primary": {
      "df728296fd52cfebb03328dda566cbe3": "e35E$[-;D%j[IU~qxuRjxuM{WBWBof%Mt7M{j[WBRj%MD%t7j[D%of"
    },
    "Logo": {
      "c5b0fd0fde02df2eb0e9463fcfabf29e": "OdRpB]ofofoft7ofj[t7fQfQfQj[fQfQ~qj[WBoLR*ofay"
    }
  },
  "LocationType": "FileSystem",
  "MediaType": "Unknown",
  "LockedFields": [],
  "TrailerCount": 0,
  "MovieCount": 0,
  "SeriesCount": 0,
  "ProgramCount": 0,
  "EpisodeCount": 0,
  "SongCount": 39,
  "AlbumCount": 8,
  "ArtistCount": 0,
  "MusicVideoCount": 0,
  "LockData": false
}

That one is actually favorited :wink: But even if the itemIds are the same the keys are not.

TL;DR; Jellyfin artist handling when dealing with MBIDs creates duplicates that their API very very badly handle, and while Symfonium have workaround to try to put pieces together it can’t know the one with the proper data and always default to the one returned from the global listing of artists.

If the second API response you posted is from the global list of artists shouldn’t Symphonium have artists marked as favourites though as that response has the correct field returned and its that response Symphonium is using if its using the global list.

From my understanding of what you posted the app is getting the data needed during the sync but I’m not seeing any artists in favourites in the app, even others that were favourites in JellyFin web. If the global list of artists is updated during sync and those responses have the correct value in the response shouldn’t I have some artists marked as favourite in the app?

Or have I misunderstood something?

Would it help to generate a log of just a sync without me first favouriting something in the app to check if items marked in JellyFin do have the correct value during sync? I could also send a list of expected favourites.

Also why is the key significant, isn’t the item id enough to identify the artist?

The second is not from the search …

It’s because one item said it’s artist was X and that X was not returned in the search so I ask for the details to see what it is and I try to match with one of the artist found if it’s possible or not (It’s sometimes not as the mbib one have name variation)

There is media associated with both ids, I have no way to know the principal, and if there’s a duplicate but no item associated with it I don’t know and so can’t request the other one. And can’t do 3 requests per artists during sync to guess things it would be too slow.

Again this is one of the many well known issue of Jellyfin, it was reported, they have told me absurd reasons to not fix the API, like we don’t add new fields on returns when they added dozens and that as a closed source app author I should die (Paraphrasing but resume the idea).

So I wrote a script to pull the info from the API and from what I can tell if you pull any of the lists of artists from Jellyfin the IsFavorite field will always be false. You only get the correct value when pulling the info for the artist directly by name.

I’ve raised this with JellyFin: /Artists and /Artists/{name} APIs return different values for IsFavorite · Issue #16284 · jellyfin/jellyfin · GitHub

Lets see what happens on their end.

This is probably only true for their duplicated artists internal ids due to mbids.

You can try to add a new single file with a fake artist name and no mbid and I’m pretty sure it will work as before.

They broke so many things with 10.11 and do not seems interested in music.

Any updates? I have the same issue​:pensive_face:

1 Like

See the github link - that’ll have any updates.

Could someone also check this for albums/songs? I’m encountering a suspicious bug where my songs marked as favorites in jellyfin aren’t showing up as favorites in Synfonium, and I suspect it may be related