929 Commits

Author SHA1 Message Date
Tim Eisele
5c519270b8
Remove chapters on file change (#14984) 2025-10-13 12:32:41 -06:00
theguymadmax
2b45a984dd
Clean up missing image references (#14962) 2025-10-08 08:23:12 -06:00
Thomas Jones
bf69f9d8a8
Validate wizard-created libraries immediately instead of only doing it after a library refresh was triggered (#14942)
Co-authored-by: Derpipose <90276123+Derpipose@users.noreply.github.com>
2025-10-04 08:58:51 -06:00
theguymadmax
d6cebf1e67
Add tag filtering and random sorting to GetSimilarItems (#14918) 2025-10-01 17:26:48 -06:00
JPVenson
5a6d9180fe
Add People Dedup and multiple progress fixes (#14848) 2025-09-24 15:20:30 -06:00
JPVenson
98f5e21bb8
Fix groupings not applied (#14826) 2025-09-22 15:31:21 -06:00
Tim Eisele
b73ea1b99d
Skip removed images (#14823) 2025-09-20 07:20:21 -06:00
JPVenson
a1b85a63e7
Fix root folder not being saved to Db if nessesary (#14819)
* Fix root folder not being saved to Db if nessesary

* Always update folder to Db
2025-09-19 11:47:41 -06:00
JPVenson
a0b3e2b071
Optimize internal querying of UserData, other fixes (#14795) 2025-09-16 13:08:04 -06:00
Bond-009
8776a447d1
Various cleanups (#14785) 2025-09-12 13:58:23 -06:00
Bond-009
deee04ae38
Add fast path to check for empty ignore files (#14782) 2025-09-12 13:58:02 -06:00
theguymadmax
986a509955
Add 1-second tolerance to resume playback completion check (#14774) 2025-09-11 15:24:23 -06:00
theguymadmax
0845b0c258
Skip non-media folders in movie resolver (#14724)
* Skip non-media folders in movie resolver

* Ignorepatterns first
2025-09-07 13:02:52 +02:00
theguymadmax
d9eaeed61d
Fix latest items grouping by collection type (#14736)
* Fix latest items grouping by collection type

* Update Emby.Server.Implementations/Library/UserViewManager.cs

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

---------

Co-authored-by: Bond-009 <bond.009@outlook.com>
2025-09-05 11:05:37 +02:00
Cody Robibero
bd94ca3071
Merge pull request #14634 from crobibero/itemname-counts 2025-08-12 20:20:54 -06:00
Cody Robibero
beca405ad4 Refactor to pull item counts in a single query 2025-08-11 21:06:04 -06:00
Tim Eisele
0650666497
Always save images (#14600) 2025-08-09 08:24:26 -06:00
Joshua M. Boniface
1262ac31dc
Merge pull request #14410 from dyphire/language
Further refinement of BCP 47 language labeling support
2025-08-03 17:29:40 -04:00
Joshua M. Boniface
0f5bb5cf76
Merge pull request #14540 from TokerX/issue-8641
Improve extra rule resolution and file handling
2025-08-03 17:29:04 -04:00
dyphire
2007815fa6 Further refinement of BCP 47 language labeling support 2025-07-30 22:15:37 +08:00
evan314159
6f49782b7b
fix file modification date comparisons (#14503) 2025-07-27 20:08:06 -06:00
Piyush Rungta
e86315128d
Ignore directory if empty .ignore file is present (#14536) 2025-07-27 19:22:12 -06:00
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