Commit Graph

619 Commits

Author SHA1 Message Date
Lampan-git 78d9fa72e0 fix Missing metadata search where cast has multiple roles 2025-03-15 11:11:30 +01:00
Bond-009 fcdef875a2 Merge pull request #13618 from Lampan-git/fix_people_meta_refresh
Include Role and SortOrder in MergePeople to fix "Search for missing metadata"
2025-03-01 14:55:27 +01:00
Marc Brooks 2da4a2d753 Fix overwrite of PremierDate with a year-only value (#13598)
* Preserve the more-specific PremierDate's month and day

Fixes #13596
2025-03-01 14:53:12 +01:00
Lampan-git a70a09fdb3 save person Role and SortOrder in metadata refresh 2025-02-25 20:10:19 +01:00
Bond_009 9e869b4541 Simplify logic in ProviderManager.SaveImage 2025-02-04 14:56:52 +01:00
Bond_009 4eecfee29f Fall back to calculating mime type from path when needed
Should fix #12593
2025-02-03 17:45:48 +01:00
gnattu 644df3585b Use WriteThrough for ImageSaver
When writing an image to the disk, we use the completion of the async task as a signal indicating the completion of a write operation. However, this approach may not be entirely accurate, as the operating system can optimize IO operations by writing data to an intermediate cache instead of directly to the disk before completing the operation. This optimization can lead to a data race for our scanner, as subsequent tasks such as blurhash computation may attempt to read a file that has not yet been flushed from the volatile cache. Consequently, the data within the file becomes invalid, causing the blurhash computation task to fail.

Use WriteThrough mode to ensure the data is actual on disk before return to resolve this issue.
2025-01-24 07:54:22 +08:00
gnattu e7ac3e3929 Fix missing ConfigureAwait (#13139)
Regression from #12940
2024-12-01 10:57:37 -07:00
gnattu 5769d5ca91 Catch all exceptions for file removal 2024-11-03 23:25:11 +08:00
gnattu 03271c43a7 Throw the exception as is 2024-11-03 16:10:17 +08:00
gnattu bb30d26ffb Use ExceptionDispatchInfo 2024-11-03 04:28:48 +08:00
gnattu e9ee0ef1f5 Remove temp file even when saving failed 2024-11-03 04:11:41 +08:00
gnattu 469bf9d514 Move the remove source implementation into ProviderManager 2024-11-03 02:51:11 +08:00
gnattu 74d2c2addf Remove DynamicImageResponse local image after saved to metadata folder
Previously, local images provided by DynamicImageResponse were never cleaned up until the server was restarted. This issue has become more severe in 10.10, as the default is now set to use the system's native temp folder, which might be a RAM backed tmpfs. This behavior could lead to resource starvation for long-running servers performing multiple library scans.

Metadata plugins prefer the old behavior should do its own backup.
2024-11-02 17:15:00 +08:00
Mikal S. f99e0407fd Don't try to prune images for virtual episodes. (#12909) 2024-10-31 09:40:03 -06:00
Tim Eisele d10406fd75 Pre-fill ParentIndexNumber to preserve it between scans (#12739) 2024-09-28 08:51:48 -06:00
gnattu 90a00e1293 Only remove images in metadata folder by default (#12631) 2024-09-12 13:45:38 -06:00
JPVenson 5ceedced1c Feature/media segments plugin api (#12359) 2024-09-07 14:56:51 -06:00
Cody Robibero b026772764 Move external url listing to provider for plugin use (#12279) 2024-07-17 09:48:31 -04:00
Shadowghost bd3645cbb0 Backport pull request #12055 from jellyfin/release-10.9.z
Fix season backdrops

Original-merge: 2266a00337

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-24 20:29:03 -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
Shadowghost 1c106e8323 Backport pull request #12028 from jellyfin/release-10.9.z
Fix replace all and respect metadata settings

Original-merge: 08b64c5502

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-23 11:40:42 -04:00
Zero King 8caefc2a55 Improve empty list check 2024-06-08 01:06:47 +08:00
Shadowghost 4015ac78cd Backport pull request #11984 from jellyfin/release-10.9.z
Set ProductionLocations instead of Tags

Original-merge: 279cba008b

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-06 14:30:39 -04:00
Shadowghost 0c1c41aeaf Backport pull request #11978 from jellyfin/release-10.9.z
Fallback to local dir when saving to media dir fails

Original-merge: f41efb3b2c

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-06 14:30:37 -04:00
Shadowghost 18dd6b2875 Backport pull request #11934 from jellyfin/release-10.9.z
Fix local image saving

Original-merge: b0bb22b650

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-06 14:30:30 -04:00
Shadowghost f67e327b29 Backport pull request #11921 from jellyfin/release-10.9.z
Fix identify over NFO and replace all when NFO saving enabled

Original-merge: bfcc09db8a

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-06 14:30:29 -04:00
Shadowghost c554321495 Backport pull request #11935 from jellyfin/release-10.9.z
Fix dateadded and movie NFO recognition

Original-merge: 0c039145e5

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-05 17:02:56 -04:00
Shadowghost a705e56acc Backport pull request #11933 from jellyfin/release-10.9.z
Check trailer distinction by URL

Original-merge: b1a5fe2f55

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-05 17:02:55 -04:00
Shadowghost 5d4880c497 Backport pull request #11743 from jellyfin/release-10.9.z
Fix replace logic

Original-merge: 2ddb15c784

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:40:56 -04:00
Shadowghost 39ae56db0a Backport pull request #11804 from jellyfin/release-10.9.z
Exclude virtual items from DateLastMediaAdded calculation

Original-merge: d89e5a0074

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:27 -04:00
Shadowghost 8b938e2696 Backport pull request #11673 from jellyfin/release-10.9.z
Fix local playlist scanning

Original-merge: 26714e2c62

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-17 13:51:50 -04:00
gnattu 77a101cc98 Fix missing season Index (#11472) 2024-05-05 08:21:00 -06:00
Bond-009 d29b85a134 Fix multiple intro providers and remove unneeded ToLists (#11431) 2024-04-25 07:02:01 -06:00
gnattu e4d66f35fd chore: use proper way to override remove root
This is an alternate approach which is more proper, but changes all parts that uses/overrides the original ValidateChildren method

Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-17 14:41:19 +08:00
Cody Robibero 31e0756c0c Only update if actively refreshing (#11341) 2024-04-12 17:45:15 -06:00
Sebastian Held bfc5deb234 fix metadata refresh for artists (#11257) 2024-03-30 10:40:27 -06:00
scampower3 4bcabbde7b Fixes 'replace missing metadata' overwrites existing metadata that does exist (#11136) 2024-03-18 08:39:30 -06:00
Cody Robibero f7f3ad9eb7 Precache livetv program images (#11083)
* Precache livetv program images

* return if cache hit

* use EnsureSuccessStatusCode

* Read proper bytes
2024-03-03 13:32:55 -07:00
Cody Robibero 0bc41c015f Store lyrics in the database as media streams (#9951) 2024-02-26 05:09:40 -07:00
Patrick Barron 8698b90594 Remove SimpleProgress 2024-02-06 09:50:46 -05:00
Cody Robibero e7b8d45bbb Use helper function to compare guid (#10825) 2024-01-17 08:51:39 -07:00
Bond_009 b62b0ec2b5 Fix warnings 2023-11-14 21:14:21 +01:00
Cody Robibero c7a94d48ae Convert ItemSortBy to enum (#9765)
* Convert ItemSortBy to enum

* Rename Unknown to Default
2023-11-09 14:00:13 -07:00
Bond_009 a9ef103c95 Add IDisposableAnalyzers to more projects 2023-11-05 02:01:14 +01:00
Stepan Goremykin 8d7e4229ca Merge branch 'master' into fix-resharper-warnings
# Conflicts:
#	Emby.Server.Implementations/Net/SocketFactory.cs
#	RSSDP/SsdpCommunicationsServer.cs
#	RSSDP/SsdpDeviceLocator.cs
#	RSSDP/SsdpDevicePublisher.cs
2023-10-12 20:11:16 +02:00
Bond_009 d15f6908b0 Empty Guids shouldn't make it into the refresh queue
```
System.ArgumentException: Guid can't be empty (Parameter 'id')
   at Emby.Server.Implementations.Library.LibraryManager.GetItemById(Guid id) in /home/loma/dev/jellyfin/Emby.Server.Implementations/Library/LibraryManager.cs:line 1224
   at MediaBrowser.Providers.Manager.ProviderManager.StartProcessingRefreshQueue() in /home/loma/dev/jellyfin/MediaBrowser.Providers/Manager/ProviderManager.cs:line 983
```
2023-10-10 13:29:16 +02:00
Stepan Goremykin f84469d500 Remove redundant using directives 2023-10-08 00:50:02 +02:00
Bond_009 efc4c305a9 Use CryptoStream to convert stream from base64
Should be way more efficient
2023-10-05 23:36:37 +02:00
Stepan Goremykin ee83e4cca5 Remove redundant method 2023-08-26 17:29:00 +02:00