Skip to content

Add support for Jellyfin 12 (RC4) - #36

Open
hakito73 wants to merge 2 commits into
firecore:masterfrom
hakito73:agent/jellyfin-12-upstream
Open

Add support for Jellyfin 12 (RC4)#36
hakito73 wants to merge 2 commits into
firecore:masterfrom
hakito73:agent/jellyfin-12-upstream

Conversation

@hakito73

@hakito73 hakito73 commented Aug 5, 2026

Copy link
Copy Markdown

what this fixes

InfuseSync 1.5.2 works with Jellyfin 10.11, but the current Jellyfin build is not compatible with Jellyfin 12.0.0 RC4.

the plugin itself still loads, so at first it looks fine. the problem appears when Infuse starts an incremental sync. StartSync returns 200, but the following UpdatedItems requests fail with HTTP 500 and Jellyfin logs a MissingMethodException.

the cause is the Jellyfin 12 API change around IDtoService.GetBaseItemDtos. Jellyfin 12 also moved to .NET 10, and the method now includes the skipVisibilityCheck parameter, so the call compiled for Jellyfin 10.11 no longer matches what Jellyfin 12 RC4 exposes at runtime.

changes

  • move the Jellyfin project from .NET 9 to .NET 10
  • update the Jellyfin Controller and Model references to 12.0.0-rc4
  • update Microsoft.Data.Sqlite to the .NET 10 version used by this build
  • update the GetBaseItemDtos call for the Jellyfin 12 RC4 API
  • keep visibility checks enabled with skipVisibilityCheck: false

I kept the plugin version at 1.5.2 on purpose. this PR is only about Jellyfin 12 RC4 compatibility, so I prefer to leave the release/version bump to the maintainer if this gets merged.

testing

I tested the patched Jellyfin plugin directly on my server with:

  • Jellyfin 12.0.0 RC4 in Docker
  • Infuse 8.5 on tvOS
  • tvOS 26.6
  • Apple TV 4K 3rd generation, Wi-Fi + Ethernet, 128 GB, model A2843 / AppleTV14,1

before installing the patched DLL, the sync sequence looked like this:

  • StartSync -> HTTP 200
  • UpdatedItems -> HTTP 500
  • Jellyfin logs -> MissingMethodException

after installing the patched DLL:

  • StartSync -> HTTP 200
  • UpdatedItems -> HTTP 200
  • Series -> HTTP 200
  • Season -> HTTP 200
  • Movie / Episode / Video / MusicVideo -> HTTP 200, including pagination
  • Folder -> HTTP 200
  • RemovedItems -> HTTP 200
  • UserData -> HTTP 200
  • CollectionFolder -> HTTP 200

the full incremental sync then completed normally in Infuse and I could no longer reproduce the previous MissingMethodException.

I also checked the build side with the .NET 10 SDK. restore, Release publish and plugin DLL generation all complete successfully.

CI run:
https://github.com/hakito73/InfuseSync/actions/runs/31003228773

note about stable Jellyfin 12

this PR is intentionally tested and pinned against Jellyfin 12.0.0-rc4 because that is the version available and tested here right now.

when Jellyfin 12 stable is released, the package references should be checked again against the stable Jellyfin API before assuming the RC4 build is still compatible.

@hakito73 hakito73 changed the title Agent/jellyfin 12 upstream Add support for Jellyfin 12 RC4 Add support for Jellyfin 12 (RC4) Aug 5, 2026
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