Browse Source

Remove some unused client capabilities and sync code (#10812)

Niels van Velzen 1 year ago
parent
commit
55916a09eb

+ 0 - 9
Emby.Server.Implementations/Dto/DtoService.cs

@@ -418,15 +418,6 @@ namespace Emby.Server.Implementations.Dto
             {
                 dto.PlayAccess = item.GetPlayAccess(user);
             }
-
-            if (options.ContainsField(ItemFields.BasicSyncInfo))
-            {
-                var userCanSync = user is not null && user.HasPermission(PermissionKind.EnableContentDownloading);
-                if (userCanSync && item.SupportsExternalTransfer)
-                {
-                    dto.SupportsSync = true;
-                }
-            }
         }
 
         private static int GetChildCount(Folder folder, User user)

+ 0 - 1
Emby.Server.Implementations/LiveTv/LiveTvManager.cs

@@ -1095,7 +1095,6 @@ namespace Emby.Server.Implementations.LiveTv
             // Load these now which will prefetch metadata
             var dtoOptions = new DtoOptions();
             var fields = dtoOptions.Fields.ToList();
-            fields.Remove(ItemFields.BasicSyncInfo);
             dtoOptions.Fields = fields.ToArray();
 
             progress.Report(100);

+ 0 - 1
Emby.Server.Implementations/Session/SessionManager.cs

@@ -1670,7 +1670,6 @@ namespace Emby.Server.Implementations.Session
 
                 var fields = dtoOptions.Fields.ToList();
 
-                fields.Remove(ItemFields.BasicSyncInfo);
                 fields.Remove(ItemFields.CanDelete);
                 fields.Remove(ItemFields.CanDownload);
                 fields.Remove(ItemFields.ChildCount);

+ 2 - 3
Jellyfin.Api/Controllers/DevicesController.cs

@@ -42,16 +42,15 @@ public class DevicesController : BaseJellyfinApiController
     /// <summary>
     /// Get Devices.
     /// </summary>
-    /// <param name="supportsSync">Gets or sets a value indicating whether [supports synchronize].</param>
     /// <param name="userId">Gets or sets the user identifier.</param>
     /// <response code="200">Devices retrieved.</response>
     /// <returns>An <see cref="OkResult"/> containing the list of devices.</returns>
     [HttpGet]
     [ProducesResponseType(StatusCodes.Status200OK)]
-    public async Task<ActionResult<QueryResult<DeviceInfo>>> GetDevices([FromQuery] bool? supportsSync, [FromQuery] Guid? userId)
+    public async Task<ActionResult<QueryResult<DeviceInfo>>> GetDevices([FromQuery] Guid? userId)
     {
         userId = RequestHelpers.GetUserId(User, userId);
-        return await _deviceManager.GetDevicesForUser(userId, supportsSync).ConfigureAwait(false);
+        return await _deviceManager.GetDevicesForUser(userId).ConfigureAwait(false);
     }
 
     /// <summary>

+ 0 - 3
Jellyfin.Api/Controllers/SessionController.cs

@@ -385,7 +385,6 @@ public class SessionController : BaseJellyfinApiController
     /// <param name="playableMediaTypes">A list of playable media types, comma delimited. Audio, Video, Book, Photo.</param>
     /// <param name="supportedCommands">A list of supported remote control commands, comma delimited.</param>
     /// <param name="supportsMediaControl">Determines whether media can be played remotely..</param>
-    /// <param name="supportsSync">Determines whether sync is supported.</param>
     /// <param name="supportsPersistentIdentifier">Determines whether the device supports a unique identifier.</param>
     /// <response code="204">Capabilities posted.</response>
     /// <returns>A <see cref="NoContentResult"/>.</returns>
@@ -397,7 +396,6 @@ public class SessionController : BaseJellyfinApiController
         [FromQuery, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] MediaType[] playableMediaTypes,
         [FromQuery, ModelBinder(typeof(CommaDelimitedArrayModelBinder))] GeneralCommandType[] supportedCommands,
         [FromQuery] bool supportsMediaControl = false,
-        [FromQuery] bool supportsSync = false,
         [FromQuery] bool supportsPersistentIdentifier = true)
     {
         if (string.IsNullOrWhiteSpace(id))
@@ -410,7 +408,6 @@ public class SessionController : BaseJellyfinApiController
             PlayableMediaTypes = playableMediaTypes,
             SupportedCommands = supportedCommands,
             SupportsMediaControl = supportsMediaControl,
-            SupportsSync = supportsSync,
             SupportsPersistentIdentifier = supportsPersistentIdentifier
         });
         return NoContent();

+ 0 - 1
Jellyfin.Api/Controllers/UserViewsController.cs

@@ -90,7 +90,6 @@ public class UserViewsController : BaseJellyfinApiController
 
         fields.Add(ItemFields.PrimaryImageAspectRatio);
         fields.Add(ItemFields.DisplayPreferencesId);
-        fields.Remove(ItemFields.BasicSyncInfo);
         dtoOptions.Fields = fields.ToArray();
 
         var user = _userManager.GetUserById(userId);

+ 0 - 18
Jellyfin.Api/Models/SessionDtos/ClientCapabilitiesDto.cs

@@ -30,26 +30,11 @@ public class ClientCapabilitiesDto
     /// </summary>
     public bool SupportsMediaControl { get; set; }
 
