Commit graph

29241 commits

Author SHA1 Message Date
Cody Robibero
fb07067f8f
Merge pull request #17140 from theguymadmax/clean-orphaned-people
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Format / format-check (push) Waiting to run
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Artifact (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / main (push) Waiting to run
Remove orphaned people
2026-06-27 10:24:50 -04: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
75d71cb73c
Merge branch 'master' into clean-orphaned-people 2026-06-27 10:02:33 -04:00
Cody Robibero
c158418e0b
Merge pull request #17013 from dfederm/dfederm/fix-jellyfin-16899
Reject unsafe plugin package names in installer
2026-06-27 10:00:00 -04:00
Cody Robibero
cbef19c313
Merge pull request #16914 from danieltutuianu/fix/livetv-channel-icon-refresh
Live TV: re-fetch channel icons on guide refresh
2026-06-27 09:52:51 -04:00
Cody Robibero
fc13a7ca7d
Merge pull request #17174 from obrenoalvim/fix/use-tohexstringlower
Use Convert.ToHexStringLower for Schedules Direct password hash
2026-06-27 09:48:59 -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
Cody Robibero
9ec19b8244
Merge pull request #17134 from theguymadmax/replace-embedded-lyrics
Fix embedded lyrics not updating on replace all refresh
2026-06-27 09:48:34 -04:00
Cody Robibero
ed5e868a6b
Merge pull request #17187 from Shadowghost/fix-localization-lookup
Fix localization lookup
2026-06-27 09:46:45 -04:00
Cody Robibero
58de9b7a99
Merge pull request #17178 from jellyfin/fix-livetv-sessions
Fix Live TV tuner not releasing
2026-06-27 09:20:00 -04:00
Cody Robibero
aa037c748a
Merge pull request #17188 from Shadowghost/fix-local-plugins
Fix local Comic book plugin registration
2026-06-27 09:18:00 -04:00
Cody Robibero
1efdad3443
Merge pull request #17182 from Shadowghost/vacuum-noscan
Don't run heavy DB tasks while scan is running
2026-06-27 09:14:49 -04:00
Manuel Cid
f2ed842b4b Translated using Weblate (Galician)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Format / format-check (push) Waiting to run
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Artifact (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / main (push) Waiting to run
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/gl/
2026-06-27 06:45:32 +00:00
Shadowghost
c2cb18a9d1 Fix local plugin registration 2026-06-26 11:42:28 +02:00
Shadowghost
f398b6d08b Fix localization lookup 2026-06-26 08:20:55 +02:00
Shadowghost
fa07a3abe8 Skip backups whens can is running 2026-06-26 07:34:19 +02:00
cloudharps
b9db4566a7 Translated using Weblate (Korean)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Format / format-check (push) Waiting to run
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Artifact (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / main (push) Waiting to run
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/ko/
2026-06-26 04:51:39 +00:00
Joshua M. Boniface
d71b17fcc7
Merge pull request #17153 from joshuaboniface/fix-FixIncorrectOwnerIdRelationships
Fix too many SQL variables in DeleteItem for large batch deletes
2026-06-26 00:51:36 -04:00
Shadowghost
1947296edd Don't run heavy DB tasks while scan is running 2026-06-25 19:32:36 +02: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
theguymadmax
e26f4a1005 Fix Live TV tuner not releasing 2026-06-24 22:30:12 -04:00
Breno Alvim
e41f415594 Use Convert.ToHexStringLower for Schedules Direct password hash 2026-06-23 23:13:33 -03:00
nextlooper42
987744529a Translated using Weblate (Slovak)
Some checks failed
CodeQL / Analyze (push) Has been cancelled
Format / format-check (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
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / main (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Has been cancelled
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sk/
2026-06-23 08:15:55 +00:00
engineer948
917244ab1d Translated using Weblate (Azerbaijani)
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/az/
2026-06-23 07:55:24 +00:00
Shadowghost
af82aceadb Batch duplicate-cleanup deletes in merge migrations 2026-06-22 23:16:47 +02:00
engineer948
7f2cd5cf57 Added translation using Weblate (Azerbaijani)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Format / format-check (push) Waiting to run
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Artifact (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / main (push) Waiting to run
2026-06-22 21:09:26 +00: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
Jensen
da2b994fff Translated using Weblate (English (United States))
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Format / format-check (push) Waiting to run
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Artifact (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / main (push) Waiting to run
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/en_US/
2026-06-22 06:20:06 +00:00
Jensen
7f7e4dfa40 Added translation using Weblate (English (United States)) 2026-06-22 04:52:24 +00: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
Joshua M. Boniface
069eb40ebf Fix too many SQL variables in DeleteItem for large batch deletes
The FixIncorrectOwnerIdRelationships migration deletes all duplicate
items in a single DeleteItemsUnsafeFast -> DeleteItem(ids) call. Inside
DeleteItem, the owned-extras lookup used a raw HashSet.Contains, which EF
inlines as one SQL variable per id and overflows SQLite's variable limit
on large libraries. Use WhereOneOrMany so the id set is bound as a single
json_each parameter, like the rest of the method, making bulk deletes
work for unlimited library sizes.
2026-06-21 23:03:45 -04:00
Bond-009
4e80648fd3
Merge pull request #17146 from theguymadmax/fix-identify-search
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Format / format-check (push) Waiting to run
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Artifact (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / main (push) Waiting to run
Fix Identify returning wrong results
2026-06-21 19:03:52 +02:00
Bond-009
f08a3f9fd9
Merge pull request #17090 from moontwister/fix/audio-sample-rate-non-opus-17026
Fix audio sample rate forced to 48 kHz for non-Opus codecs
2026-06-21 19:01:18 +02: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
e4383493a9 Fix audio sample rate forced to 48 kHz for non-Opus codecs
GetProgressiveAudioFullCommandLine applied the libopus-only sample rate
quantization to every codec except Opus, inverting the intended guard.
A requested rate such as 44100 Hz was therefore snapped to 48000 Hz for
AAC/MP3/FLAC, while Opus (which actually requires the quantization) was
skipped entirely.

Apply the quantization only when the output codec is Opus, and pass the
requested sample rate through unchanged for all other codecs.

Fixes #17026

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 09:43:31 +02:00
theguymadmax
ce58e4400e Fix Identify returning wrong results 2026-06-20 22:30:52 -04:00
Bond-009
3741d71965
Merge pull request #17116 from theguymadmax/fix-root-folder-parsing
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Format / format-check (push) Waiting to run
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Artifact (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / main (push) Waiting to run
2026-06-21 00:10:26 +02:00
Žiga Ules
11f642594d Translated using Weblate (Slovenian)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Format / format-check (push) Waiting to run
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Artifact (push) Waiting to run
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / main (push) Waiting to run
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/sl/
2026-06-20 12:46:03 +00:00
AfmanS
8d15529df7 Translated using Weblate (Portuguese (Portugal))
Translation: Jellyfin/Jellyfin
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-core/pt_PT/
2026-06-20 12:46:03 +00:00
theguymadmax
310a47c1d4 Reorder ValidatePeople 2026-06-19 23:10:32 -04:00
theguymadmax
24886d4849 Remove orphaned people 2026-06-19 13:28:22 -04: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
theguymadmax
c6c72f30ec Fix embedded lyrics not updating on replace-all refresh 2026-06-18 18:14:10 -04:00
Bond-009
308981cc0d
Merge pull request #14935 from JadedRain/master
Some checks failed
CodeQL / Analyze (push) Has been cancelled
Format / format-check (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
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / main (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Has been cancelled
Fixed "Deleting media that is still being watched in SyncPlay results in errors"
2026-06-18 17:46:33 +02:00
Bond-009
bebb7ce803
Merge pull request #17112 from theguymadmax/add-year-to-series-resolver
Fix series year lost during name parsing
2026-06-18 17:46:23 +02:00
Bond-009
1a6f019cfd
Merge pull request #17121 from theguymadmax/fix-date-offset
Fix episode air date offset after initial scan
2026-06-18 17:46:07 +02:00
Bond-009
751b763838
Merge pull request #17099 from Bond-009/libraryimport
Follow native interoperability best practices
2026-06-18 17:45:55 +02:00