Commit Graph

1391 Commits

Author SHA1 Message Date
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
Cody Robibero ff36b1b417 Merge pull request #17154 from joshuaboniface/enhance-startup-ux
Revamp startup UI for visual style and usability
2026-06-27 09:48:42 -04:00
Joshua M. Boniface 31070e8208 Add a cancelable redirect handoff and drop the transitional migration status
When the server finishes starting, show "Jellyfin started successfully" with a
5-second "Redirecting in N…" countdown and a Cancel button instead of reloading
immediately. Cancel stops the countdown and the background refresh so the
startup output can be reviewed, and offers a "Continue to Jellyfin" button to
reload manually. The buttons use the web client's emby-button styling.

Also drop the transitional "Applying migrations" activity: it only showed
briefly while the pending migration set was read, or for the whole step when
nothing was pending, so startup now goes from "Preparing migrations" straight
into "Running migration X of Y".
2026-06-25 00:42:31 -04:00
Joshua M. Boniface 2c98ad99db Improve UX to fully match Jellyfin dashboards 2026-06-25 00:08:20 -04:00
Shadowghost af82aceadb Batch duplicate-cleanup deletes in merge migrations 2026-06-22 23:16:47 +02:00
Joshua M. Boniface 58e9e3423a Remove server version from page title
This leaks additional information publicly, and is not really
necessary/useful.
2026-06-22 02:32:59 -04:00
Joshua M. Boniface c257fd5004 Make the startup log a bounded, soft-refreshing scrolling viewport
Order the startup log oldest-to-newest inside a height-bounded panel that
scrolls internally and never extends past the bottom of the window. Refresh it
with a background fetch that swaps the log list in place instead of reloading
the whole page, preserving the user's scroll position and only following to the
bottom when they are already there. A full page reload now happens only on the
final transition to the running server or to the error state.
2026-06-22 00:00:38 -04:00
Joshua M. Boniface 0046adda29 Restyle the startup UI and add a generic startup activity line
Restyle the startup/migration holding page to match the Jellyfin dark theme,
with the inline wordmark logo, a gradient spinner and a recolored startup log
tree, and move the Morestachio template rendering into a reusable
StartupUiRenderer.

Add a curated, non-identifying "current activity" line to the always-visible
header (for example "Initializing server" or "Running migration X of Y"),
reported from the startup flow and the migration service so it never leaks
server details to unauthenticated clients. Move the log download into a
"Download logs" link in the log panel header, and show only the header, with
no log hints, to non-local clients.
2026-06-22 00:00:38 -04: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 40afd403a655ada6cfa30b577454bb766ea2099f)
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
jakobkukla 37350282cc Run tree-wide dotnet format 2026-05-21 20:48:41 +02:00
Bond-009 e63bc1e27c Merge pull request #16861 from JPVenson/fix/fixMigrations12.0
Reorder Migrations and fix failing migration
2026-05-21 19:32:57 +02:00
JPVenson 49cc2f7899 Modernize version display in UI (#16862)
Modernize version display in UI
2026-05-21 19:27:55 +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
Shadowghost 95164883c1 Add Fallback 2026-05-12 23:18:38 +02:00
Shadowghost 5cfb379aa6 Use native middleware 2026-05-12 23:18:38 +02:00
Shadowghost 4be3f5f1f9 Add Accept-Language header support for per-request localization 2026-05-12 23:18:38 +02: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 142b89eab5 Merge pull request #16319 from JPVenson/feat/MigrationStartupSwitch
Add startup mode to migrate or seed the database on cmd
2026-05-06 20:38:53 +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 d68d0fa962 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-05-03 13:31:23 +02:00
dwandw 9962fbbe2e fix: IPv6 prefixes not recognized as proxy https://github.com/jellyfin/jellyfin/issues/15710 2026-04-27 07:13:27 +00: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 e71bb7e904 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-04-19 10:23:34 +02:00
Tim Eisele fb33b725e0 Fix in-process restart (#16482)
Fix in-process restart
2026-04-13 20:06:46 +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
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
Joshua M. Boniface 0ba41754d8 Merge pull request #15841 from JanzenJohn/feat/fix-ipv6-crash
fix crashes on devices that don't support ipv6
2026-03-27 13:33:12 -04: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
JPVenson febfd7f94a Stop server immediately on migration only mode 2026-03-01 15:52:22 +00:00
JPVenson 63c4fc297a Update naming 2026-03-01 13:12:51 +00:00
JPVenson e70eaf8bc1 Add startup mode to migrate or seed the database on cmd 2026-03-01 13:10:32 +00:00
theguymadmax f680495ca3 Backport pull request #16253 from jellyfin/release-10.11.z
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