|  | @@ -8,7 +8,6 @@ using System.Text.Json.Serialization;
 | 
	
		
			
				|  |  |  using Jellyfin.Data.Entities;
 | 
	
		
			
				|  |  |  using Jellyfin.Data.Enums;
 | 
	
		
			
				|  |  |  using Jellyfin.Server.Implementations;
 | 
	
		
			
				|  |  | -using MediaBrowser.Common.Extensions;
 | 
	
		
			
				|  |  |  using MediaBrowser.Controller;
 | 
	
		
			
				|  |  |  using MediaBrowser.Controller.Library;
 | 
	
		
			
				|  |  |  using MediaBrowser.Model.Entities;
 | 
	
	
		
			
				|  | @@ -81,7 +80,8 @@ namespace Jellyfin.Server.Migrations.Routines
 | 
	
		
			
				|  |  |                  { "unstable", ChromecastVersion.Unstable }
 | 
	
		
			
				|  |  |              };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            var customDisplayPrefs = new HashSet<string>();
 | 
	
		
			
				|  |  | +            var displayPrefs = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
 | 
	
		
			
				|  |  | +            var customDisplayPrefs = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
 | 
	
		
			
				|  |  |              var dbFilePath = Path.Combine(_paths.DataPath, DbFilename);
 | 
	
		
			
				|  |  |              using (var connection = SQLite3.Open(dbFilePath, ConnectionFlags.ReadOnly, null))
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -98,6 +98,15 @@ namespace Jellyfin.Server.Migrations.Routines
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      var itemId = new Guid(result[1].ToBlob());
 | 
	
		
			
				|  |  |                      var dtoUserId = new Guid(result[1].ToBlob());
 | 
	
		
			
				|  |  | +                    var client = result[2].ToString();
 | 
	
		
			
				|  |  | +                    var displayPreferencesKey = $"{dtoUserId}|{itemId}|{client}";
 | 
	
		
			
				|  |  | +                    if (displayPrefs.Contains(displayPreferencesKey))
 | 
	
		
			
				|  |  | +                    {
 | 
	
		
			
				|  |  | +                        // Duplicate display preference.
 | 
	
		
			
				|  |  | +                        continue;
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    displayPrefs.Add(displayPreferencesKey);
 | 
	
		
			
				|  |  |                      var existingUser = _userManager.GetUserById(dtoUserId);
 | 
	
		
			
				|  |  |                      if (existingUser == null)
 | 
	
		
			
				|  |  |                      {
 | 
	
	
		
			
				|  | @@ -110,7 +119,7 @@ namespace Jellyfin.Server.Migrations.Routines
 | 
	
		
			
				|  |  |                          : ChromecastVersion.Stable;
 | 
	
		
			
				|  |  |                      dto.CustomPrefs.Remove("chromecastVersion");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    var displayPreferences = new DisplayPreferences(dtoUserId, itemId, result[2].ToString())
 | 
	
		
			
				|  |  | +                    var displayPreferences = new DisplayPreferences(dtoUserId, itemId, client)
 | 
	
		
			
				|  |  |                      {
 | 
	
		
			
				|  |  |                          IndexBy = Enum.TryParse<IndexingKind>(dto.IndexBy, true, out var indexBy) ? indexBy : (IndexingKind?)null,
 | 
	
		
			
				|  |  |                          ShowBackdrop = dto.ShowBackdrop,
 |