Commit Graph

262 Commits

Author SHA1 Message Date
Cody Robibero 635fd0433d Merge pull request #17370 from zerafachris/fix/item-update-null-optional-fields
fix: don't throw ArgumentNullException on partial UpdateItem payloads (#17366)
2026-07-21 18:17:22 -04:00
Cody Robibero 370170bab0 Merge pull request #17369 from Shadowghost/harden-startup-wizard
Prevent unauthenticated re-run of the startup wizard on misconfiguration
2026-07-21 18:17:08 -04:00
zerafachris 53e58d8b1b Make ItemUpdateController.UpdateItem internal instead of reflection
Addresses review feedback from @Bond-009 on PR #17370: the test helper
InvokeUpdateItem was invoking the private UpdateItem(BaseItemDto, BaseItem)
method via reflection. Jellyfin.Api.csproj already grants
InternalsVisibleTo("Jellyfin.Api.Tests"), so the method is changed to
internal and the test now calls it directly, removing the
GetMethod/Invoke boilerplate.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-21 08:51:30 +02:00
zerafachris 5cd3d7ebb7 fix: don't throw ArgumentNullException on partial UpdateItem payloads (#17366)
BaseItemDto.Genres, .Tags, and .ProviderIds are plain auto-properties with
no default initializer, so they deserialize to null when a client omits
them from a partial POST /Items/{itemId} body. The OpenAPI spec documents
every BaseItemDto field as optional, but ItemUpdateController.UpdateItem
fed these three properties straight into Distinct()/Select()/ToList()
without a null check, so a request that (for example) only sets Tags
throws ArgumentNullException("source") once it reaches the unguarded
Genres line, before Tags is even processed.

Guard all three assignments with the same "if (request.X is not null)"
pattern already used for the neighboring Studios/Taglines/ProductionLocations
fields in this method, so omitted fields are left unchanged instead of
crashing the request.

Adds ItemUpdateControllerTests covering the reported repro (only Tags
supplied) and a companion case asserting existing Genres/ProviderIds are
preserved when omitted from the payload.

