* Fixes cleanup of wrong table in migration
* use dedicated context for each step
* Use prepared Context
* Fix measurement of UserData migration time
* Update logging and combine cleanup to its own stage
* fix people map not logging
migrate only readonly database
* Add id blacklisting in migration to avoid duplicated log entires
* Fix ExtraRuleResolver to stop filtering out libraries where the name of the base folder matches an 'videos extras' rule with an ExtraRuleType of DirectoryName
Currently the ExtraRuleResolver code doesn't know anything about the root folder of the current library. As a result, when we're attempting to add items in a library where the root folder has a name with a match in Emby.Naming.Common.NamingOptions.VideoExtraRules, the entire library is being ignored as a Video Extras folder.
Need to pass in the root folder of the current library to compare to the path of the current item being evaluated, and if we match the current item's folder to the root folder, then we ignore the ExtraRules with a type of DirectoryName and we continue to scan deeper in the library. Filters still apply to subfolders within the library itself.
* Update CONTRIBUTORS.md
* Update Emby.Naming/Video/ExtraRuleResolver.cs
* Update ExtraTests.cs
Add tests for this fix.
Also add missing tests in TestKodiExtras, TestExpandedExtras, and TestSample, and expanded TestDirectories into TestDirectoriesAudioExtras and TestDirectoriesVideoExtras. There were no checks for the theme-music folder name previously.
* Update ExtraTests.cs
Removed unnecessary "using System"
* In MediaBrowser.Model, upgrade System.Text.Json from 8.0.3 (vulnerable - high risk) to 8.0.4
* Update ExtraTests.cs
Remove empty lines in usings
* Revert "In MediaBrowser.Model, upgrade System.Text.Json from 8.0.3 (vulnerable - high risk) to 8.0.4"
* Implement basic expiring cache for LibraryManager
* Add expiring cache to more places
* Rider why
* Make DirectoryService caches static
* Use FastConcurrentLru
* Reduce default cache size
* Simplify DirectoryService caches
* Make directory service cache size at least 128
* Improve SkiaEncoder's font handling
Our previous approach didn’t work with some complex library names, even when the required fonts were present, because the font handling logic was too simplistic. Modern Unicode and the fonts have become quite complex, making it challenging to implement it correctly. This improved implementation still isn’t the most correct way, but it’s better than it used to be. It now falls back to multiple fonts to find the best one and also handles extended grapheme clusters that were incorrectly processed before.
* Fix space
* Remove redundant comment
* Make _typefaces an array
* Make Measure and Draw text function name clear
* Fix rename
Currently, the IChannel interface can deliver channel result folders which are interpreted as series and seasons. However, Jellyfin does not query for the contents of these folders when viewing said serie of season. This results in empty series in the API.
* Updated to EFcore
* Remove unused using
* Dont use DateCreated not from episode type or music type
* use TranslateQuery to filter out instead and then do the grouping and retrival of min and max datecreated instead
* Album also
* Change the order of the ISO-639-2 list
Now the ISO 639-2/T (terminological) comes first (which is the same as the ISO 639-3 code) and the second column is for the ISO 639-2/B (bibliograpihc) code.
The terminological code is derived from the native name for the language while the bibliographic code is more of a "legacy feature" where the code is derived from the English name for the language.
The format of the file is now
ISO 639-2/T (or ISO 639-3) | ISO 639-2/B (where applicable) | ISO 639-1 (two-letter code) | English name | French name
* Sort the ISO list by the first column