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

Subsequent scans split shows apart even is group merging is enabled #62

Closed
1 task done
EraYaN opened this issue Jul 12, 2024 · 3 comments · Fixed by #63
Closed
1 task done

Subsequent scans split shows apart even is group merging is enabled #62

EraYaN opened this issue Jul 12, 2024 · 3 comments · Fixed by #63

Comments

@EraYaN
Copy link
Contributor

EraYaN commented Jul 12, 2024

Jellyfin version.

10.9.7

Shokofin version.

4.0.1.0

Shoko Server version, release channel, and commit hash.

Version 4.2.2.0 (Dev, 2cd0a0f)

File structure of your Media Library Folder in Jellyfin/Import Folder in Shoko Server.

./Anime/Episode 1.avi

Screenshot of the "library settings" section of the plugin settings.

image
Rest is all unchecked in this section

Library Type(s).

Shows

Do the issue persists after creating a library with Shoko set as the only metadata provider? (Now is your time to check if you haven't already.)

  • Yes, I hereby confirm that the issue persists after creating a library with Shoko set as the only metadata provider.

Issue

Initial scan correctly creates shows with the Shoko groups (also seems to work if you use "Replace metadata"), subsequent normal (automated scan) splits the shows apart again.

The logs do seem to report the same group for two series:

[2024-07-11 08:11:08.015 +00:00] [INF] [79] Shokofin.Resolvers.ShokoIgnoreRule: Found shoko group "Hagane no Renkinjutsushi" (Series="9",ExtraSeries=[],Group="120")
[2024-07-11 08:11:08.034 +00:00] [INF] [79] Shokofin.Resolvers.ShokoIgnoreRule: Found shoko group "Hagane no Renkinjutsushi" (Series="20",ExtraSeries=[],Group="120")

But they still end up split up.

Stack Trace

No response

@revam
Copy link
Member

revam commented Jul 12, 2024

@EraYaN do you know if this happens to other libraries not managed by Shokofin?

@revam
Copy link
Member

revam commented Jul 12, 2024

i also asked about this on Matrix a while back, but I didn't really get a proper response;
https://matrix.to/#/!YOoxJKhsHoXZiIHyBG:matrix.org/$7w8iSQetFIEFBFJh5E_9vJ7HG_Fsn6d__Mzu8Qedzx8?via=matrix.org&via=t2bot.io&via=im.jellyfin.org
(Edit: unless we count the 'vaguely remember it's by design' message i got in response.)

@EraYaN
Copy link
Contributor Author

EraYaN commented Jul 13, 2024

Alright so it seems to go wrong because the Custom ProviderId get's unset. This causes the UserDataKeys to change and in the PresentationUniqueKey resetting to default (hex version of the internal ID). https://github.com/jellyfin/jellyfin/blob/master/MediaBrowser.Controller/Entities/TV/Series.cs#L80

@revam revam closed this as completed in 7682a4d Jul 14, 2024
revam added a commit that referenced this issue Jul 14, 2024
So series merging for non-VFS libraries was fixed. Turned out it there is a constraint with how Jellyfin deserialize the provider ids which we didn't meet, because the id **cannot** contain a `=`, and we had one, so it wouldn't set the id used for series merging on normal scans. Other than that, this is a minor release because we now allow disabling the filtering on movie libraries.

 ## Changes since last release

Here are the main changes since the last stable release (4.0.1):

---

`fix`: **Fix mapping for series id on episode model**.

`misc`: **Update exception message**.

`fix`: **Populate all lookup tables before returning**.

`misc`: **Add another extra type conditional**.

`feat`: **Allow disabling the filter for movie libraries**:

- Allow users to disable the filtering done on movie type libraries to keep out anything that's not a movie from the library. Use at your own risk. This essentially allows you to put any series in a movie type library and they will all show up as movies.

`fix`: **Change custom id format**:
Thanks to @EraYaN for the help debugging and finding the root cause of this issue!

- Fixes #62 (Series merging for non-VFS libraries)

- The previous custom id format caused problems because it contained a '=', which is not usable in the id (for now at least).

`fix`: **Change the direct access on ProviderIds**. Thanks to @EraYaN for their contribution.

`fix`: **Add fallback if lookup fails**:

- Added a fallback for when the lookup tables fails. The fallback will be slower, but at least it will provide a value and populate the lookup table for the next time.

- Trimmed trailing whitespaces.

For the full list of changes, please check out the [complete changelog](4.0.1...4.1.0) here on GitHub.
revam added a commit that referenced this issue Jul 14, 2024
So series merging for non-VFS libraries was fixed. Turned out it there is a constraint with how Jellyfin deserialize the provider ids which we didn't meet, because the id **cannot** contain a `=`, and we had one, so it wouldn't set the id used for series merging on normal scans. Other than that, this is a minor release because we now allow disabling the filtering on movie libraries.

 ## Changes since last release

Here are the main changes since the last stable release (4.0.1):

---

`fix`: **Fix mapping for series id on episode model**.

`misc`: **Update exception message**.

`fix`: **Populate all lookup tables before returning**.

`misc`: **Add another extra type conditional**.

`feat`: **Allow disabling the filter for movie libraries**:

- Allow users to disable the filtering done on movie type libraries to keep out anything that's not a movie from the library. Use at your own risk. This essentially allows you to put any series in a movie type library and they will all show up as movies.

`fix`: **Change custom id format**:
Thanks to @EraYaN for the help debugging and finding the root cause of this issue!

- Fixes #62 (Series merging for non-VFS libraries)

- The previous custom id format caused problems because it contained a '=', which is not usable in the id (for now at least).

`fix`: **Change the direct access on ProviderIds**. Thanks to @EraYaN for their contribution.

`fix`: **Add fallback if lookup fails**:

- Added a fallback for when the lookup tables fails. The fallback will be slower, but at least it will provide a value and populate the lookup table for the next time.

- Trimmed trailing whitespaces.

For the full list of changes, please check out the [complete changelog](4.0.1...4.1.0) here on GitHub.
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

Successfully merging a pull request may close this issue.

2 participants