Signed-off-by: zerafachris <christopher.zerafa@blocklabs.io>
2026-07-17 17:20:30 +02:00
Shadowghost 62a5ded920 Prevent unauthenticated re-run of the startup wizard on misconfiguration 2026-07-17 17:14:27 +02:00
Marc Brooks 95cebffa87 Add tests
Also fixed a sibling directory that matches the prefix.
2026-06-28 16:26:35 -05:00
Shadowghost 6c931dcdda Keep the queried item's media source as the playback default 2026-06-07 23:06:48 +02:00
Shadowghost bd70e0ca34 Upgrade to xunit v3 2026-04-19 18:41:39 +02:00
Bond_009 9e480f6efb Update to .NET 10.0 2026-01-14 18:55:47 +01:00
JPVenson fe2596dc0e Add Full system backup feature (#13945) 2025-05-18 18:39:04 -06:00
Bond-009 e9729a536f Use pattern matching for null checks (#13793)
Fix the few that slipped through
2025-03-31 17:38:25 -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 d8030147ff Merge remote-tracking branch 'jellyfinorigin/master' into feature/DatabaseRefactor 2025-02-19 18:25:00 +00:00
Bond-009 2db0750abb Make the JsonConverters for delimited arrays more generic (#13396)
* Make the JsonConverters for delimited arrays more generic

Also adds some tests for serialization (with different types) as we didn't have any before.

* Ignore warnings
2025-02-13 20:24:55 -07:00
JPVenson dfdef511a5 Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider 2025-02-05 18:32:13 +00:00
Bond-009 00b66a06ea Enable nullable for AuthorizationInfo (#13485) 2025-02-04 17:10:39 -07:00
JPVenson aa811eb1e3 Prepared Seperation of Database components for future multi provider support 2025-01-26 20:45:28 +00:00
Bond_009 97a02f5803 Remove BOM from UTF-8 files
I think some people need to change their IDE configuration ;)
2024-08-30 15:29:48 +02:00
thornbill dc2db22c3d Backport pull request #11873 from jellyfin/release-10.9.z
Fix FirstTimeSetupHandler allowing public access

Original-merge: 869dab2ba2

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:41:08 -04:00
thornbill 9a1a588857 Backport pull request #11651 from jellyfin/release-10.9.z
Fix FirstTimeSetupPolicy allowing guest access

Original-merge: 2cb052a119

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

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-17 13:51:44 -04:00
Cody Robibero 92eb9e3a94 Always grant access for Administrator role 2024-04-11 06:11:46 -06:00
beakerandjake d82d025b24 Add unit test for log file not found 2024-02-03 19:10:08 -07:00
Bond_009 7bf831da62 Fix tests 2023-12-18 22:02:31 +01:00
Bond_009 0fd36a5bf1 Fix warnings in test projects 2023-11-14 21:14:23 +01:00
Chris H 3fd505a454 Validate AuthenticationProviderId and PasswordResetProviderId (#10553) 2023-11-10 07:51:44 -07: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 b16033df03 Fix fuzz projects (#10416) 2023-10-22 09:01:51 -06:00
Bond_009 084e0bf450 Fix error in test preventing Moq update (#10096) 2023-08-08 14:17:46 +02:00
Stepan Goremykin 26958162d0 Remove unused using directives 2023-04-06 19:17:28 +02:00
Cody Robibero 4873d2a54d Fix auth endpoints using api key (#9408) 2023-02-27 05:48:37 -07:00
Cody Robibero a527034ebe Validate requested user id (#8812) 2023-02-17 23:16:08 +01:00
Bond_009 60f41b80f6 Verify ContentType of uploaded images 2023-02-16 15:08:01 +01:00
cvium 52e2776d8e Merge branch 'master' into simplify_authz
# Conflicts:
#	Jellyfin.Api/Auth/SyncPlayAccessPolicy/SyncPlayAccessHandler.cs
2023-02-12 22:59:48 +01:00
Bond-009 6fb2fac6e4 Always run code analyzers for tests projects (#9304) 2023-02-12 10:54:55 -07:00
cvium 209edd38a4 refactor: simplify authz 2023-02-09 13:51:37 +01:00
Zoltan Csizmadia e0519189b2 Use Directory.Packages.props (#9135)
Co-authored-by: Zoltan Csizmadia <CsizmadiaZ@valassis.com>
2023-02-04 10:15:08 -07:00
renovate[bot] e408da4651 chore(deps): update dependency microsoft.codeanalysis.bannedapianalyzers to v3.3.4 (#9117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-18 04:16:59 -07:00
Patrick Barron 663854bc1e Update test dependencies (#9094) 2023-01-14 13:15:36 -07:00
Bond_009 227aa0540b Update Microsoft.AspNetCore.Mvc.Testing to 7.0.0 2022-12-07 17:01:28 +01:00
Bond_009 fd9dc1e308 Update deps 2022-12-07 16:56:32 +01:00
Bond_009 236dd650d0 Update projects to .net7 2022-12-07 16:42:05 +01:00
Bond_009 52194f56b5 Replace != null with is not null 2022-12-05 15:01:13 +01:00
dependabot[bot] 266fb2f81c Bump Microsoft.NET.Test.Sdk from 17.3.1 to 17.3.2
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.3.1 to 17.3.2.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v17.3.1...v17.3.2)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 12:01:34 +00:00
Cody Robibero 3716077495 Backport pull request #8433 from jellyfin/release-10.8.z
Update to dotnet 6.0.9

Original-merge: 4ec82ec662

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2022-09-23 23:12:50 -04:00
Cody Robibero 6004060b4e Fix build errors from new warnings 2022-09-09 07:44:14 -06:00
dependabot[bot] 62ef93e2ce Bump xunit from 2.4.1 to 2.4.2
Bumps [xunit](https://github.com/xunit/xunit) from 2.4.1 to 2.4.2.
- [Release notes](https://github.com/xunit/xunit/releases)
- [Commits](https://github.com/xunit/xunit/compare/2.4.1...2.4.2)

---
updated-dependencies:
- dependency-name: xunit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-09 07:44:12 -06:00
dependabot[bot] 1be9eb13ef Bump Moq from 4.18.1 to 4.18.2
Bumps [Moq](https://github.com/moq/moq4) from 4.18.1 to 4.18.2.
- [Release notes](https://github.com/moq/moq4/releases)
- [Changelog](https://github.com/moq/moq4/blob/main/CHANGELOG.md)
- [Commits](https://github.com/moq/moq4/compare/v4.18.1...v4.18.2)

---
updated-dependencies:
- dependency-name: Moq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-09 10:49:52 +00:00
dependabot[bot] a0f873692e Bump Microsoft.NET.Test.Sdk from 17.2.0 to 17.3.1
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.2.0 to 17.3.1.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v17.2.0...v17.3.1)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 15:52:18 +00:00
Cody Robibero 010228b3c0 Backport pull request #8234 from jellyfin/release-10.8.z
update to dotnet 6.0.8

Original-merge: 31f9938e3a

Merged-by: Joshua M. Boniface <joshua@boniface.me>

Backported-by: Joshua Boniface <joshua@boniface.me>
2022-08-13 21:46:35 -04:00