John Corser
a888257c82
Project hasImage/hasOverview from DB query
...
Instead of re-checking image/overview on the domain object after loading,
project the values directly from the database query as part of the
anonymous type selection. This avoids redundant checks since the DB
already has this information.
2026-06-28 21:44:46 -04:00
John Corser
d55f808423
Move people filtering to database query
...
Instead of loading all people names and checking each one in memory,
query the database directly for Person items that need refresh:
- Missing primary image OR missing overview
- Not refreshed within the last 30 days
This reduces the operation from N+1 queries (1 for all names + 1 per
person to load) to a single filtered query returning only the IDs that
need work.
2026-06-28 21:44:46 -04:00
John Corser
dc92e3b0e4
Fix actor images not displayed until clicked
...
Move image refresh logic from PeopleValidator (which runs during library
scans) into PeopleValidationTask (the "Refresh People" scheduled task).
This keeps library scans fast while ensuring the scheduled task fetches
missing images from remote providers like TMDB.
People missing a Primary image or overview get refreshed with
MetadataRefreshMode.Default instead of ValidationOnly, with a 30-day
cooldown to avoid hammering providers for people they have no data for.
Fixes jellyfin#8103
2026-06-28 21:44:46 -04:00
Cody Robibero
75d71cb73c
Merge branch 'master' into clean-orphaned-people
2026-06-27 10:02:33 -04:00
Shadowghost
fa07a3abe8
Skip backups whens can is running
2026-06-26 07:34:19 +02:00
Shadowghost
1947296edd
Don't run heavy DB tasks while scan is running
2026-06-25 19:32:36 +02:00
theguymadmax
310a47c1d4
Reorder ValidatePeople
2026-06-19 23:10:32 -04:00
theguymadmax
24886d4849
Remove orphaned people
2026-06-19 13:28:22 -04:00
Shadowghost
59974490cc
Fix MediaSegments for multi versions
2026-06-07 23:06:48 +02:00
Shadowghost
dee63ef3f1
Fix data extraction for alternative versions
2026-06-07 23:06:48 +02:00
jakobkukla
37350282cc
Run tree-wide dotnet format
2026-05-21 20:48:41 +02:00
Shadowghost
077fa89717
Split BaseItemRepository and IItemRepository
2026-03-07 20:12:42 +01:00
Shadowghost
f5d966fcc3
Remove Collection and Playlist cleanup task
2026-02-07 09:37:42 +01:00
Shadowghost
5996c4afce
Complete LinkedChildren integration and batch DTO optimizations
...
This commit integrates remaining performance changes:
- Add batch user data fetching in DtoService to reduce N+1 queries
- Add GetNextUpEpisodesBatch in TVSeriesManager for efficient batch retrieval
- Update Video/Movie/BoxSet to use LibraryManager for alternate versions
- Transition LinkedChild to use ItemId instead of Path (obsolete Path/LibraryItemId)
- Update providers and controllers for LinkedChildren-based references
- Add NextUpEpisodeBatchResult for batched episode queries
- Integrate IDescendantQueryProvider in SqliteDatabaseProvider
2026-01-18 19:48:46 +01:00
karm235
6097045d71
cleanup
2025-10-07 12:20:08 -05:00
karm235
51e20a14c2
Fix LUFS detection deadlock on albums with verbose output
2025-10-07 12:11:02 -05:00
JPVenson
5a6d9180fe
Add People Dedup and multiple progress fixes ( #14848 )
2025-09-24 15:20:30 -06:00
JPVenson
a99e67544a
Reenable pooling ( #14778 )
2025-09-12 13:57:33 -06:00
Bond-009
c7320dc189
Add more robust error handling for AudioNormalizationTask ( #14728 )
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
2025-09-03 21:12:24 -06:00
Shane Powell
71048917dd
AudioNormalizationTask db progress saving ( #14550 )
2025-09-03 21:11:58 -06:00
Evan
29e17b6bc0
Run background ffmpeg tasks as ProcessPriorityClass.BelowNormal
...
Follow TrickPlay example of running other background ffmpeg tasks as ProcessPriorityClass.BelowNormal:
- Keyframe extraction
- Media info probing during library scans
- Audio normalization
- Image extraction
2025-08-15 07:18:44 +08:00
Shane Powell
ba54cda774
Add progress reporting to AudioNormalizationTask. ( #14306 )
2025-07-27 19:27:24 -06:00
JPVenson
0e1be6ce30
Use proper scheduler that honors the parallel task limit ( #14281 )
2025-06-15 15:21:11 -06:00
JPVenson
1c4c9cf733
Fix UserData cleanup task and queries ( #14280 )
2025-06-11 17:30:57 -06:00
Marc Brooks
7037121bd0
chore/typo
...
s/entires/entries
2025-06-09 19:58:25 -05:00
JPVenson
d3ad2aec60
Feature/persistent watch data ( #14262 )
2025-06-09 17:14:27 -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 )
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
2025-05-04 21:21:44 -06:00
Shadowghost
5c9f70c375
Cleanup Tasks and Validators
2025-04-30 09:29:13 +02:00
Tim Eisele
df5671263f
Merge pull request #13847 from Shadowghost/rework-chapter-management
...
Rework chapter management
2025-04-26 14:01:12 +02:00
Cody Robibero
d848faeb75
Merge pull request #13589 from JPVenson/feature/DatabaseRefactor
...
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
[Feature] Database code refactor
2025-03-25 21:34:26 -06:00
JPVenson
160020c551
WIP fixed namespaces
2025-03-25 15:30:22 +00:00
JPVenson
cd5f18a084
Fix Cleanup task not awaiting async methods
2025-03-24 17:23:16 +00:00
JPVenson
feea5af2f3
Merge remote-tracking branch 'jellyfinorigin/master' into feature/DatabaseRefactor
2025-03-01 14:16:49 +00:00
Bond-009
33e8c18136
Backport pull request #13593 from jellyfin/release-10.10.z
...
Wait for ffmpeg to exit on Windows before we try deleting the concat file
Original-merge: 346f36bc09
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2025-02-25 15:32:02 -05:00
JPVenson
17003f4d76
Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider
2025-02-02 02:09:14 +00: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
Joshua M. Boniface
93b8eade61
Merge pull request #12798 from JPVenson/feature/EFUserData
...
Refactor library.db into jellyfin.db and EFCore
2025-01-25 02:08:44 -05:00
Daniyar Alpyspayev
2614fecf8d
move to new System.Threading.Lock type for better performance
2024-12-12 18:10:06 +05:00
JPVenson
fe1aab034e
Merge branch 'jellyfin:master' into feature/EFUserData
2024-12-06 17:59:27 +01:00
Ethan Pippin
06923cbf2b
Implement TaskTriggerInfoType enum ( #12783 )
2024-12-01 17:08:37 -07:00
JPVenson
b09a41ad1f
WIP porting new Repository structure
2024-10-09 10:36:08 +00:00
JPVenson
5ceedced1c
Feature/media segments plugin api ( #12359 )
2024-09-07 14:56:51 -06:00
Shadowghost
994266a54f
Fixup
2024-09-04 17:50:15 +02:00
Shadowghost
08ed0a9a5d
Cleanup tasks
2024-09-04 17:38:10 +02:00
Bond-009
f68038f2cf
Run DeleteTranscodeFileTask on startup ( #12239 )
2024-07-15 08:55:31 -04:00
Bond-009
c666f9d050
Use real temp dir instead of cache dir for temp files ( #12226 )
2024-07-15 08:44:14 -04:00
Shadowghost
6734450d40
Backport pull request #12025 from jellyfin/release-10.9.z
...
Fix empty image folder removal for legacy locations
Original-merge: 476dc01f4d
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2024-06-24 20:28:58 -04:00
Bond-009
ac114b27a9
Backport pull request #11911 from jellyfin/release-10.9.z
...
Log album name and id in normalization task
Original-merge: c9b6ebd94f
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Joshua M. Boniface <joshua@boniface.me >
2024-06-24 20:28:57 -04:00