Skip to content

[Issue]: newer Abi shows/installs older targetAbi even if it is not compatible #11331

Description

@jumoog

Please describe your bug

I have my plugin for several Abi versions. So people don't have to change their url and there is only one url. In 10.9 the 10.8.4 versions are offered to me and also automatically updated when there is a new 10.8.4 version.

Jellyfin should only allow minor releases. For example, 10.8.13 allows "targetAbi": "10.8.4.0". 10.9.x should ignore all 10.8.x versions.

Reproduction Steps

  • Add https://raw.githubusercontent.com/jumoog/jellyfin-plugin-repo/main/manifest.json as Plugin source.
  • It shows all Versions
  • Install the newest Version
  • It successfully installs
  • After reboot it shows Status NotSupported

Jellyfin Version

Unstable (master branch)

if other:

jellyfin/jellyfin:2024040805-amd64

Environment

- Virtualization: Docker

Jellyfin logs

[10:36:59] [INF] [54] Emby.Server.Implementations.Plugins.PluginManager: No local manifest exists for plugin Intro Skipper. Skipping manifest reconciliation.
[10:36:59] [INF] [54] Emby.Server.Implementations.Updates.InstallationManager: Plugin installed: Intro Skipper 0.1.16.5
[10:36:59] [INF] [54] Emby.Server.Implementations.ApplicationHost: App needs to be restarted.
[10:37:05] [INF] [57] Emby.Server.Implementations.Session.SessionManager: Sending shutdown notifications
[10:37:05] [INF] [51] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 172.20.0.1 closed
[10:37:05] [INF] [55] Jellyfin.Networking.PortForwardingHost: Stopping NAT discovery
[10:37:05] [INF] [51] Main: Running query planner optimizations in the database... This might take a while
[10:37:05] [INF] [58] Emby.Server.Implementations.IO.LibraryMonitor: Stopping directory watching for path /test
[10:37:05] [INF] [51] Emby.Server.Implementations.ApplicationHost: Disposing CoreAppHost
[10:37:05] [INF] [51] Emby.Server.Implementations.ApplicationHost: Disposing PluginManager
[10:37:05] [INF] [51] Emby.Server.Implementations.ApplicationHost: Disposing MusicBrainzAlbumProvider
[10:37:05] [INF] [51] Emby.Server.Implementations.ApplicationHost: Disposing MusicBrainzArtistProvider
[10:37:06] [INF] [1] Main: Jellyfin version: 10.9.0
[10:37:06] [INF] [1] Main: Environment Variables: ["[JELLYFIN_WEB_DIR, /jellyfin/jellyfin-web]", "[JELLYFIN_FFMPEG, /usr/lib/jellyfin-ffmpeg/ffmpeg]", "[JELLYFIN_LOG_DIR, /config/log]", "[JELLYFIN_CACHE_DIR, /cache]", "[JELLYFIN_CONFIG_DIR, /config/config]", "[JELLYFIN_DATA_DIR, /config]"]
[10:37:06] [INF] [1] Main: Arguments: ["/jellyfin/jellyfin.dll", "--ffmpeg", "/usr/lib/jellyfin-ffmpeg/ffmpeg"]
[10:37:06] [INF] [1] Main: Operating system: Debian GNU/Linux 12 (bookworm)
[10:37:06] [INF] [1] Main: Architecture: X64
[10:37:06] [INF] [1] Main: 64-Bit Process: True
[10:37:06] [INF] [1] Main: User Interactive: True
[10:37:06] [INF] [1] Main: Processor count: 20
[10:37:06] [INF] [1] Main: Program data path: /config
[10:37:06] [INF] [1] Main: Log directory path: /config/log
[10:37:06] [INF] [1] Main: Config directory path: /config/config
[10:37:06] [INF] [1] Main: Cache path: /cache
[10:37:06] [INF] [1] Main: Web resources path: /jellyfin/jellyfin-web
[10:37:06] [INF] [1] Main: Application directory: /jellyfin/
[10:37:06] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /cache
[10:37:07] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies
[10:37:07] [ERR] [1] Emby.Server.Implementations.Plugins.PluginManager: Failed to load assembly /config/plugins/Intro Skipper_0.1.16.5/ConfusedPolarBear.Plugin.IntroSkipper.dll. This error occurs when a plugin references an incompatible version of one of the shared libraries. Disabling plugin
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.RuntimeModule.GetTypes()
   at Emby.Server.Implementations.Plugins.PluginManager.LoadAssemblies()+MoveNext()
System.TypeLoadException: Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
System.TypeLoadException: Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
System.TypeLoadException: Could not load type 'MediaBrowser.Controller.Plugins.IServerEntryPoint' from assembly 'MediaBrowser.Controller, Version=10.9.0.0, Culture=neutral, PublicKeyToken=null'.
[10:37:07] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly LDAP-Auth, Version=18.0.0.0, Culture=neutral, PublicKeyToken=null from /config/plugins/LDAP Authentication_18.0.0.0/LDAP-Auth.dll
[10:37:07] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly Novell.Directory.Ldap.NETStandard, Version=3.6.0.0, Culture=neutral, PublicKeyToken=510c34e9dec7f86f from /config/plugins/LDAP Authentication_18.0.0.0/Novell.Directory.Ldap.NETStandard.dll

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status
    Not A Bug
    Status
    Closed/Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions