mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-22 10:04:44 +01:00
fixes around http response caching, updated the mb icon in the dashboard, and isolated web socket events
This commit is contained in:
@@ -10,7 +10,6 @@ using MediaBrowser.Controller.Persistence;
|
||||
using MediaBrowser.Controller.Playback;
|
||||
using MediaBrowser.Controller.Plugins;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Controller.Resolvers;
|
||||
using MediaBrowser.Controller.Updates;
|
||||
using MediaBrowser.Controller.Weather;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
@@ -52,7 +51,7 @@ namespace MediaBrowser.Controller
|
||||
/// Gets the installation manager.
|
||||
/// </summary>
|
||||
/// <value>The installation manager.</value>
|
||||
public InstallationManager InstallationManager { get; private set; }
|
||||
public InstallationManager InstallationManager { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the file system manager.
|
||||
@@ -112,18 +111,6 @@ namespace MediaBrowser.Controller
|
||||
/// <value>The image enhancers.</value>
|
||||
public IEnumerable<IImageEnhancer> ImageEnhancers { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of currently registered entity resolvers
|
||||
/// </summary>
|
||||
/// <value>The entity resolvers enumerable.</value>
|
||||
public IEnumerable<IBaseItemResolver> EntityResolvers { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of BasePluginFolders added by plugins
|
||||
/// </summary>
|
||||
/// <value>The plugin folders.</value>
|
||||
public IEnumerable<IVirtualFolderCreator> PluginFolderCreators { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of available user repositories
|
||||
/// </summary>
|
||||
@@ -154,12 +141,6 @@ namespace MediaBrowser.Controller
|
||||
/// <value>The item repository.</value>
|
||||
public IItemRepository ItemRepository { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of available item repositories
|
||||
/// </summary>
|
||||
/// <value>The user data repositories.</value>
|
||||
private IEnumerable<IUserDataRepository> UserDataRepositories { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of available DisplayPreferencesRepositories
|
||||
/// </summary>
|
||||
@@ -167,10 +148,10 @@ namespace MediaBrowser.Controller
|
||||
private IEnumerable<IDisplayPreferencesRepository> DisplayPreferencesRepositories { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of entity resolution ignore rules
|
||||
/// Gets the list of available item repositories
|
||||
/// </summary>
|
||||
/// <value>The entity resolution ignore rules.</value>
|
||||
public IEnumerable<IResolutionIgnoreRule> EntityResolutionIgnoreRules { get; private set; }
|
||||
/// <value>The user data repositories.</value>
|
||||
private IEnumerable<IUserDataRepository> UserDataRepositories { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the active user data repository
|
||||
@@ -217,7 +198,6 @@ namespace MediaBrowser.Controller
|
||||
BaseItem.LibraryManager = ApplicationHost.Resolve<ILibraryManager>();
|
||||
User.UserManager = ApplicationHost.Resolve<IUserManager>();
|
||||
|
||||
InstallationManager = (InstallationManager)ApplicationHost.CreateInstance(typeof(InstallationManager));
|
||||
FFMpegManager = (FFMpegManager)ApplicationHost.CreateInstance(typeof(FFMpegManager));
|
||||
ImageManager = (ImageManager)ApplicationHost.CreateInstance(typeof(ImageManager));
|
||||
ProviderManager = (ProviderManager)ApplicationHost.CreateInstance(typeof(ProviderManager));
|
||||
@@ -225,7 +205,6 @@ namespace MediaBrowser.Controller
|
||||
|
||||
base.FindParts();
|
||||
|
||||
EntityResolutionIgnoreRules = ApplicationHost.GetExports<IResolutionIgnoreRule>();
|
||||
UserDataRepositories = ApplicationHost.GetExports<IUserDataRepository>();
|
||||
UserRepositories = ApplicationHost.GetExports<IUserRepository>();
|
||||
DisplayPreferencesRepositories = ApplicationHost.GetExports<IDisplayPreferencesRepository>();
|
||||
@@ -234,9 +213,7 @@ namespace MediaBrowser.Controller
|
||||
IntroProviders = ApplicationHost.GetExports<IIntroProvider>();
|
||||
PluginConfigurationPages = ApplicationHost.GetExports<IPluginConfigurationPage>();
|
||||
ImageEnhancers = ApplicationHost.GetExports<IImageEnhancer>().OrderBy(e => e.Priority).ToArray();
|
||||
PluginFolderCreators = ApplicationHost.GetExports<IVirtualFolderCreator>();
|
||||
StringFiles = ApplicationHost.GetExports<LocalizedStringData>();
|
||||
EntityResolvers = ApplicationHost.GetExports<IBaseItemResolver>().OrderBy(e => e.Priority).ToArray();
|
||||
MetadataProviders = ApplicationHost.GetExports<BaseMetadataProvider>().OrderBy(e => e.Priority).ToArray();
|
||||
}
|
||||
|
||||
|
||||
@@ -24,11 +24,11 @@ namespace MediaBrowser.Controller.Library
|
||||
/// </summary>
|
||||
const string IndexFolderDelimeter = "-index-";
|
||||
|
||||
private ILogger Logger;
|
||||
private readonly ILogger _logger;
|
||||
|
||||
public DtoBuilder(ILogger logger)
|
||||
{
|
||||
Logger = logger;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -62,7 +62,7 @@ namespace MediaBrowser.Controller.Library
|
||||
catch (Exception ex)
|
||||
{
|
||||
// Have to use a catch-all unfortunately because some .net image methods throw plain Exceptions
|
||||
Logger.ErrorException("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name);
|
||||
_logger.ErrorException("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ namespace MediaBrowser.Controller.Library
|
||||
catch (Exception ex)
|
||||
{
|
||||
// Have to use a catch-all unfortunately because some .net image methods throw plain Exceptions
|
||||
Logger.ErrorException("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name);
|
||||
_logger.ErrorException("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -219,7 +219,7 @@ namespace MediaBrowser.Controller.Library
|
||||
}
|
||||
catch (FileNotFoundException)
|
||||
{
|
||||
Logger.Error("Image file does not exist: {0}", path);
|
||||
_logger.Error("Image file does not exist: {0}", path);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -581,7 +581,7 @@ namespace MediaBrowser.Controller.Library
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
Logger.ErrorException("Error getting person {0}", ex, c.Name);
|
||||
_logger.ErrorException("Error getting person {0}", ex, c.Name);
|
||||
return null;
|
||||
}
|
||||
})
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.IO;
|
||||
using MediaBrowser.Controller.Resolvers;
|
||||
using MediaBrowser.Model.Entities;
|
||||
|
||||
namespace MediaBrowser.Controller.Library
|
||||
@@ -141,5 +142,14 @@ namespace MediaBrowser.Controller.Library
|
||||
/// <param name="userId">The user id.</param>
|
||||
/// <returns>BaseItem.</returns>
|
||||
BaseItem GetItemById(Guid id, Guid userId);
|
||||
|
||||
/// <summary>
|
||||
/// Adds the parts.
|
||||
/// </summary>
|
||||
/// <param name="rules">The rules.</param>
|
||||
/// <param name="pluginFolders">The plugin folders.</param>
|
||||
/// <param name="resolvers">The resolvers.</param>
|
||||
void AddParts(IEnumerable<IResolutionIgnoreRule> rules, IEnumerable<IVirtualFolderCreator> pluginFolders,
|
||||
IEnumerable<IBaseItemResolver> resolvers);
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,6 @@ using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
@@ -24,12 +23,16 @@ namespace MediaBrowser.Controller.Updates
|
||||
/// </summary>
|
||||
public class InstallationManager : BaseManager<Kernel>
|
||||
{
|
||||
public event EventHandler<GenericEventArgs<InstallationInfo>> PackageInstalling;
|
||||
public event EventHandler<GenericEventArgs<InstallationInfo>> PackageInstallationCompleted;
|
||||
public event EventHandler<GenericEventArgs<InstallationInfo>> PackageInstallationFailed;
|
||||
public event EventHandler<GenericEventArgs<InstallationInfo>> PackageInstallationCancelled;
|
||||
|
||||
/// <summary>
|
||||
/// The current installations
|
||||
/// </summary>
|
||||
public List<Tuple<InstallationInfo, CancellationTokenSource>> CurrentInstallations { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The completed installations
|
||||
/// </summary>
|
||||
@@ -48,9 +51,6 @@ namespace MediaBrowser.Controller.Updates
|
||||
private void OnPluginUninstalled(IPlugin plugin)
|
||||
{
|
||||
EventHelper.QueueEventIfNotNull(PluginUninstalled, this, new GenericEventArgs<IPlugin> { Argument = plugin }, _logger);
|
||||
|
||||
// Notify connected ui's
|
||||
Kernel.ServerManager.SendWebSocketMessage("PluginUninstalled", plugin.GetPluginInfo());
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -372,7 +372,7 @@ namespace MediaBrowser.Controller.Updates
|
||||
|
||||
var linkedToken = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, innerCancellationTokenSource.Token).Token;
|
||||
|
||||
Kernel.ServerManager.SendWebSocketMessage("PackageInstalling", installationInfo);
|
||||
EventHelper.QueueEventIfNotNull(PackageInstalling, this, new GenericEventArgs<InstallationInfo>() { Argument = installationInfo }, _logger);
|
||||
|
||||
try
|
||||
{
|
||||
@@ -385,7 +385,7 @@ namespace MediaBrowser.Controller.Updates
|
||||
|
||||
CompletedInstallations.Add(installationInfo);
|
||||
|
||||
Kernel.ServerManager.SendWebSocketMessage("PackageInstallationCompleted", installationInfo);
|
||||
EventHelper.QueueEventIfNotNull(PackageInstallationCompleted, this, new GenericEventArgs<InstallationInfo>() { Argument = installationInfo }, _logger);
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
@@ -396,7 +396,7 @@ namespace MediaBrowser.Controller.Updates
|
||||
|
||||
_logger.Info("Package installation cancelled: {0} {1}", package.name, package.versionStr);
|
||||
|
||||
Kernel.ServerManager.SendWebSocketMessage("PackageInstallationCancelled", installationInfo);
|
||||
EventHelper.QueueEventIfNotNull(PackageInstallationCancelled, this, new GenericEventArgs<InstallationInfo>() { Argument = installationInfo }, _logger);
|
||||
|
||||
throw;
|
||||
}
|
||||
@@ -407,7 +407,7 @@ namespace MediaBrowser.Controller.Updates
|
||||
CurrentInstallations.Remove(tuple);
|
||||
}
|
||||
|
||||
Kernel.ServerManager.SendWebSocketMessage("PackageInstallationFailed", installationInfo);
|
||||
EventHelper.QueueEventIfNotNull(PackageInstallationFailed, this, new GenericEventArgs<InstallationInfo>() { Argument = installationInfo }, _logger);
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user