Commit Graph

2117 Commits

Author SHA1 Message Date
Jordan Rushing f3fbe5575a Allow SeriesName to be editable from Item Metadata (books) 2026-07-06 15:28:49 -05:00
Cody Robibero d4faf7bd72 Merge pull request #17238 from iderex/fix/dateparse-format-provider
Use InvariantCulture when parsing machine-generated dates
2026-07-05 16:21:56 -04:00
Cody Robibero 6e728b009f Merge pull request #17044 from Shadowghost/version-model-and-handling
Fixes for multi version handling
2026-07-05 16:21:02 -04:00
Nils Lehnen f8ffccae7f Use InvariantCulture when parsing machine-generated dates
DateTime.TryParse without an IFormatProvider falls back to the current
thread culture, so the same string can parse differently (or fail)
depending on the server's locale. None of these call sites deal with
user-entered text - they parse dates that come from filenames, an
HTTP header, ffprobe metadata and values the app itself wrote to the
auth database - so InvariantCulture is the correct provider everywhere
here.

Fixes the S6580 / CA1305 warnings on these call sites.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 23:55:31 +02:00
Cody Robibero e2eaacd239 Merge pull request #17222 from theguymadmax/fix-folder-view
Fix folder view
2026-07-04 10:06:44 -04:00
theguymadmax 08ba3717ea Fix folder view 2026-07-02 14:04:20 -04:00
Shadowghost 38f1d9749e Fix review comments 2026-07-02 08:49:11 +02:00
zachhide 8ffb54603a Fix NullReferenceException in GetStreamingState for closed live streams
When a client polls the HLS playlist (e.g. live.m3u8) after a live stream has
been disposed because its consumer count dropped to zero,
GetLiveStreamWithDirectStreamProvider returns a null MediaSource. The live
branch of GetStreamingState then dereferenced it unconditionally, throwing a
NullReferenceException and returning HTTP 500 for every poll until the client
re-opens the stream. Guard against the null MediaSource and throw
ResourceNotFoundException so the request returns 404 instead of crashing.

Fixes #17009

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:13:51 -04:00
Bond-009 1035f6a101 Merge pull request #15954 from IDisposable/fix/books
Fix Book collections speed issues
2026-06-29 18:05:55 +02:00
Marc Brooks 70b4589382 Fix Book collections scanning all items
Added static method GetBaseItemKindsForCollectionType in ItemsController (moved from ContentFolderImageProvider to be shared)

Added AudioBook to GetRepresentativeItemTypes for CollectionType.books for consistency

Added GetBooks to GetUserItems for CollectionType.books which gets BaseItemKind.Book and BaseItemKind.AudioBook

Move GetBaseItemKindsForCollectionType to DtoExtensions

Cleaned up the missing null checks and used new collection expressions.
Associate Person to Book and AudioBook for related items.
2026-06-26 11:25:58 -05:00
Breno Alvim e41f415594 Use Convert.ToHexStringLower for Schedules Direct password hash 2026-06-23 23:13:33 -03:00
Bond-009 083f9d291a Merge pull request #17094 from moontwister/fix/trailers-nullref-controllercontext-17065
Deprecate the redundant /Trailers endpoint
2026-06-21 19:00:23 +02:00
danne e75161c557 Deprecate the redundant /Trailers endpoint
GET /Trailers is a thin alias for GET /Items with includeItemTypes=Trailer;
it just forwards to the injected ItemsController. Per the PR review the agreed
direction is to deprecate it rather than keep maintaining the delegation.

Mark the action [Obsolete] so it is flagged as deprecated in the OpenAPI spec;
clients should use the GetItems operation with includeItemTypes=Trailer instead.

