mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-26 12:07:01 +00:00
Merge pull request #4699 from crobibero/display_prefs_index
Fix CustomItemDisplayPreferences unique key collision in the migration
(cherry picked from commit b3caa51173)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
This commit is contained in:
committed by
Joshua M. Boniface
parent
91656acabb
commit
b1af8db423
@@ -81,6 +81,7 @@ namespace Jellyfin.Server.Migrations.Routines
|
||||
{ "unstable", ChromecastVersion.Unstable }
|
||||
};
|
||||
|
||||
var customDisplayPrefs = new HashSet<string>();
|
||||
var dbFilePath = Path.Combine(_paths.DataPath, DbFilename);
|
||||
using (var connection = SQLite3.Open(dbFilePath, ConnectionFlags.ReadOnly, null))
|
||||
{
|
||||
@@ -185,7 +186,13 @@ namespace Jellyfin.Server.Migrations.Routines
|
||||
|
||||
foreach (var (key, value) in dto.CustomPrefs)
|
||||
{
|
||||
dbContext.Add(new CustomItemDisplayPreferences(displayPreferences.UserId, itemId, displayPreferences.Client, key, value));
|
||||
// Custom display preferences can have a key collision.
|
||||
var indexKey = $"{displayPreferences.UserId}|{itemId}|{displayPreferences.Client}|{key}";
|
||||
if (!customDisplayPrefs.Contains(indexKey))
|
||||
{
|
||||
dbContext.Add(new CustomItemDisplayPreferences(displayPreferences.UserId, itemId, displayPreferences.Client, key, value));
|
||||
customDisplayPrefs.Add(indexKey);
|
||||
}
|
||||
}
|
||||
|
||||
dbContext.Add(displayPreferences);
|
||||
|
||||
Reference in New Issue
Block a user