nicknsy / jellyscrub

Smooth mouse-over video scrubbing previews for Jellyfin.
MIT License
668 stars 27 forks source link

jellyscrub doesnt work with cloudflared on web #95

Closed Gauvino closed 1 year ago

Gauvino commented 1 year ago

Hello,

Im currently using cloudflared (cloudflare tunnel) as a reverse proxy for my homelab and i having a problem where the scrubing preview on the time line doesnt show on the web client but when using something like jellyfin media player it work so i don't know where the problem come and what can i do about it.

Docker : 23.0.1 Jellyfin : 10.8.9 Jellyfin Media player : 1.9.0 Jellyscrub : 1.1.0.0

nicknsy commented 1 year ago

Just to confirm, on Jellyfin Media Player you aren't going through cloudflare? If not, is there a reason you aren't accessing the server directly on web but are on JMP?

If JMP is working through cloudflare, then the problem is likely that the client script wasn't successfully injected on web. Could you paste any lines from the log that refer to script injection?

Gauvino commented 1 year ago

On jellyfin media player I'm using the url with cloudflared so I'm using it and it work.

In the logs I found this and I search on google but the other person having the problem when NFO is checked inside a library but for me I don't have this so I don't know:

[2023-03-13 19:26:42.373 +01:00] [INF] [1] Nick.Plugin.Jellyscrub.JellyscrubPlugin: Attempting to inject trickplay script code in "/usr/share/jellyfin/web/index.html"
[2023-03-13 19:26:42.374 +01:00] [ERR] [1] Nick.Plugin.Jellyscrub.JellyscrubPlugin: Encountered exception while writing to "/usr/share/jellyfin/web/index.html": "System.IO.IOException: Read-only file system : '/usr/share/jellyfin/web/index.html'
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
   at System.IO.StreamWriter.ValidateArgsAndOpenPath(String path, Boolean append, Encoding encoding, Int32 bufferSize)
   at System.IO.File.WriteAllText(String path, String contents)
   at Nick.Plugin.Jellyscrub.JellyscrubPlugin..ctor(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer, ILogger`1 logger, IServerConfigurationManager configurationManager)"
nicknsy commented 1 year ago

So because of your setup jellyscrub is unable to automatically inject the web script and you must manually do so into /usr/share/jellyfin/web/index.html as described in the installation instructions on this GitHub.

Gauvino commented 1 year ago

I'm really sorry I found the problem, I'm using intro-skipper and I didn't know that with the new version I can delete the modified index.html provided by the plugin and that's why the plugin was not able to inject into and after clearing my cache everything works absolutely fine, sorry for taking your time and have a really good day.