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

Newlines in description, and refresh metadata on whole library always failing immediately #86

Open
BobbyWibowo opened this issue Jul 4, 2023 · 2 comments

Comments

@BobbyWibowo
Copy link

BobbyWibowo commented Jul 4, 2023

All the following takes place on Jellyfin 10.8.10, with YoutubeMetadata 1.0.3.8 (I'm aware that latest version is supposed to be 1.0.3.9, but despite explicitly choosing to install 1.0.3.9 through Jellyfin, the installed plugin always claims that it is 1.0.3.8, so I'm thinking it's a misconfigured version string somewhere)

The server is running EndeavourOS (Arch Linux) x64

Library type is Music Videos, with only YouTubeMetadata as the metadata downloader service


First, are newlines somehow not supported in the description metadata?

Here's an example video: https://www.youtube.com/watch?v=zmS7kzSHuSE
It's supposed to have song timestamps on every new lines

Screenshot of video's description on YouTube

image

But alas, the resulting description in Jellyfin ends up being kinda funky

Screenshot of video's description on Jellyfin

image

Here's a sample for regular anime movies library, using Jellyfin's official AniDB and AniList metadata downloader plugins, which makes me think it's actually supported, perhaps?

Screenshot

image


Additionally, if I do Refresh metadata > Replace all metadata (or Search for missing metadata), on a whole library, it appears to always fail immediately

Logs
[2023-07-05 03:05:55.378 +07:00] [ERR] [47] MediaBrowser.Providers.Music.MusicVideoMetadataService: Error in "YoutubeMetadata"
System.IO.FileNotFoundException: Could not find file '/mnt/data/Videos/YouTube/Genshin Impact - 20210118 - Genshin Impact EP - At the Light of Dawn [BXeQMK7XecU]/Genshin Impact - 20210118 - Genshin_Impact_EP_-_At_the_Light_of_Dawn [BXeQMK7XecU].info.json'.
File name: '/mnt/data/Videos/YouTube/Genshin Impact - 20210118 - Genshin Impact EP - At the Light of Dawn [BXeQMK7XecU]/Genshin Impact - 20210118 - Genshin_Impact_EP_-_At_the_Light_of_Dawn [BXeQMK7XecU].info.json'
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, 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.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.InternalReadAllText(String path, Encoding encoding)
   at Jellyfin.Plugin.YoutubeMetadata.Utils.ReadYTDLInfo(String fpath, CancellationToken cancellationToken)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.AbstractYoutubeLocalProvider`2.GetMetadata(ItemInfo info, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshWithProviders(MetadataResult`1 metadata, TIdType id, MetadataRefreshOptions options, ICollection`1 providers, ItemImageProvider imageService, CancellationToken cancellationToken)
[2023-07-05 03:05:55.386 +07:00] [ERR] [51] MediaBrowser.Providers.Music.MusicVideoMetadataService: Error in "YoutubeMetadata"
System.IO.FileNotFoundException: Could not find file '/mnt/data/Videos/YouTube/Genshin Impact - 20201105 - Jade Moon Upon a Sea of Clouds - Disc 1_ Glazed Moon Over the Tides|Genshin Impact [t1O7LpOTBfM]/Genshin Impact - 20201105 - Jade_Moon_Upon_a_Sea_of_Clouds_-_Disc_1__Glazed_Moon_Over_the_Tides|Genshin_Impact [t1O7LpOTBfM].info.json'.
File name: '/mnt/data/Videos/YouTube/Genshin Impact - 20201105 - Jade Moon Upon a Sea of Clouds - Disc 1_ Glazed Moon Over the Tides|Genshin Impact [t1O7LpOTBfM]/Genshin Impact - 20201105 - Jade_Moon_Upon_a_Sea_of_Clouds_-_Disc_1__Glazed_Moon_Over_the_Tides|Genshin_Impact [t1O7LpOTBfM].info.json'
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, 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.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.InternalReadAllText(String path, Encoding encoding)
   at Jellyfin.Plugin.YoutubeMetadata.Utils.ReadYTDLInfo(String fpath, CancellationToken cancellationToken)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.AbstractYoutubeLocalProvider`2.GetMetadata(ItemInfo info, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshWithProviders(MetadataResult`1 metadata, TIdType id, MetadataRefreshOptions options, ICollection`1 providers, ItemImageProvider imageService, CancellationToken cancellationToken)
[2023-07-05 03:05:55.392 +07:00] [ERR] [43] MediaBrowser.Providers.Music.MusicVideoMetadataService: Error in "YoutubeMetadata"
System.IO.FileNotFoundException: Could not find file '/mnt/data/Videos/YouTube/Genshin Impact - 20201102 - City of Winds and Idylls - Disc 3_ Saga of the West Wind|Genshin Impact [FYgGSFgWjBw]/Genshin Impact - 20201102 - City_of_Winds_and_Idylls_-_Disc_3__Saga_of_the_West_Wind|Genshin_Impact [FYgGSFgWjBw].info.json'.
File name: '/mnt/data/Videos/YouTube/Genshin Impact - 20201102 - City of Winds and Idylls - Disc 3_ Saga of the West Wind|Genshin Impact [FYgGSFgWjBw]/Genshin Impact - 20201102 - City_of_Winds_and_Idylls_-_Disc_3__Saga_of_the_West_Wind|Genshin_Impact [FYgGSFgWjBw].info.json'
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, 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.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.InternalReadAllText(String path, Encoding encoding)
   at Jellyfin.Plugin.YoutubeMetadata.Utils.ReadYTDLInfo(String fpath, CancellationToken cancellationToken)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.AbstractYoutubeLocalProvider`2.GetMetadata(ItemInfo info, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshWithProviders(MetadataResult`1 metadata, TIdType id, MetadataRefreshOptions options, ICollection`1 providers, ItemImageProvider imageService, CancellationToken cancellationToken)
[2023-07-05 03:05:55.398 +07:00] [ERR] [35] MediaBrowser.Providers.Music.MusicVideoMetadataService: Error in "YoutubeMetadata"
System.IO.FileNotFoundException: Could not find file '/mnt/data/Videos/YouTube/Genshin Impact - 20201102 - City of Winds and Idylls - Disc 2_ The Horizon of Dandelion|Genshin Impact [aeEkatw2Heg]/Genshin Impact - 20201102 - City_of_Winds_and_Idylls_-_Disc_2__The_Horizon_of_Dandelion|Genshin_Impact [aeEkatw2Heg].info.json'.
File name: '/mnt/data/Videos/YouTube/Genshin Impact - 20201102 - City of Winds and Idylls - Disc 2_ The Horizon of Dandelion|Genshin Impact [aeEkatw2Heg]/Genshin Impact - 20201102 - City_of_Winds_and_Idylls_-_Disc_2__The_Horizon_of_Dandelion|Genshin_Impact [aeEkatw2Heg].info.json'
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, 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.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.InternalReadAllText(String path, Encoding encoding)
   at Jellyfin.Plugin.YoutubeMetadata.Utils.ReadYTDLInfo(String fpath, CancellationToken cancellationToken)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.AbstractYoutubeLocalProvider`2.GetMetadata(ItemInfo info, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshWithProviders(MetadataResult`1 metadata, TIdType id, MetadataRefreshOptions options, ICollection`1 providers, ItemImageProvider imageService, CancellationToken cancellationToken)
[2023-07-05 03:05:55.403 +07:00] [ERR] [19] MediaBrowser.Providers.Music.MusicVideoMetadataService: Error in "YoutubeMetadata"
System.IO.FileNotFoundException: Could not find file '/mnt/data/Videos/YouTube/Genshin Impact - 20201102 - City of Winds and Idylls - Disc 1_ City of Winds and Idylls|Genshin Impact [AALrH26HAmw]/Genshin Impact - 20201102 - City_of_Winds_and_Idylls_-_Disc_1__City_of_Winds_and_Idylls|Genshin_Impact [AALrH26HAmw].info.json'.
File name: '/mnt/data/Videos/YouTube/Genshin Impact - 20201102 - City of Winds and Idylls - Disc 1_ City of Winds and Idylls|Genshin Impact [AALrH26HAmw]/Genshin Impact - 20201102 - City_of_Winds_and_Idylls_-_Disc_1__City_of_Winds_and_Idylls|Genshin_Impact [AALrH26HAmw].info.json'
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, 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.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.InternalReadAllText(String path, Encoding encoding)
   at Jellyfin.Plugin.YoutubeMetadata.Utils.ReadYTDLInfo(String fpath, CancellationToken cancellationToken)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.AbstractYoutubeLocalProvider`2.GetMetadata(ItemInfo info, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshWithProviders(MetadataResult`1 metadata, TIdType id, MetadataRefreshOptions options, ICollection`1 providers, ItemImageProvider imageService, CancellationToken cancellationToken)
[2023-07-05 03:05:55.409 +07:00] [ERR] [8] MediaBrowser.Providers.Music.MusicVideoMetadataService: Error in "YoutubeMetadata"
System.IO.FileNotFoundException: Could not find file '/mnt/data/Videos/YouTube/Genshin Impact - 20201107 - EP - Tales Told by the Wind|Genshin Impact [XYumEcnxfKQ]/Genshin Impact - 20201107 - EP_-_Tales_Told_by_the_Wind|Genshin_Impact [XYumEcnxfKQ].info.json'.
File name: '/mnt/data/Videos/YouTube/Genshin Impact - 20201107 - EP - Tales Told by the Wind|Genshin Impact [XYumEcnxfKQ]/Genshin Impact - 20201107 - EP_-_Tales_Told_by_the_Wind|Genshin_Impact [XYumEcnxfKQ].info.json'
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, 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.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.InternalReadAllText(String path, Encoding encoding)
   at Jellyfin.Plugin.YoutubeMetadata.Utils.ReadYTDLInfo(String fpath, CancellationToken cancellationToken)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.AbstractYoutubeLocalProvider`2.GetMetadata(ItemInfo info, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshWithProviders(MetadataResult`1 metadata, TIdType id, MetadataRefreshOptions options, ICollection`1 providers, ItemImageProvider imageService, CancellationToken cancellationToken)
[2023-07-05 03:05:55.409 +07:00] [ERR] [53] MediaBrowser.Providers.Music.MusicVideoMetadataService: Error in "YoutubeMetadata"
System.IO.FileNotFoundException: Could not find file '/mnt/data/Videos/YouTube/Genshin Impact - 20200618 - The Wind and The Star Traveler (Full Version)|Genshin Impact [ol3ViRJlCAI]/Genshin Impact - 20200618 - The_Wind_and_The_Star_Traveler_(Full_Version)|Genshin_Impact [ol3ViRJlCAI].info.json'.
File name: '/mnt/data/Videos/YouTube/Genshin Impact - 20200618 - The Wind and The Star Traveler (Full Version)|Genshin Impact [ol3ViRJlCAI]/Genshin Impact - 20200618 - The_Wind_and_The_Star_Traveler_(Full_Version)|Genshin_Impact [ol3ViRJlCAI].info.json'
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, 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.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.InternalReadAllText(String path, Encoding encoding)
   at Jellyfin.Plugin.YoutubeMetadata.Utils.ReadYTDLInfo(String fpath, CancellationToken cancellationToken)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.AbstractYoutubeLocalProvider`2.GetMetadata(ItemInfo info, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshWithProviders(MetadataResult`1 metadata, TIdType id, MetadataRefreshOptions options, ICollection`1 providers, ItemImageProvider imageService, CancellationToken cancellationToken)
[2023-07-05 03:05:55.415 +07:00] [ERR] [33] MediaBrowser.Providers.Music.MusicVideoMetadataService: Error in "YoutubeMetadata"
System.IO.FileNotFoundException: Could not find file '/mnt/data/Videos/YouTube/Genshin Impact - 20201105 - Jade Moon Upon a Sea of Clouds - Disc 2_ Shimmering Sea of Clouds and Moonlight|Genshin Impact [c0jZ7sPyouE]/Genshin Impact - 20201105 - Jade_Moon_Upon_a_Sea_of_Clouds_-_Disc_2__Shimmering_Sea_of_Clouds_and_Moonlight|Genshin_Impact [c0jZ7sPyouE].info.json'.
File name: '/mnt/data/Videos/YouTube/Genshin Impact - 20201105 - Jade Moon Upon a Sea of Clouds - Disc 2_ Shimmering Sea of Clouds and Moonlight|Genshin Impact [c0jZ7sPyouE]/Genshin Impact - 20201105 - Jade_Moon_Upon_a_Sea_of_Clouds_-_Disc_2__Shimmering_Sea_of_Clouds_and_Moonlight|Genshin_Impact [c0jZ7sPyouE].info.json'
   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
   at Interop.CheckIo(Error error, 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.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.InternalReadAllText(String path, Encoding encoding)
   at Jellyfin.Plugin.YoutubeMetadata.Utils.ReadYTDLInfo(String fpath, CancellationToken cancellationToken)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.AbstractYoutubeLocalProvider`2.GetMetadata(ItemInfo info, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshWithProviders(MetadataResult`1 metadata, TIdType id, MetadataRefreshOptions options, ICollection`1 providers, ItemImageProvider imageService, CancellationToken cancellationToken)
[2023-07-05 03:05:55.545 +07:00] [INF] [51] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.0.110" closed
[2023-07-05 03:05:55.905 +07:00] [INF] [49] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.0.110" request
[2023-07-05 03:05:57.334 +07:00] [ERR] [43] MediaBrowser.Providers.Manager.ProviderManager: Error refreshing item
Constraint: SQLitePCL.pretty.SQLiteException: NOT NULL constraint failed: ItemValues.Type
   at SQLitePCL.pretty.SQLiteException.Throw(Int32 rc, Int32 extended, String msg)
   at SQLitePCL.pretty.SQLiteException.CheckOk(sqlite3 db, Int32 rc)
   at SQLitePCL.pretty.StatementImpl.MoveNext()
   at Emby.Server.Implementations.Data.SqliteItemRepository.InsertItemValues(Byte[] idBlob, List`1 values, IDatabaseConnection db)
   at Emby.Server.Implementations.Data.SqliteItemRepository.UpdateItemValues(Guid itemId, List`1 values, IDatabaseConnection db)
   at Emby.Server.Implementations.Data.SqliteItemRepository.SaveItemsInTransaction(IDatabaseConnection db, IEnumerable`1 tuples)
   at Emby.Server.Implementations.Data.SqliteItemRepository.<>c__DisplayClass34_0.<SaveItems>b__0(IDatabaseConnection db)
   at SQLitePCL.pretty.DatabaseConnection.<>c__DisplayClass20_0.<RunInTransaction>b__0(IDatabaseConnection db)
   at SQLitePCL.pretty.DatabaseConnection.RunInTransaction[T](IDatabaseConnection This, Func`2 f, TransactionMode mode)
   at SQLitePCL.pretty.DatabaseConnection.RunInTransaction(IDatabaseConnection This, Action`1 action, TransactionMode mode)
   at Emby.Server.Implementations.Data.SqliteItemRepository.SaveItems(IEnumerable`1 items, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.LibraryManager.UpdateItemsAsync(IReadOnlyList`1 items, BaseItem parent, ItemUpdateType updateReason, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Video.UpdateToRepositoryAsync(ItemUpdateType updateReason, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.SaveItemAsync(MetadataResult`1 result, ItemUpdateType reason, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshMetadata(BaseItem item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.BaseItem.RefreshMetadata(MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Folder.<>c__DisplayClass68_0.<<RefreshChildMetadata>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at MediaBrowser.Providers.Manager.ProviderManager.RunMetadataRefresh(Func`1 action, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Folder.RefreshChildMetadata(BaseItem child, MetadataRefreshOptions refreshOptions, Boolean recursive, IProgress`1 progress, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Folder.<>c__DisplayClass70_0`1.<<RunTasks>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at MediaBrowser.Controller.Entities.Folder.RunTasks[T](Func`3 task, IList`1 children, IProgress`1 progress, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal2(IProgress`1 progress, Boolean recursive, Boolean refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal(IProgress`1 progress, Boolean recursive, Boolean refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.RefreshCollectionFolderChildren(MetadataRefreshOptions options, CollectionFolder collectionFolder, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.RefreshItem(BaseItem item, MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.StartProcessingRefreshQueue()

For context, the library has some videos with missing metadata in the first place

@BobbyWibowo
Copy link
Author

Ah, I see, AniDB/AniList plugin explicitly uses <br> HTML tag for newlines
And it seems Jellyfin would render the HTML as-is (kind of a strange practice, but it is what it is I guess?)

Screenshot

image

Meanwhile YouTubeMetadata do retain the regular newlines, but Jellyfin clearly don't care about those haha

Screenshot

image

@ankenyr
Copy link
Owner

ankenyr commented Sep 13, 2023

That is a good catch, I never look at the descriptions myself and mostly use this and my accompanying scripts for archival purposes. This would be something that could be fixed if you want to give it a shot. I have little time right now as I am working on a special project. Once that is done I will likely revisit this plugin but until them my time is very limited.

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