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

Support for shokofin's VFS #117

Closed
kattjevfel opened this issue Apr 6, 2024 · 1 comment
Closed

Support for shokofin's VFS #117

kattjevfel opened this issue Apr 6, 2024 · 1 comment

Comments

@kattjevfel
Copy link

Describe the bug
Shokofin has recently switched to using a virtual file system for managing the files, this makes it so that the library in Jellyfin (e.g. /mnt/Videos/Anime) and the path for each episode (e.g. /var/lib/jellyfin/plugins/Shokofin/VFS/<very long and detailed name>.mkv) is different. This makes Ani-Sync think the item is in a folder it shouldn't monitor, and skips it.

Logs

Apr 06 15:01:13 jellyfin jellyfin[514484]: [15:01:13] [INF] User policy for kattjävel. EnablePlaybackRemuxing: False EnableVideoPlaybackTranscoding: False EnableAudioPlaybackTranscoding: False
Apr 06 15:01:13 jellyfin jellyfin[514484]: [15:01:13] [INF] StreamBuilder.BuildVideoItem( Profile=Jellyfin MPV Shim, Path=/var/lib/jellyfin/plugins/Shokofin/VFS/692d38d3-314c-635e-ca6b-789b2d810b1c/Wakako-zake (2015) [Shoko Series=261]/Season 01/Wakako-zake (2015) S01E3 [Shoko Series=261] [Shoko File=3941].mkv, AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) media:/videos/936ef11c-cf36-38ad-e67e-5b48a00fd9aa/stream.mkv?MediaSourceId=936ef11ccf3638ade67e5b48a00fd9aa&Static=true&VideoCodec=h264&AudioCodec=flac&AudioStreamIndex=1&SubtitleStreamIndex=2&api_key=<token>&SubtitleMethod=Embed&Tag=2fb4a92b0cfce2af939d3584a84307ab
Apr 06 15:01:13 jellyfin jellyfin[514484]: [15:01:13] [INF] Playback has started. (File=3941)
Apr 06 15:02:50 jellyfin jellyfin[514484]: [15:02:50] [INF] Playback stopped reported by app Jellyfin MPV Shim 2.6.0 playing Monkfish Liver in Ponzu. Stopped at 123970 ms
Apr 06 15:02:50 jellyfin jellyfin[514484]: [15:02:50] [INF] Playback has ended. (File=3941)
Apr 06 15:02:50 jellyfin jellyfin[514484]: [15:02:50] [INF] Item is in a folder the user does not want to be monitored; ignoring
Apr 06 15:02:50 jellyfin jellyfin[514484]: [15:02:50] [INF] User policy for kattjävel. EnablePlaybackRemuxing: False EnableVideoPlaybackTranscoding: False EnableAudioPlaybackTranscoding: False
Apr 06 15:02:50 jellyfin jellyfin[514484]: [15:02:50] [INF] StreamBuilder.BuildVideoItem( Profile=Jellyfin MPV Shim, Path=/var/lib/jellyfin/plugins/Shokofin/VFS/692d38d3-314c-635e-ca6b-789b2d810b1c/Wakako-zake (2015) [Shoko Series=261]/Season 01/Wakako-zake (2015) S01E4 [Shoko Series=261] [Shoko File=3934].mkv, AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) media:/videos/bbda6f52-7fcf-838d-8ff7-42ea6e63c592/stream.mkv?MediaSourceId=bbda6f527fcf838d8ff742ea6e63c592&Static=true&VideoCodec=h264&AudioCodec=flac&AudioStreamIndex=1&SubtitleStreamIndex=2&api_key=<token>&SubtitleMethod=Embed&Tag=2fb4a92b0cfce2af939d3584a84307ab
Apr 06 15:02:50 jellyfin jellyfin[514484]: [15:02:50] [INF] Successfully synced watch state with Shoko. (File=3941)

To Reproduce
Steps to reproduce the behavior:

  1. Set up Shoko
  2. Install Shokofin Unstable with VFS (currently 3.0.1.83)
  3. Set up Ani-Sync
  4. Play an episode
  5. Episode does not sync at end, see log above.

Expected behavior
Being able to set only a specific library to sync and have it work even with the VFS magic shokofin uses.

Desktop (please complete the following information):

  • firefox 124.0.2-1
  • jellyfin 10.8.13
  • Ani-Sync 3.0.0.0

Additional context
Unticking all libraries to have it act on them all does work, but is not ideal.

@vosmiic vosmiic closed this as completed in 1aae4ac Apr 7, 2024
vosmiic added a commit that referenced this issue Apr 7, 2024
fix: fix library check for all items (fixes #117)
@vosmiic
Copy link
Owner

vosmiic commented Apr 7, 2024

I'll be creating a beta version of the plugin with the related fix soon so you don't have to build it yourself

Secozzi added a commit to Secozzi/jellyfin-ani-sync that referenced this issue May 13, 2024
* retrieving anidb id via offset and/or season number

* more accurate anime list detection

* adjusting tvdb metadata detection to use the new anime list detection

* dealing with series without all seasons

* Add build system for the plugin

* Fix build sript

* Omit arm32 build because it has some quirks

* Add usage instructions

* Update docker.yml

* Add info on Docker to README

* Update docker.yml

* Add nightly build

* Add NSFW param to MAL API calls

Fix vosmiic#94

* added nsfw option to config

* appending nsfw parameter if config variable is set

* Add NSFW support for Anilist

* Allow PRs to push packages

* Don't run on forks of PR

Upon further digging, I discovered that it is [impossible](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token) for forks of public repos to write back to the original.

* adding beta manifest

* fixing checksum

* adding beta manifest info

* Fix tag detection

* Finally fix the if-statement for repos

* updating manifest

* fix: anilist page incrementation

The 'variables' dictionary was not being updated with the correct 'page' value in each iteration of the loop, leading to the same page getting request over and over.

* - Update vulnerable nuget packages
- GHSA-9p5f-5x8v-x65m

* fix: do not reset shikimori score on update

* fix: return full anime model for shikimori search

* fix: use graphql api for shikimori provider

* chore: remove JsonConverters.IntToStringConverter

Looks like it’s not necessary.

* fix: if possible, match shikimori series via MAL ID

* setting to public so unit tests can run

* additional null checks

* using chunked graphql query to improve efficiency

* retrieving id directly instead of parsing it from the site url

* increasing sleep duration to guarantee we dont hit 429

* fixing paging variable

* adding unstable manifest

* fix: fix library check for all items (fixes vosmiic#117)

This change should fix the library check for all items, even items that
belong to the library but is not located physically inside the same
directory as the root of the library.

* updating beta manifest

* Changes for Jellyfin 10.9

Co-authored-by: Harshith Mohan <26010946+harshithmohan@users.noreply.github.com>

---------

Co-authored-by: vosmiic <44092756+vosmiic@users.noreply.github.com>
Co-authored-by: PythonCoderAS <13932583+PythonCoderAS@users.noreply.github.com>
Co-authored-by: maclux <tim@geohei.lu>
Co-authored-by: jak <jak@PC>
Co-authored-by: Ivan Trubach <mr.trubach@icloud.com>
Co-authored-by: Mikal Stordal <mikalstordal@gmail.com>
Co-authored-by: Harshith Mohan <26010946+harshithmohan@users.noreply.github.com>
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

2 participants