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
a83920c5a7
Merge pull request #17162 from Shadowghost/batch-duplicate-cleanup-deletes
...
Batch duplicate-cleanup deletes in merge migrations
2026-06-27 10:22:11 -04:00
Shadowghost
af82aceadb
Batch duplicate-cleanup deletes in merge migrations
2026-06-22 23:16:47 +02:00
Joshua M. Boniface
b60c535c84
Add progress logging and batch deletion for logs
...
After resolving duplicates the migration deleted all items in one silent
pass (per-id GetItemById plus a single DeleteItemsUnsafeFast), which looks
hung for minutes on large libraries. Delete in batches of 500 and log
progress per batch, which also avoids one oversized delete transaction.
2026-06-21 23:31:25 -04:00
Shadowghost
12f718e7bb
Fix CleanName and CleanValue refresh
2026-06-10 10:09:01 +02:00
Shadowghost
f584759638
Drop linked alternate versions pointing at owned items in migration
...
(cherry picked from commit 40afd403a6 )
2026-06-07 23:06:37 +02:00
Bond-009
ec43ea156e
Merge pull request #16941 from Shadowghost/fix-external-data-pruning
...
Fix external data pruning on item deletion
2026-06-07 20:28:34 +02:00
theguymadmax
a6ae68433a
Re-disable legacy authorization methods by default
2026-05-31 15:12:44 -04:00
Shadowghost
bdb8250300
Fix filename
2026-05-31 20:02:00 +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
a05bde53d4
Fix external data pruning on item deletion
2026-05-26 20:44:03 +02:00
JPVenson
9d20aefd89
Reorder migration handling for extra column
2026-05-15 20:10:33 +00:00
JPVenson
f73fc1feb2
Update filenaming scheme to match EFCore one
2026-05-15 19:03:08 +00:00
Tim Eisele
a9865367d8
Safeguard against invalid GUIDs ( #16813 )
...
Safeguard against invalid GUIDs
2026-05-12 18:12:54 +02:00
Shadowghost
02835c6144
Add People Deduplication
2026-05-09 11:18:05 +02:00
Shadowghost
b7b405dc83
Fix artist duplicates
2026-05-09 02:07:26 +02:00
Bond-009
1bbbc1c823
Merge pull request #16328 from Shadowghost/rating-fix
...
Fix Canadian rating and fallback to unrated if we have a CountryCode but no matching rating
2026-05-06 20:33:58 +02:00
Niels van Velzen
b8e25b49b3
Keep legacy authorization enabled
2026-05-03 22:20:24 +02:00
Shadowghost
070e2b2d0c
Apply review suggestions
2026-04-26 22:30:52 +02:00
Shadowghost
f806ae4018
Fix too many SQL variables error on large libraries
2026-04-19 10:27:47 +02:00
Shadowghost
24a0df9a39
Merge remote-tracking branch 'upstream/master' into perf-rebased
2026-04-07 21:36:07 +02:00
Shadowghost
c008f28d31
Backport pull request #16540 from jellyfin/release-10.11.z
...
CodeQL / Analyze (csharp) (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
OpenAPI Publish / OpenAPI - Publish Artifact (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
Handle folders without associated library in FixLibrarySubtitleDownloadLanguages
Original-merge: be095f85ab
Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-04-06 05:19:33 -04:00
Tim Eisele
ad9ebe5baa
More robust date handling in Library DB migration ( #16474 )
...
* More robust date handling in Library DB migration
* Apply review comment
2026-03-29 12:38:32 +02:00
Shadowghost
bcd5c33ecd
Merge remote-tracking branch 'upstream/master' into perf-rebased
2026-03-11 19:36:37 +01:00
Shadowghost
5882006ee7
Optimize migrations
2026-03-07 21:23:16 +01:00
Shadowghost
077fa89717
Split BaseItemRepository and IItemRepository
2026-03-07 20:12:42 +01:00
Shadowghost
268f23f39a
Fix trickplay generation for parts and alt versions
2026-03-06 00:16:04 +01:00
Shadowghost
d5fb6f99ef
Refresh rating levels
2026-03-02 09:14:34 +01:00
theguymadmax
f680495ca3
Backport pull request #16253 from jellyfin/release-10.11.z
...
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
Merge Conflict Labeler / Labeling (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
Checkpoint WAL before moving library.db in migration
Original-merge: b6a96513de
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-03-01 05:57:23 -05:00
MBR-0001
d2f733f9a4
Backport pull request #16204 from jellyfin/release-10.11.z
...
Fix broken library subtitle download settings
Original-merge: ca57166e95
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-03-01 05:57:22 -05:00
Shadowghost
6ce5f9dfd5
Cleanup folder duplicates of series
2026-02-22 12:34:58 +01:00
Shadowghost
f96c399e62
Fix cleanup for BDMV
2026-02-17 22:59:03 +01:00
Shadowghost
84962cbc94
Cleanup orphan items
2026-02-16 10:06:16 +01:00
Shadowghost
3439d3c017
Migrate PrimaryVersionId to GUID and fix assignment
2026-02-15 23:12:52 +01:00
Shadowghost
837c7d4ed3
Try fixing orphan versions again
2026-02-15 19:49:30 +01:00
Shadowghost
4ce03ffa21
Fix orphaned alt version cleanup
2026-02-15 17:34:06 +01:00
Shadowghost
9730aaac57
Fix ordering of cleanup in migration
2026-02-15 10:32:53 +01:00
Shadowghost
340bcafd3d
Merge remote-tracking branch 'upstream/master' into perf-rebased
2026-02-15 10:14:41 +01:00
Shadowghost
f5c9a4a476
Add cleanup for orphaned versions
2026-02-15 10:14:30 +01:00
dfederm
d8543351e2
Backport pull request #16226 from jellyfin/release-10.11.z
...
Deduplicate provider IDs during MigrateLibraryDb migration
Original-merge: 58c330b63d
Merged-by: Bond-009 <bond.009@outlook.com >
Backported-by: Bond_009 <bond.009@outlook.com >
2026-02-14 05:57:24 -05:00
Shadowghost
edec464306
Handle episode versions in LinkedChild migration
2026-02-09 18:25:07 +01:00
Shadowghost
737abe6f3a
Fix version order in migration
2026-02-09 09:13:05 +01:00
Shadowghost
2420ece5fe
Fix version resolution and scan handling
2026-02-07 19:01:37 +01:00
Shadowghost
98d7c8d59f
Make sure we deduplicate LinkedChildren
2026-02-07 09:37:42 +01:00
Shadowghost
a0346fe5b7
Fix multiple version handling
2026-02-05 01:41:07 +01:00
Shadowghost
09a729effe
Fix tag checks
2026-01-31 23:45:38 +01:00
Shadowghost
dfa78590c2
Add OwnerId fix migration and library options event
...
- Add FixIncorrectOwnerIdRelationships migration routine
- Add LibraryOptionsUpdatedEventArgs for library options changes
2026-01-18 19:47:02 +01:00
Shadowghost
f260585917
Add LinkedChildren data migration routine
...
Migrates existing LinkedChildren data from JSON-serialized Data column
to the new relational LinkedChildren table for boxsets, playlists,
and video alternate versions.
2026-01-18 19:47:02 +01:00
Shadowghost
c350fd0f40
Remove ExtraIds column and use OwnerId relationship for extras
...
- Remove ExtraIds property from BaseItemEntity and BaseItem
- Update RefreshExtras to query via OwnerId instead of cached ExtraIds
- Update GetExtras methods to query database via OwnerIds filter
- Add OwnerIds and ExtraTypes filter support to InternalItemsQuery
- Add filter handling in BaseItemRepository for new query options
- Update HasSpecialFeature/HasTrailer filters to use Extras relationship
- Add CleanupOrphanedExtras migration routine
- Add database migration to drop ExtraIds column
2026-01-18 19:47:02 +01:00
Shadowghost
139d23ddc2
Normalize OwnerId to GUID and add performance indexes
...
- Change OwnerId from string to Guid for proper foreign key relationships
- Add Owner/Extras navigation properties for extras relationship
- Add indexes on OwnerId and ExtraType columns for efficient queries
- Add optimized composite indexes for latest items queries sorted by DateCreated
- Update BaseItemRepository and migration to handle new Guid type
2026-01-18 19:46:37 +01:00