lyarenei / jellyfin-plugin-listenbrainz

ListenBrainz plugin for Jellyfin.
MIT License
65 stars 2 forks source link

Fix manual installation path in readme #94

Closed rigrig closed 2 months ago

rigrig commented 2 months ago

I tried manually installing listenbrainz_4.0.0.1.zip from https://github.com/lyarenei/jellyfin-plugin-listenbrainz/pull/93#issuecomment-2067243185 in Jellyfin 10.9, but got this error:

[14:26:57] [ERR] Error creating Jellyfin.Plugin.ListenBrainz.Plugin
Jellyfin.Plugin.ListenBrainz.Exceptions.PluginException: Saving cache failed
 ---> System.IO.DirectoryNotFoundException: Could not find a part of the path '/config/plugins/ListenBrainz_1.0.0.0/cache.json'.
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.File.Create(String path)
   at Jellyfin.Plugin.ListenBrainz.Managers.ListensCacheManager.Save()
   --- End of inner exception stack trace ---
   at Jellyfin.Plugin.ListenBrainz.Managers.ListensCacheManager.Save()
   at Jellyfin.Plugin.ListenBrainz.Managers.ListensCacheManager.get_Instance()
   at Jellyfin.Plugin.ListenBrainz.PluginImplementation..ctor(ILogger logger, IListenBrainzClient listenBrainzClient, IMusicBrainzClient musicBrainzClient, IUserDataManager userDataManager, IUserManager userManager, ILibraryManager libraryManager)
   at Jellyfin.Plugin.ListenBrainz.PluginService..ctor(ISessionManager sessionManager, ILoggerFactory loggerFactory, IHttpClientFactory clientFactory, IUserDataManager userDataManager, ILibraryManager libraryManager, IUserManager userManager)
   at Jellyfin.Plugin.ListenBrainz.Plugin..ctor(IApplicationPaths paths, IXmlSerializer xmlSerializer, ISessionManager sessionManager, ILoggerFactory loggerFactory, IHttpClientFactory clientFactory, IUserDataManager userDataManager, ILibraryManager libraryManager, IUserManager userManager)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.ConstructorMatcher.CreateInstance(IServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider provider, Type instanceType, Object[] parameters)
   at Emby.Server.Implementations.Plugins.PluginManager.CreatePluginInstance(Type type)

Changing the installation path from plugins/Jellyfin.Plugin.ListenBrainz_1.0.0.0 to plugins/ListenBrainz_1.0.0.0 fixed it, so updating the readme to reflect that.

This PR is against the jellyfin-10.9.x branch because that's what I tested, but it looks like it also applies to main.

lyarenei commented 2 months ago

Good catch. Yes, this applies to all local installations, I have it set up for development since forever so I did not really notice. :sweat_smile:

lyarenei commented 2 months ago

Oh, I see. :facepalm:

@rigrig Can you please drop all the commits which are for 10.9 support, so I can merge this to main? Thank you. :)

rigrig commented 2 months ago

@lyarenei Sure. Dropping 10.9 commits from a branch called jellyfin-10.9.x felt like a bad idea though, so I made a new PR against main: https://github.com/lyarenei/jellyfin-plugin-listenbrainz/pull/95