Re #17065
2026-06-19 07:03:58 +02:00
Shadowghost a9dc8f6f74 Always apply recursive when filters are requested 2026-06-13 18:06:15 +02:00
Shadowghost 95de28cdda Merge remote-tracking branch 'upstream/master' into version-model-and-handling 2026-06-10 08:05:03 +02:00
Shadowghost fbe522592a Include owned items when querying items endpoint 2026-06-07 23:06:48 +02:00
Shadowghost 6c931dcdda Keep the queried item's media source as the playback default 2026-06-07 23:06:48 +02:00
Shadowghost 9ea3f45886 Make resume queries version-aware 2026-06-07 23:06:14 +02:00
Bond-009 4459147788 Merge pull request #16121 from Shadowghost/search-rebased
Implement search providers
2026-06-07 22:56:51 +02:00
Tim Eisele d8d386e88a Apply suggestions from code review
Co-authored-by: Bond-009 <bond.009@outlook.com>
2026-06-07 22:07:35 +02:00
Shadowghost 47f2b3b6d0 Enforce parental filtering on additional endpoints 2026-06-03 19:35:10 +02:00
Bond-009 b71b4cc26f Merge pull request #16999 from Shadowghost/fix-recursive
Only default recursive to true if we have includeItemTypes
2026-06-03 18:16:09 +02:00
Bond-009 52cf8d1ba4 Merge pull request #16994 from theguymadmax/trim-tags
Trim tags
2026-06-02 18:24:08 +02:00
Bond-009 53eda14dcc Merge pull request #16967 from Shadowghost/fix-recently-added-posters
Fix recently added episode links and posters
2026-06-01 21:59:06 +02:00
Shadowghost cc5fb3f1ee Only default recursive to true if we have includeItemTypes 2026-06-01 21:54:49 +02:00
Tim Eisele c7111b7570 Only resolve symlinks on playback (#16965)
Only resolve symlinks on playback
2026-06-01 19:43:25 +02:00
theguymadmax 5ce7170813 Trim tags 2026-05-31 21:13:34 -04:00
Shadowghost a479e145dc Merge remote-tracking branch 'upstream/master' into search-rebased
# Conflicts:
#	Emby.Server.Implementations/Library/LibraryManager.cs
#	Jellyfin.Server.Implementations/Item/PeopleRepository.cs
#	MediaBrowser.Controller/Library/ILibraryManager.cs
#	MediaBrowser.Controller/Persistence/IPeopleRepository.cs
2026-05-30 19:09:11 +02:00
Bond-009 99e9b2310f Merge pull request #16953 from PCEWLKR/fix-configureawait-collectioncontroller
Use ConfigureAwait(false) in CollectionController
2026-05-30 14:32:50 +02:00
Sam Xie c9f71d8531 Add a collection API for Included In feature (#15516)
Add a collection API for `Included In` feature
2026-05-29 20:00:34 +02:00
Shadowghost 5feb70f489 Fix recently added episode links and posters 2026-05-29 10:41:50 +02:00
PCEWLKR d085eb9d87 Use ConfigureAwait(false) in CollectionController.cs to maintain consistency with the existing async pattern 2026-05-27 19:20:21 -04:00
Bond-009 2f17516d4b Merge pull request #16856 from Shadowghost/movie-recommendations
Fix movie recommendations
2026-05-27 20:59:18 +02:00
Bond-009 11130030d2 Backport: Fix/user manager collation (#16919)
Backport: Fix/user manager collation
2026-05-26 20:59:20 +02:00
Shadowghost 1175846120 Merge remote-tracking branch 'upstream/master' into search-rebased 2026-05-24 18:25:12 +02:00
Shadowghost 4361e073ed Add support for filtering playlists by parentId 2026-05-21 22:21:18 +02:00
jakobkukla 37350282cc Run tree-wide dotnet format 2026-05-21 20:48:41 +02:00
Bond-009 4209b3ba51 Add support for filtering boxsets by parentId (#16882) 2026-05-21 19:32:39 +02:00
Ethan Pippin 40485aa2f6 Have device deletion take list of ids (#12834)
* add delete multiple devices via id

* make atomic

* use Add

* Update Jellyfin.Api/Controllers/DevicesController.cs

Co-authored-by: JPVenson <ger-delta-07@hotmail.de>

* remove model binding, use functional device selection

* use singular id

* use BadRequest instead

---------

Co-authored-by: JPVenson <ger-delta-07@hotmail.de>
2026-05-21 19:30:24 +02:00
Bond-009 11ca3ade86 Merge pull request #16855 from Shadowghost/fix-local-plugin-images
Fix integrated provider images
2026-05-21 19:27:46 +02:00
Shadowghost 9dfcc0918f Add support for filtering boxsets by parentId 2026-05-20 11:34:45 +02:00
Bruno Ferreira 2f8bf92fb8 fix: add null check for non-existent program in GetProgram (#16858)
fix: add null check for non-existent program in GetProgram
2026-05-17 14:01:39 +02:00
Shadowghost ea8f6c51fd Merge remote-tracking branch 'upstream/master' into search-rebased 2026-05-16 09:57:06 +02:00
Shadowghost 1fdf58e40f Address review comments 2026-05-16 09:44:36 +02:00
Shadowghost 09e607db99 Fix integrated provider images 2026-05-15 18:42:11 +02:00
Bond-009 9d420271ad Merge pull request #9787 from TheMelmacian/feature/language_filters
New filters for audio and subtitle languages
2026-05-15 15:44:22 +02:00
Shadowghost 97c20e6ac5 Fix movie recommendations 2026-05-15 14:37:01 +02:00
TheMelmacian fae4950ac2 Apply suggestions from code review
Co-authored-by: Bond-009 <bond.009@outlook.com>
2026-05-15 12:00:00 +02:00
Bond-009 8e602f982f Merge pull request #15970 from Shadowghost/similarity
Implement similarity providers
2026-05-15 10:00:53 +02:00
Cody Robibero 0a5a1f135f Add Accept-Language header support and cleanup translations (#16488)
* Add Accept-Language header support for per-request localization

* Use native middleware

* Cleanup

* Add Fallback

* Build BCP47 map reflexively

* Address review comments
2026-05-14 18:57:11 -04:00