| Age | Commit message (Collapse) | Author |
|
TheMelmacian/feature/library_specific_language_filter_values
Improve language filters to only fetch language codes that match the requested items/libraries (follow up to #9787)
|
|
|
|
Truncate ISO-639-2 language display names at first delimiter
|
|
Backport and extend path traversal fixes
|
|
|
|
fix: skip corrupt KeyframeData rows during full system backup
|
|
security-path-traversal-fixes
# Conflicts:
# Jellyfin.Api/Controllers/HlsSegmentController.cs
# Jellyfin.Api/Controllers/PluginsController.cs
|
|
Exempt people from the allowed tags visibility check
|
|
|
|
Removed comments explaining error handling for malformed JSON during backup.
|
|
Fix profile image being impossible to clear when its in-memory key is temporary
|
|
|
|
Keep authenticated user entity in sync with persisted login timestamps
|
|
Per review feedback from cvium: failing to read/backup an entity due to
corrupt underlying data is a significant event that should be surfaced
as an error, not silently downgraded to a warning.
|
|
|
|
|
|
A single row with malformed KeyframeTicks JSON (e.g. a truncated array
from an interrupted write) currently aborts the entire backup, because
the try/catch in BackupService.CreateBackupAsync only wraps
serialization of an already-materialized entity, not the enumeration
itself. EF Core throws JsonReaderException from MoveNextAsync() while
materializing the corrupt row, which propagates past that catch block.
Switch to manual enumerator iteration so MoveNextAsync() failures can
be caught per-row, logged as a warning identifying the affected table,
and skipped, allowing the remaining rows and the rest of the backup to
complete.
Fixes #17216
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
|
|
|
ExecuteUpdateAsync bypasses the EF change tracker, so the user entity
returned by AuthenticateUser still carried the old LastLoginDate and
LastActivityDate. SessionManager.LogSessionActivity then saved that
stale entity in full, reverting LastLoginDate (usually to null)
milliseconds after every login. Setting the properties on the entity
keeps the follow-up save consistent and lets the 60-second activity
guard skip the redundant write during login.
Fixes #17301
|
|
ClearProfileImageAsync removed the ProfileImage instance attached to the
passed-in User, but that instance can carry a stale, never-persisted
(temporary) key because UpdateUserAsync creates the persisted image on a
separately loaded entity and never copies the generated key back.
Removing that detached entity on a fresh DbContext made EF Core throw
InvalidOperationException ('ImageInfo.Id has a temporary value'), leaving
the profile image impossible to delete or replace.
Load the tracked, persisted user and remove its actual ProfileImage,
matching the removal pattern already used in UpdateUserAsync. Adds
regression tests covering the temporary-key case and the no-image no-op
(the first fails before this change and passes after).
Fixes #13137
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
|
|
|
Don't throw on logout if session does not exist
|
|
Fixes for multi version handling
|
|
Fixes #17195
Adds a regression test
|
|
|
|
|
|
|
|
Don't run heavy DB tasks while scan is running
|
|
|
|
|
|
Prevents raw ISO-639-2 values (e.g. "Greek, Modern (1453-)" from cluttering the audio and subtitle display names by truncating them at the first comma or semicolon ("Greek"). Applies to MediaStreamRepository and ProbeResultNormalizer.
|
|
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.
|
|
|
|
Co-authored-by: Bond-009 <bond.009@outlook.com>
|
|
|
|
|
|
|
|
|
|
(cherry picked from commit 53f02a04ef7ff8f9d78c5f4e0924a0871b0e96fb)
|
|
|
|
|
|
Implement search providers
|
|
Discover existing trickplay files on scan
|
|
Add lockhelper for UserManager
Original-merge: 39958ad9e51f83f520803aa9bc5e70e58f3a0836
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Bond_009 <bond.009@outlook.com>
|
|
|
|
Fix similarity
|
|
# Conflicts:
# Emby.Server.Implementations/Library/LibraryManager.cs
# Jellyfin.Server.Implementations/Item/PeopleRepository.cs
# MediaBrowser.Controller/Library/ILibraryManager.cs
# MediaBrowser.Controller/Persistence/IPeopleRepository.cs
|
|
values
|
|
|
|
Add a collection API for `Included In` feature
|