Commit Graph

907 Commits

Author SHA1 Message Date
Sven Cazier
7785b51f57 Enhance extra rules for video and audio file naming; update tests for new naming conventions 2025-07-26 23:24:58 +02:00
Tim Eisele
a068f75623 Set DateLastSaved after running metadata savers (#14531) 2025-07-25 08:20:19 -06:00
JPVenson
4d5ba8d7a5 Only save images when changed (#14425) 2025-07-07 09:14:01 -06:00
Tim Eisele
c6e568692e Fix modification checks and make sure to use UTC (#14347) 2025-06-26 17:50:37 -06:00
Tim Eisele
9f0f9a276f Fix People Issues (#14284) 2025-06-12 05:21:01 -06:00
Tim Eisele
c22f24319b Properly handle file access issues in some cases (#14272) 2025-06-11 17:31:14 -06:00
Dario Ackermann
d4c3d24e52 fix(collection): Do not lock newly created collections (#14259) 2025-06-09 17:32:31 -06:00
theguymadmax
d7faf9a327 Use filename for single videos (non-movie/null collections) in MovieResolver (#14162) 2025-06-08 19:52:25 -06:00
theguymadmax
0cea039445 Fix media detection for single video files with subfolders (#14140) 2025-05-22 07:05:23 -06:00
Tim Eisele
49c6a99e00 Cleanup external item data cleanup (#14072) 2025-05-09 08:35:29 -06:00
Tim Eisele
d976f13970 Recognize file changes and remove data on change (#13839) 2025-05-04 21:21:44 -06:00
Bond-009
0c3ba30de2 Cleanup file related code (#14023) 2025-05-04 08:40:34 -06:00
theguymadmax
57716833b8 Fix trickplay directory path construction (#14036) 2025-05-02 07:01:23 -06:00
Shadowghost
5c9f70c375 Cleanup Tasks and Validators 2025-04-30 09:29:13 +02:00
Tim Eisele
f576783ae1 Fix distinction queries (#14007) 2025-04-26 18:49:30 -06:00
Tim Eisele
a0b3b7335f Add .gitignore style ignoring (#13906) 2025-04-26 09:35:57 -06:00
JPVenson
8ee358de2c Check for path overlaps (#12832) 2025-04-26 09:30:25 -06:00
Tim Eisele
df5671263f Merge pull request #13847 from Shadowghost/rework-chapter-management
Rework chapter management
2025-04-26 14:01:12 +02:00
Bond-009
f35b8dd33d Merge pull request #13536 from tkloy24/13250-Extras-Delete-Whole-Folder
Fix IsInMixedFolder not being set for Extras
2025-04-26 12:07:45 +02:00
Tim Eisele
6e9e2f500f Fix Genre cleanup (#13916) 2025-04-14 20:43:38 -06:00
Tim Eisele
cad8de9701 Add Genre cleanup and fix cleanup filter queries (#13891) 2025-04-09 18:40:16 -06:00
gnattu
32fe92d8f5 Only reselect audio streams when user preference is respected (#13832) 2025-04-08 19:22:30 -06:00
Tim Eisele
2264d58ae7 Use subdirectories to organize extracted data (#13838)
* Use subdirectories to organize extracted data

* Apply suggestions from code review
2025-04-05 07:53:17 -06:00
Tim Eisele
596b635511 Cleanup extracted files (#13760)
* Cleanup extracted files

* Pagination and fixes

* Add migration for attachments to MigrateLibraryDb

* Unify attachment handling

* Don't extract again if files were already extracted

* Fix MKS attachment extraction

* Always run full extraction on mks

* Don't try to extract mjpeg streams as attachments

* Fallback to check if attachments were extracted to cache folder

* Fixup
2025-04-03 09:17:14 -06:00
JPVenson
a18d60d2de Trim library names (#13828) 2025-04-02 18:19:31 -06:00
Tim Eisele
3fc3b04daf Rework parental ratings (#12615) 2025-03-30 21:51:54 -06:00
Michael McElroy
f02190c394 Fix for Issue #12142: Fix ExtraRuleResolver filtering out top level folders (#12170)
* 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"
2025-03-27 18:18:19 -06:00
Cody Robibero
88ceaa39b0 Implement limiting caches (#13605)
* 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
2025-03-27 18:16:54 -06:00
Tobias Kloy
7717d2e261 Avoid multiple enumerations 2025-03-27 17:51:31 +01:00
Tobias Kloy
b108a8cfc5 Fix IsInMixedFolder not being set for Extras in mixed subfolders 2025-03-27 17:51:31 +01:00
JQ
d06ce1f1e0 Fix only returning one item from /Item/Latest api. (#12492)
* 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
2025-03-26 20:26:47 -06:00
JPVenson
42bdb22bfb Fixed namespaces 2025-03-25 16:45:00 +01:00
JPVenson
160020c551 WIP fixed namespaces 2025-03-25 15:30:22 +00:00
JPVenson
850f1c79f1 Merge branch 'master' into feature/DatabaseRefactor 2025-03-25 15:12:48 +00:00
Tim Eisele
dfb485d1f2 Rework season folder parsing (#11748) 2025-03-23 10:05:40 -06:00
Tim Eisele
8db6a39e92 Remove all DB data on item removal, delete internal trickplay files (#13753) 2025-03-23 10:05:13 -06:00
timminator
350983e03c Fix OnPlaybackStopped task erroring out (#13226) 2025-03-20 07:10:48 -06:00
timminator
c24d0c1240 Respect preferred language when selecting forced subtitles (#13098)
Rework subtitle selection logic
2025-03-18 17:40:06 -06:00
Cody Robibero
85b5bebda4 Add fast-path to getting just the SeriesPresentationUniqueKey for NextUp (#13687)
* Add more optimized query to calculate series that should be processed for next up

* Filter series based on last watched date
2025-03-18 17:37:04 -06:00
JPVenson
feea5af2f3 Merge remote-tracking branch 'jellyfinorigin/master' into feature/DatabaseRefactor 2025-03-01 14:16:49 +00:00
Bond-009
1131b051d8 Backport pull request #13601 from jellyfin/release-10.10.z
Delete children from cache on parent delete

Original-merge: 767a5e6193

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-25 15:32:03 -05:00
Shadowghost
06be4998e1 Backport pull request #13611 from jellyfin/release-10.10.z
Remove empty ParentIndexNumber workaround

Original-merge: 1daf761aec

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-02-25 15:26:47 -05:00
JPVenson
d8030147ff Merge remote-tracking branch 'jellyfinorigin/master' into feature/DatabaseRefactor 2025-02-19 18:25:00 +00:00
Bond_009
ce76817020 Rename CreateOrUpdateItems back to CreateItems
Reverts the name change of this function made in the EFCore PR. This hopefully
reduces the amount of merge conflicts while backporting and makes it consistent
with the CreateItem function.
2025-02-09 18:30:53 +01:00
gnattu
7a5a4ad7da Handle empty image lists gracefully in SplashscreenPostScanTask (#13498)
The current linq will just throw when there is no image candidates. Just pass empty lists to `CreateSplashscreen` as this case is already handled there.
2025-02-09 09:45:16 -07:00
JPVenson
17003f4d76 Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider 2025-02-02 02:09:14 +00:00
sinterdev
ce64dbc034 Removing CollectionFolders from cache when they are deleted on disk. (#13315) 2025-01-30 18:43:37 -07:00
Bond-009
bcdffa74a8 Remove useless checks and dead code (#13405)
* Remove useless checks and dead code

* Enable adaptive bitrate streaming again

* Disable adaptive bitrate streaming by default
2025-01-28 11:29:22 +01:00
JPVenson
aa811eb1e3 Prepared Seperation of Database components for future multi provider support 2025-01-26 20:45:28 +00:00
Josh Soref
044cf9fb85 chore: fix spelling
* a
* acceleration
* addition
* altogether
* api clients
* artist
* associated
* bandwidth
* cannot
* capabilities
* case-insensitive
* case-sensitive
* configuration
* delimiter
* dependent
* diacritics
* directors
* enable
* explicitly
* filters
* finish
* have
* hierarchy
* implicit
* include
* information
* into
* its
* keepalive
* localization
* macos
* manual
* matching
* metadata
* nonexistent
* options
* overridden
* parsed
* parser
* playback
* preferring
* processes
* processing
* provider
* ratings
* retrieval
* running
* segments
* separate
* should
* station
* subdirectories
* superseded
* supported
* system
* than
* the
* throws
* transpose
* valid
* was

link: forum or chat rooms

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-01-25 20:05:15 -05:00