ShokoAnime / Shokofin

Repository for Shokofin, a plugin that brings Shoko to Jellyfin.
https://shokoanime.com
MIT License
149 stars 18 forks source link

Question about VFS #75

Closed DestinyofYeet closed 1 month ago

DestinyofYeet commented 1 month ago

Hi,

Thanks for making this plugin. It works mostly as expected, but I am having issues with the VFS.

My issue is that newly acquired media won't show up in jellyfin, that's why I wanted to ask about how / when VFS adds new media.

I'm assuming it works like this: You drop a file into the import folder of the shoko-server, that scans, hashes the file and grabs it from AniDB. If it finds something from AniDB, shokofin will import it into the VFS no problem. If It doesn't find any matches though, it's marked unrecognized and won't be imported by shokofin. Since the hashes of newly acquired files are usually not uploaded to AniDB yet, I can see how it wouldn't work immediately, but I've had cases where files just won't get recognized at all after multiple days.

I think I found a workaround at somepoint by setting the "Delete Action" in the shoko server to "Mark External (CD/DVD)", then the files showed up, but that doesn't seem to be the case anymore or it worked through some other reason.

I would really like to use the VFS. While I have a Jellyfin-compliant folder layout, the VFS makes getting correct metadata and sorting shows easier. But the inconsistencies of new episodes being imported or not, doesn't make it usable for me.

This might also be really obvious and I'm not seeing it, in that case, please point it out :)

TL;DR:

revam commented 1 month ago

Hi,

Thanks for making this plugin. It works mostly as expected, but I am having issues with the VFS.

My issue is that newly acquired media won't show up in jellyfin, that's why I wanted to ask about how / when VFS adds new media.

The VFS is regenerated at the library level when you either a) run a library scan or b) refresh the library. It is also regenerated on the series, season or episode, or movie level when you refresh one of those entity types.

As long as Shoko knows about the file(s), then we should be able to add them to the VFS on the Shokofin/Jellyfin side. And on the other hand, anything not known by Shoko will — as you've observed — not be added to the VFS. The same also applies to a non-VFS managed library; Unrecognised files will not be added to a library¹.

I'm assuming it works like this: You drop a file into the import folder of the shoko-server, that scans, hashes the file and grabs it from AniDB. If it finds something from AniDB, shokofin will import it into the VFS no problem. If It doesn't find any matches though, it's marked unrecognized and won't be imported by shokofin. Since the hashes of newly acquired files are usually not uploaded to AniDB yet, I can see how it wouldn't work immediately, but I've had cases where files just won't get recognized at all after multiple days.

If they files not recognised on AniDB after multiple days then you should probably add them, since otherwise they probably won't get added any time soon.

If they're recognised by Shoko and won't show up in your Shokofin managed library in Jellyfin — even after multiple library scans — on the other hand, then you should probably check the Jellyfin log to see if the plugin threw while generating the links or whatnot. Just do a quick search for [ERR] in the log and check if it's related to a refresh or library scan, and check the stack trace if it's related to the plugin (or not).

I think I found a workaround at somepoint by setting the "Delete Action" in the shoko server to "Mark External (CD/DVD)", then the files showed up, but that doesn't seem to be the case anymore or it worked through some other reason.

No idea how this would affect Shokofin or the VFS in any way, shape or form, but okay. We don't have any 'mylist is edited' events at all in shoko, so nothing to listen to on the Shokofin side at all.

I would really like to use the VFS. While I have a Jellyfin-compliant folder layout, the VFS makes getting correct metadata and sorting shows easier. But the inconsistencies of new episodes being imported or not, doesn't make it usable for me.

Debugging 101; check the logs for errors if something isn't working. E.g. if you're expecting some episodes to have shown up by a point, skim the log for errors (again, can be easily done by searching for [ERR]) and check if they're related to the Shokofin plugin or if it threw from something else at a bad place causing the file(s) not to be recognised.

This might also be really obvious and I'm not seeing it, in that case, please point it out :)

Have you tried reading our docs before opening this issue? They contain information about how to best experience using Shoko with Jellyfin through the plugin, along with how to best configure the plugin and Jellyfin library for the best compatibility. I'll link some of the related sections for this issue, but I'll advice you to read it all if you haven't already. If the docs can't explain it well enough, then we'll need to improve them, so I'll take this chance to gather feedback from you. 😔

https://docs.shokoanime.com/jellyfin/configuring-shokofin#new-existing-library-settings https://docs.shokoanime.com/jellyfin/configuring-shokofin#vfs https://docs.shokoanime.com/jellyfin/configuring-shokofin#new-existing-library-settings-1 https://docs.shokoanime.com/jellyfin/configuring-shokofin#real-time-monitoring

¹ As long as you've configured the library correctly.

DestinyofYeet commented 1 month ago

¹ As long as you've configured the library correctly.

Ah yes, I wasn't really aware that shokofin was that big of an influence on a library. I thought it was just a metadata provider like any other.

While I did stumble across the docs, I don't think I every fully took the time to read it through :/

I followed the docs' guide to re-create my library and configure shokofin without the VFS, as it doesn't really 100% fit my use case, since I sometimes like to watch episodes when they become available or from some obscure group.

The docs explain it well enough, so I don't think you need to change anything there.

Thanks for your time :)