Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatibility with JF v10.6.0 #11

Closed
UltraHKR opened this issue Jul 25, 2020 · 20 comments
Closed

Incompatibility with JF v10.6.0 #11

UltraHKR opened this issue Jul 25, 2020 · 20 comments

Comments

@UltraHKR
Copy link

I had the plugin running on 10.5.5 x64 working correctly...

But I updated to v10.6.0 x64 and the plugin doesn't register on the plugin page...

[2020-07-25 02:48:01.596 -05:00] [INF] [1] Main: Jellyfin version: "10.6.0"
[2020-07-25 02:48:01.638 -05:00] [INF] [1] Main: Environment Variables: ["[JELLYFIN_LOG_DIR, C:\ProgramData\Jellyfin\Server\log]"]
[2020-07-25 02:48:01.676 -05:00] [INF] [1] Main: Arguments: ["C:\Program Files\Jellyfin\Server\jellyfin.dll", "--service", "--datadir", "C:\ProgramData\Jellyfin\Server"]
[2020-07-25 02:48:01.685 -05:00] [INF] [1] Main: Operating system: "Windows"
[2020-07-25 02:48:01.689 -05:00] [INF] [1] Main: Architecture: X64
[2020-07-25 02:48:01.693 -05:00] [INF] [1] Main: 64-Bit Process: True
[2020-07-25 02:48:01.697 -05:00] [INF] [1] Main: User Interactive: True
[2020-07-25 02:48:01.700 -05:00] [INF] [1] Main: Processor count: 8
[2020-07-25 02:48:01.703 -05:00] [INF] [1] Main: Program data path: "C:\ProgramData\Jellyfin\Server"
[2020-07-25 02:48:01.707 -05:00] [INF] [1] Main: Web resources path: "C:\Program Files\Jellyfin\Server\jellyfin-web"
[2020-07-25 02:48:01.710 -05:00] [INF] [1] Main: Application directory: "C:\Program Files\Jellyfin\Server"
[2020-07-25 02:48:03.488 -05:00] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: "C:\ProgramData\Jellyfin\Server\cache"
[2020-07-25 02:48:03.766 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies
[2020-07-25 02:48:04.917 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Jellyfin.Plugin.Anime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null" from "C:\ProgramData\Jellyfin\Server\plugins\Anime\Jellyfin.Plugin.Anime.dll"
[2020-07-25 02:48:04.995 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Jellyfin.Plugin.Fanart, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null" from "C:\ProgramData\Jellyfin\Server\plugins\Fanart\Jellyfin.Plugin.Fanart.dll"
[2020-07-25 02:48:05.054 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Jellyfin.Plugin.OpenSubtitles, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null" from "C:\ProgramData\Jellyfin\Server\plugins\Open Subtitles\Jellyfin.Plugin.OpenSubtitles.dll"
[2020-07-25 02:48:05.126 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "OpenSubtitlesHandler, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" from "C:\ProgramData\Jellyfin\Server\plugins\Open Subtitles\OpenSubtitlesHandler.dll"
[2020-07-25 02:48:05.198 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Jellyfin.Plugin.TMDbBoxSets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null" from "C:\ProgramData\Jellyfin\Server\plugins\TMDb Box Sets\Jellyfin.Plugin.TMDbBoxSets.dll"
[2020-07-25 02:48:05.335 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Trakt, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null" from "C:\ProgramData\Jellyfin\Server\plugins\Trakt\Trakt.dll"
[2020-07-25 02:48:05.345 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Google.Apis.Auth, Version=1.45.0.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab" from "C:\ProgramData\Jellyfin\Server\plugins\YoutubeMetadata\Google.Apis.Auth.dll"
[2020-07-25 02:48:05.523 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Google.Apis.Auth.PlatformServices, Version=1.45.0.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab" from "C:\ProgramData\Jellyfin\Server\plugins\YoutubeMetadata\Google.Apis.Auth.PlatformServices.dll"
[2020-07-25 02:48:05.528 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Google.Apis.Core, Version=1.45.0.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab" from "C:\ProgramData\Jellyfin\Server\plugins\YoutubeMetadata\Google.Apis.Core.dll"
[2020-07-25 02:48:05.692 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Google.Apis, Version=1.45.0.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab" from "C:\ProgramData\Jellyfin\Server\plugins\YoutubeMetadata\Google.Apis.dll"
[2020-07-25 02:48:05.701 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Google.Apis.YouTube.v3, Version=1.45.0.1905, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab" from "C:\ProgramData\Jellyfin\Server\plugins\YoutubeMetadata\Google.Apis.YouTube.v3.dll"
[2020-07-25 02:48:05.727 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Jellyfin.Plugin.YoutubeMetadata, Version=1.0.2.0, Culture=neutral, PublicKeyToken=null" from "C:\ProgramData\Jellyfin\Server\plugins\YoutubeMetadata\Jellyfin.Plugin.YoutubeMetadata.dll"
[2020-07-25 02:48:05.830 -05:00] [ERR] [1] Emby.Server.Implementations.ApplicationHost: Error loading types from "Jellyfin.Plugin.YoutubeMetadata, Version=1.0.2.0, Culture=neutral, PublicKeyToken=null".
System.TypeLoadException: Could not load type 'MediaBrowser.Controller.Providers.ILocalImageFileProvider' from assembly 'MediaBrowser.Controller, Version=10.6.0.0, Culture=neutral, PublicKeyToken=null'.
at System.Reflection.RuntimeAssembly.GetExportedTypes()
at Emby.Server.Implementations.ApplicationHost.GetTypes(IEnumerable`1 assemblies)+MoveNext()
[2020-07-25 02:48:06.342 -05:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" from "C:\ProgramData\Jellyfin\Server\plugins\YoutubeMetadata\Newtonsoft.Json.dll"
[2020-07-25 02:48:11.754 -05:00] [WRN] [1] Microsoft.EntityFrameworkCore.Model.Validation: The entity type '"AccessSchedule"' is configured to use schema '"jellyfin"'. SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[2020-07-25 02:48:11.760 -05:00] [WRN] [1] Microsoft.EntityFrameworkCore.Model.Validation: The entity type '"ActivityLog"' is configured to use schema '"jellyfin"'. SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[2020-07-25 02:48:11.765 -05:00] [WRN] [1] Microsoft.EntityFrameworkCore.Model.Validation: The entity type '"ImageInfo"' is configured to use schema '"jellyfin"'. SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[2020-07-25 02:48:11.770 -05:00] [WRN] [1] Microsoft.EntityFrameworkCore.Model.Validation: The entity type '"Permission"' is configured to use schema '"jellyfin"'. SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[2020-07-25 02:48:11.775 -05:00] [WRN] [1] Microsoft.EntityFrameworkCore.Model.Validation: The entity type '"Preference"' is configured to use schema '"jellyfin"'. SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
[2020-07-25 02:48:11.780 -05:00] [WRN] [1] Microsoft.EntityFrameworkCore.Model.Validation: The entity type '"User"' is configured to use schema '"jellyfin"'. SQLite does not support schemas. This configuration will be ignored by the SQLite provider.

@ankenyr
Copy link
Owner

ankenyr commented Jul 25, 2020 via email

@ankenyr ankenyr closed this as completed Jul 25, 2020
@UltraHKR
Copy link
Author

UltraHKR commented Jul 26, 2020

Hi, thanks for answering this the the file versions I'm running:
(NOTICE how "Jellyfin.Plugin.YoutubeMetadata.dll" has different File & Product Versions)
MD5 of zip file used 4126A2828204759BC0AA46EA71E17935

Google.Apis.Auth.dll File_Version 1.45.0.0 Product_Version 1.45.0
Google.Apis.Auth.PlatformServices.dll File_Version 1.45.0.0 Product_Version 1.45.0
Google.Apis.Core.dll File_Version 1.45.0.0 Product_Version 1.45.0
Google.Apis.dll File_Version 1.45.0.0 Product_Version 1.45.0
Google.Apis.YouTube.v3.dll File_Version 1.45.0.1905 Product_Version 1.45.0.1905
Jellyfin.Plugin.YoutubeMetadata.dll File_Version **1.0.2.0** Product_Version **1.0.2.1**
Newtonsoft.Json.dll  File_Version 12.0.3.23909 Product_Version  12.0.3+7c3d7f8da7e35dde8fa74188b0decff70f8f10e3

@ankenyr ankenyr reopened this Jul 26, 2020
@ankenyr
Copy link
Owner

ankenyr commented Jul 26, 2020

Confirmed there is an issue, sorry for closing suddenly and thanks for following up!

@ankenyr
Copy link
Owner

ankenyr commented Jul 26, 2020

So took a brief look into it. I don't see how its part of my library since I am not using that interface directly I believe. It may be that I am using something that ends up using that within the server and is broken. Will confirm and if so either patch it on the server or file a bug.

@UltraHKR
Copy link
Author

I think this happening because Jellyfin is using a different DB (SQLite) on 10.6.x.

From https://github.com/jellyfin/jellyfin/releases/tag/v10.6.0
[ALL] This release introduces the first of several major database schema changes as we move to EF Core, specifically to the User and Activity databases. UPON UPGRADING YOUR INSTANCE TO 10.6.0, YOU WILL NOT BE ABLE TO DOWNGRADE TO 10.5.5 OR EARLIER WITHOUT RENAMING AND EDITING MUTIPLE FILES IN MUTIPLE PLACES. Make a backup of your instance before upgrading so downgrades can be a smooth and simple process.

@ankenyr
Copy link
Owner

ankenyr commented Jul 26, 2020

Yea I think this was because I had 10.5 as a dependency even though the csproj now has a floating version?
jf
I am very new to C# so I am not sure, either way building it after changing that (no files changed) it looks to work. Did you build the project yourself or just downloaded the zip?

I am a bit concerned that I did something wrong though as there are a ton of new DLL files included

PS C:\Users\Rob\Desktop\jellyfin-data\plugins\Youtube Metadata> ls

Directory: C:\Users\Rob\Desktop\jellyfin-data\plugins\Youtube Metadata

Mode LastWriteTime Length Name


-a---- 4/2/2020 10:45 AM 123392 Google.Apis.Auth.dll
-a---- 4/2/2020 10:45 AM 5120 Google.Apis.Auth.PlatformServices.dll
-a---- 4/2/2020 10:45 AM 73216 Google.Apis.Core.dll
-a---- 4/2/2020 10:45 AM 78848 Google.Apis.dll
-a---- 4/6/2020 8:12 AM 293888 Google.Apis.YouTube.v3.dll
-a---- 7/20/2020 12:30 AM 61440 Jellyfin.Data.dll
-a---- 7/26/2020 12:12 PM 37089 Jellyfin.Plugin.YoutubeMetadata.deps.json
-a---- 7/26/2020 12:09 PM 29696 Jellyfin.Plugin.YoutubeMetadata.dll
-a---- 7/26/2020 12:09 PM 7716 Jellyfin.Plugin.YoutubeMetadata.pdb
-a---- 7/20/2020 12:30 AM 40448 MediaBrowser.Common.dll
-a---- 7/20/2020 12:35 AM 456192 MediaBrowser.Controller.dll
-a---- 7/20/2020 12:30 AM 359424 MediaBrowser.Model.dll
-a---- 11/12/2018 5:29 PM 76152 Microsoft.AspNetCore.Http.Abstractions.dll
-a---- 11/12/2018 5:28 PM 32120 Microsoft.AspNetCore.Http.Features.dll
-a---- 4/14/2020 10:39 PM 14720 Microsoft.Bcl.AsyncInterfaces.dll
-a---- 11/15/2019 8:38 AM 14408 Microsoft.Bcl.HashCode.dll
-a---- 6/17/2020 7:46 AM 149384 Microsoft.Data.Sqlite.dll
-a---- 6/17/2020 4:37 AM 23424 Microsoft.DotNet.PlatformAbstractions.dll
-a---- 6/17/2020 7:46 AM 20864 Microsoft.EntityFrameworkCore.Abstractions.dll
-a---- 6/17/2020 7:46 AM 1555848 Microsoft.EntityFrameworkCore.dll
-a---- 6/17/2020 7:46 AM 859520 Microsoft.EntityFrameworkCore.Relational.dll
-a---- 6/17/2020 7:46 AM 146824 Microsoft.EntityFrameworkCore.Sqlite.dll
-a---- 6/17/2020 6:46 AM 26504 Microsoft.Extensions.Caching.Abstractions.dll
-a---- 6/17/2020 6:47 AM 32136 Microsoft.Extensions.Caching.Memory.dll
-a---- 6/17/2020 6:47 AM 21376 Microsoft.Extensions.Configuration.Abstractions.dll
-a---- 6/17/2020 6:47 AM 24968 Microsoft.Extensions.Configuration.Binder.dll
-a---- 6/17/2020 6:47 AM 27016 Microsoft.Extensions.Configuration.dll
-a---- 6/17/2020 6:47 AM 37768 Microsoft.Extensions.DependencyInjection.Abstractions.dll
-a---- 6/17/2020 6:48 AM 72584 Microsoft.Extensions.DependencyInjection.dll
-a---- 6/17/2020 4:37 AM 67976 Microsoft.Extensions.DependencyModel.dll
-a---- 6/17/2020 6:48 AM 48520 Microsoft.Extensions.Logging.Abstractions.dll
-a---- 6/17/2020 6:48 AM 34184 Microsoft.Extensions.Logging.dll
-a---- 6/17/2020 6:47 AM 50568 Microsoft.Extensions.Options.dll
-a---- 6/17/2020 6:47 AM 38280 Microsoft.Extensions.Primitives.dll
-a---- 10/9/2019 4:35 PM 75128 Microsoft.Net.Http.Headers.dll
-a---- 11/9/2019 12:56 AM 693680 Newtonsoft.Json.dll
-a---- 11/1/2019 5:24 PM 5120 SQLitePCLRaw.batteries_v2.dll
-a---- 11/1/2019 5:23 PM 46080 SQLitePCLRaw.core.dll
-a---- 11/1/2019 5:23 PM 35840 SQLitePCLRaw.provider.e_sqlite3.dll
-a---- 2/19/2020 10:05 AM 21376 System.Buffers.dll
-a---- 4/14/2020 10:38 PM 180096 System.Collections.Immutable.dll
-a---- 11/15/2019 8:38 AM 78920 System.ComponentModel.Annotations.dll
-a---- 4/14/2020 10:48 PM 51584 System.Diagnostics.DiagnosticSource.dll
-a---- 2/19/2020 10:05 AM 141688 System.Memory.dll
-a---- 5/15/2018 1:29 PM 163464 System.Numerics.Vectors.dll
-a---- 2/21/2020 3:57 AM 16976 System.Runtime.CompilerServices.Unsafe.dll
-a---- 4/14/2020 10:39 PM 55160 System.Text.Encodings.Web.dll
-a---- 4/14/2020 10:39 PM 293240 System.Text.Json.dll
-a---- 2/19/2020 10:05 AM 25984 System.Threading.Tasks.Extensions.dll

@UltraHKR
Copy link
Author

I'm not a programmer so IDK
Glad to help in anyway possible though

I just grab the zip from Releases in GitHub.

@ankenyr
Copy link
Owner

ankenyr commented Jul 27, 2020

Ok so i think what was happening was I was building it against a specific version of jellyfin which was the older version. It never broke because the API's were the same? 10.6 broke some of the API's which was known and fixed but the rebuild was still against the old one.

I also believe a change I made in debugging no longer requires the GoogleAPI files.
If anyone wants to test this before I make a release I attached the DLL here
The SHA256 hash is D9E873B36EBDC8A1ED1825252D100F94112BAB438ED59129B5CCE99F43DC4015
Jellyfin.Plugin.YoutubeMetadata.dll.zip

@Protektor-Desura
Copy link

Any chance of making a plugin repository for this? It can be run off Github. I set one up and it only took about 10-20 minutes to set everything up.

@natcoso9955
Copy link

natcoso9955 commented Aug 12, 2020

@ankenyr I have downloaded your DLL from above and placed into jellyfin. I have updated with my API key, but i seem to be getting the below error, not sure if related or separate issue.

[23:42:26] [ERR] [37] MediaBrowser.Providers.Movies.MovieMetadataService: Error in YouTube Metadata

System.IO.FileNotFoundException: Could not load file or assembly 'Google.Apis.YouTube.v3, Version=1.45.0.1905, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab'. The system cannot find the file specified.


File name: 'Google.Apis.YouTube.v3, Version=1.45.0.1905, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab'

at Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider.GetMetadata(MovieInfo info, CancellationToken cancellationToken)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
at Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider.GetMetadata(MovieInfo info, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)

[23:42:26] [ERR] [37] MediaBrowser.Providers.Manager.ProviderManager: YoutubeMetadataImageProvider failed in GetImageInfos for type Movie

System.IO.FileNotFoundException: Could not load file or assembly 'Google.Apis.YouTube.v3, Version=1.45.0.1905, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab'. The system cannot find the file specified.


File name: 'Google.Apis.YouTube.v3, Version=1.45.0.1905, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab'

@ankenyr
Copy link
Owner

ankenyr commented Aug 12, 2020 via email

@natcoso9955
Copy link

i put only your dll file, thats all it needs right?

@natcoso9955
Copy link

or do i still need to build the file (assuming there is more than i file it creates) and just replace with the above dll?

@ankenyr
Copy link
Owner

ankenyr commented Aug 12, 2020 via email

@ankenyr
Copy link
Owner

ankenyr commented Aug 12, 2020 via email

@natcoso9955
Copy link

You would still need the Google DLLs from the previous version. You could download the latest release version put that in the plug-in, then copy the dll I provided here overwriting the single dll it would replace.

On Wed, Aug 12, 2020, 8:53 AM natcoso9955 @.***> wrote: or do i still need to build the file (assuming there is more than i file it creates) and just replace with the above dll? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#11 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALYWLSHJ446GGBCARADGNLSAK3IRANCNFSM4PHLLLBQ .

Ah right, that makes sense... sorry my derp.

Also i totaly get it, i actually had found this plugin a couple months back and had major issues with it corrupting all movie images in jellyfin. decided to try and come back to it and was actaully going to see if i could fix it myself. lol

Noticed you had put some major work in, so i decided ill test it out again. Once i get it working, ill happily test the loading images and also the loading from json file (read you've fixed that aswell) If thats all good, then for what i need it will be perfect.

Ill update you tomorrow/later today once ive loaded etc.

Thanks.

@ankenyr
Copy link
Owner

ankenyr commented Aug 12, 2020 via email

@natcoso9955
Copy link

appears to be working, appears to pull from local json file the description, and when i include id in title it pulls image. (youtube-dl isnt giving me separate image files, so yours grabbing is a god send).

only down side is the my regular movies library tries to grab data from nfo & youtube, happy to raise a new issue for tracking if you want for that.

@ankenyr
Copy link
Owner

ankenyr commented Aug 13, 2020 via email

@TheFrenchGhosty
Copy link
Contributor

Ok so i think what was happening was I was building it against a specific version of jellyfin which was the older version. It never broke because the API's were the same? 10.6 broke some of the API's which was known and fixed but the rebuild was still against the old one.

I also believe a change I made in debugging no longer requires the GoogleAPI files.
If anyone wants to test this before I make a release I attached the DLL here
The SHA256 hash is D9E873B36EBDC8A1ED1825252D100F94112BAB438ED59129B5CCE99F43DC4015
Jellyfin.Plugin.YoutubeMetadata.dll.zip

I tested it, and it's working perfectly.

@ankenyr ankenyr closed this as completed Aug 24, 2020
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

No branches or pull requests

5 participants