Add support for Jellyfin 12 (RC4) - #36
Open
hakito73 wants to merge 2 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
StartSyncreturns 200, but the followingUpdatedItemsrequests fail with HTTP 500 and Jellyfin logs aMissingMethodException.the cause is the Jellyfin 12 API change around
IDtoService.GetBaseItemDtos. Jellyfin 12 also moved to .NET 10, and the method now includes theskipVisibilityCheckparameter, so the call compiled for Jellyfin 10.11 no longer matches what Jellyfin 12 RC4 exposes at runtime.changes
12.0.0-rc4Microsoft.Data.Sqliteto the .NET 10 version used by this buildGetBaseItemDtoscall for the Jellyfin 12 RC4 APIskipVisibilityCheck: falseI 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:
AppleTV14,1before installing the patched DLL, the sync sequence looked like this:
StartSync-> HTTP 200UpdatedItems-> HTTP 500MissingMethodExceptionafter installing the patched DLL:
StartSync-> HTTP 200UpdatedItems-> HTTP 200the 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-rc4because 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.