-    /// <summary>
-    /// Gets or sets a value indicating whether session supports content uploading.
-    /// </summary>
-    public bool SupportsContentUploading { get; set; }
-
-    /// <summary>
-    /// Gets or sets the message callback url.
-    /// </summary>
-    public string? MessageCallbackUrl { get; set; }
-
     /// <summary>
     /// Gets or sets a value indicating whether session supports a persistent identifier.
     /// </summary>
     public bool SupportsPersistentIdentifier { get; set; }
 
-    /// <summary>
-    /// Gets or sets a value indicating whether session supports sync.
-    /// </summary>
-    public bool SupportsSync { get; set; }
-
     /// <summary>
     /// Gets or sets the device profile.
     /// </summary>
@@ -76,10 +61,7 @@ public class ClientCapabilitiesDto
             PlayableMediaTypes = PlayableMediaTypes,
             SupportedCommands = SupportedCommands,
             SupportsMediaControl = SupportsMediaControl,
-            SupportsContentUploading = SupportsContentUploading,
-            MessageCallbackUrl = MessageCallbackUrl,
             SupportsPersistentIdentifier = SupportsPersistentIdentifier,
-            SupportsSync = SupportsSync,
             DeviceProfile = DeviceProfile,
             AppStoreUrl = AppStoreUrl,
             IconUrl = IconUrl

+ 1 - 5
Jellyfin.Server.Implementations/Devices/DeviceManager.cs

@@ -167,7 +167,7 @@ namespace Jellyfin.Server.Implementations.Devices
         }
 
         /// <inheritdoc />
-        public async Task<QueryResult<DeviceInfo>> GetDevicesForUser(Guid? userId, bool? supportsSync)
+        public async Task<QueryResult<DeviceInfo>> GetDevicesForUser(Guid? userId)
         {
             var dbContext = await _dbProvider.CreateDbContextAsync().ConfigureAwait(false);
             await using (dbContext.ConfigureAwait(false))
@@ -178,10 +178,6 @@ namespace Jellyfin.Server.Implementations.Devices
                     .ThenBy(d => d.DeviceId)
                     .SelectMany(d => dbContext.DeviceOptions.Where(o => o.DeviceId == d.DeviceId).DefaultIfEmpty(), (d, o) => new { Device = d, Options = o })
                     .AsAsyncEnumerable();
-                if (supportsSync.HasValue)
-                {
-                    sessions = sessions.Where(i => GetCapabilities(i.Device.DeviceId).SupportsSync == supportsSync.Value);
-                }
 
                 if (userId.HasValue)
                 {

+ 1 - 2
MediaBrowser.Controller/Devices/IDeviceManager.cs

@@ -59,9 +59,8 @@ namespace MediaBrowser.Controller.Devices
         /// Gets the devices.
         /// </summary>
         /// <param name="userId">The user's id, or <c>null</c>.</param>
-        /// <param name="supportsSync">A value indicating whether the device supports sync, or <c>null</c>.</param>
         /// <returns>IEnumerable&lt;DeviceInfo&gt;.</returns>
-        Task<QueryResult<DeviceInfo>> GetDevicesForUser(Guid? userId, bool? supportsSync);
+        Task<QueryResult<DeviceInfo>> GetDevicesForUser(Guid? userId);
 
         Task DeleteDevice(Device device);
 

+ 0 - 2
MediaBrowser.Controller/Entities/BaseItem.cs

@@ -773,8 +773,6 @@ namespace MediaBrowser.Controller.Entities
         /// <value>The remote trailers.</value>
         public IReadOnlyList<MediaUrl> RemoteTrailers { get; set; }
 
-        public virtual bool SupportsExternalTransfer => false;
-
         public virtual double GetDefaultPrimaryImageAspectRatio()
         {
             return 0;

+ 0 - 5
MediaBrowser.Model/Dto/BaseItemDto.cs

@@ -85,11 +85,6 @@ namespace MediaBrowser.Model.Dto
 
         public string PreferredMetadataCountryCode { get; set; }
 
-        /// <summary>
-        /// Gets or sets a value indicating whether [supports synchronize].
-        /// </summary>
-        public bool? SupportsSync { get; set; }
-
         public string Container { get; set; }
 
         /// <summary>

+ 0 - 7
MediaBrowser.Model/Querying/ItemFields.cs

@@ -175,13 +175,6 @@ namespace MediaBrowser.Model.Querying
         /// </summary>
         Studios,
 
-        BasicSyncInfo,
-
-        /// <summary>
-        /// The synchronize information.
-        /// </summary>
-        SyncInfo,
-
         /// <summary>
         /// The taglines of the item.
         /// </summary>

+ 0 - 6
MediaBrowser.Model/Session/ClientCapabilities.cs

@@ -23,14 +23,8 @@ namespace MediaBrowser.Model.Session
 
         public bool SupportsMediaControl { get; set; }
 
-        public bool SupportsContentUploading { get; set; }
-
-        public string MessageCallbackUrl { get; set; }
-
         public bool SupportsPersistentIdentifier { get; set; }
 
-        public bool SupportsSync { get; set; }
-
         public DeviceProfile DeviceProfile { get; set; }
 
         public string AppStoreUrl { get; set; }