diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs
index 6fb6235541..9d244b74c8 100644
--- a/Emby.Server.Implementations/Library/LibraryManager.cs
+++ b/Emby.Server.Implementations/Library/LibraryManager.cs
@@ -710,10 +710,10 @@ namespace Emby.Server.Implementations.Library
}
///
- /// Creates the root media folder
+ /// Creates the root media folder.
///
/// AggregateFolder.
- /// Cannot create the root folder until plugins have loaded
+ /// Cannot create the root folder until plugins have loaded.
public AggregateFolder CreateRootFolder()
{
var rootFolderPath = ConfigurationManager.ApplicationPaths.RootFolderPath;
@@ -824,7 +824,6 @@ namespace Emby.Server.Implementations.Library
{
// If this returns multiple items it could be tricky figuring out which one is correct.
// In most cases, the newest one will be and the others obsolete but not yet cleaned up
-
if (string.IsNullOrEmpty(path))
{
throw new ArgumentNullException(nameof(path));
@@ -844,7 +843,7 @@ namespace Emby.Server.Implementations.Library
}
///
- /// Gets a Person
+ /// Gets the person.
///
/// The name.
/// Task{Person}.
@@ -854,7 +853,7 @@ namespace Emby.Server.Implementations.Library
}
///
- /// Gets a Studio
+ /// Gets the studio.
///
/// The name.
/// Task{Studio}.
@@ -879,7 +878,7 @@ namespace Emby.Server.Implementations.Library
}
///
- /// Gets a Genre
+ /// Gets the genre.
///
/// The name.
/// Task{Genre}.
@@ -889,7 +888,7 @@ namespace Emby.Server.Implementations.Library
}
///
- /// Gets the genre.
+ /// Gets the music genre.
///
/// The name.
/// Task{MusicGenre}.
@@ -899,7 +898,7 @@ namespace Emby.Server.Implementations.Library
}
///
- /// Gets a Year
+ /// Gets the year.
///
/// The value.
/// Task{Year}.
@@ -1076,9 +1075,9 @@ namespace Emby.Server.Implementations.Library
var innerProgress = new ActionableProgress();
- innerProgress.RegisterAction(pct => progress.Report(pct * .96));
+ innerProgress.RegisterAction(pct => progress.Report(pct * pct * 0.96));
- // Now validate the entire media library
+ // validate the entire media library
await RootFolder.ValidateChildren(innerProgress, cancellationToken, new MetadataRefreshOptions(new DirectoryService(_fileSystem)), recursive: true).ConfigureAwait(false);
progress.Report(96);
@@ -1087,7 +1086,6 @@ namespace Emby.Server.Implementations.Library
innerProgress.RegisterAction(pct => progress.Report(96 + (pct * .04)));
- // Run post-scan tasks
await RunPostScanTasks(innerProgress, cancellationToken).ConfigureAwait(false);
progress.Report(100);
@@ -1138,7 +1136,7 @@ namespace Emby.Server.Implementations.Library
}
catch (Exception ex)
{
- _logger.LogError(ex, "Error running postscan task");
+ _logger.LogError(ex, "Error running post-scan task");
}
numComplete++;
diff --git a/Emby.Server.Implementations/Library/UserManager.cs b/Emby.Server.Implementations/Library/UserManager.cs
index 656eeb1459..a5d7153d7f 100644
--- a/Emby.Server.Implementations/Library/UserManager.cs
+++ b/Emby.Server.Implementations/Library/UserManager.cs
@@ -291,10 +291,11 @@ namespace Emby.Server.Implementations.Library
&& authenticationProvider != null
&& !(authenticationProvider is DefaultAuthenticationProvider))
{
- // We should trust the user that the authprovider says, not what was typed
+ // trust the username returned by the authentication provider
username = updatedUsername;
- // Search the database for the user again; the authprovider might have created it
+ // search the database for the user again
+ // the authentication provider might have created it
user = Users
.FirstOrDefault(i => string.Equals(username, i.Name, StringComparison.OrdinalIgnoreCase));
diff --git a/Emby.Server.Implementations/Session/SessionManager.cs b/Emby.Server.Implementations/Session/SessionManager.cs
index b1d513dd4f..72e4e151e4 100644
--- a/Emby.Server.Implementations/Session/SessionManager.cs
+++ b/Emby.Server.Implementations/Session/SessionManager.cs
@@ -30,17 +30,17 @@ using Microsoft.Extensions.Logging;
namespace Emby.Server.Implementations.Session
{
///
- /// Class SessionManager
+ /// Class SessionManager.
///
public class SessionManager : ISessionManager, IDisposable
{
///
- /// The _user data repository
+ /// The user data repository.
///
private readonly IUserDataManager _userDataManager;
///
- /// The _logger
+ /// The logger.
///
private readonly ILogger _logger;
@@ -57,7 +57,7 @@ namespace Emby.Server.Implementations.Session
private readonly IDeviceManager _deviceManager;
///
- /// The _active connections
+ /// The active connections.
///
private readonly ConcurrentDictionary _activeConnections =
new ConcurrentDictionary(StringComparer.OrdinalIgnoreCase);
@@ -70,18 +70,23 @@ namespace Emby.Server.Implementations.Session
/// Occurs when [playback start].
///
public event EventHandler PlaybackStart;
+
///
/// Occurs when [playback progress].
///
public event EventHandler PlaybackProgress;
+
///
/// Occurs when [playback stopped].
///
public event EventHandler PlaybackStopped;
public event EventHandler SessionStarted;
+
public event EventHandler CapabilitiesChanged;
+
public event EventHandler SessionEnded;
+
public event EventHandler SessionActivity;
public SessionManager(
@@ -924,7 +929,6 @@ namespace Emby.Server.Implementations.Session
ClientName = session.Client,
DeviceId = session.DeviceId,
Session = session
-
},
_logger);
}
@@ -1610,7 +1614,7 @@ namespace Emby.Server.Implementations.Session
private DtoOptions _itemInfoDtoOptions;
///
- /// Converts a BaseItem to a BaseItemInfo
+ /// Converts a BaseItem to a BaseItemInfo.
///
private BaseItemDto GetItemInfo(BaseItem item, MediaSourceInfo mediaSource)
{
@@ -1680,7 +1684,7 @@ namespace Emby.Server.Implementations.Session
}
catch (Exception ex)
{
- _logger.LogError("Error getting {0} image info", ex, type);
+ _logger.LogError("Error getting image information for {0}", ex, type);
return null;
}
}
diff --git a/MediaBrowser.Api/Session/SessionsService.cs b/MediaBrowser.Api/Session/SessionsService.cs
index 700861c554..9aa7b2c88a 100644
--- a/MediaBrowser.Api/Session/SessionsService.cs
+++ b/MediaBrowser.Api/Session/SessionsService.cs
@@ -18,7 +18,7 @@ using Microsoft.Extensions.Logging;
namespace MediaBrowser.Api.Session
{
///
- /// Class GetSessions
+ /// Class GetSessions.
///
[Route("/Sessions", "GET", Summary = "Gets a list of sessions")]
[Authenticated]
@@ -34,7 +34,7 @@ namespace MediaBrowser.Api.Session
}
///
- /// Class DisplayContent
+ /// Class DisplayContent.
///
[Route("/Sessions/{Id}/Viewing", "POST", Summary = "Instructs a session to browse to an item or view")]
[Authenticated]
diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs
index e1b01b012c..0d63c19b5e 100644
--- a/MediaBrowser.Api/UserService.cs
+++ b/MediaBrowser.Api/UserService.cs
@@ -281,7 +281,6 @@ namespace MediaBrowser.Api
{
IsHidden = false,
IsDisabled = false
-
}, true, true);
}
@@ -395,10 +394,11 @@ namespace MediaBrowser.Api
throw new MethodNotAllowedException("Hashed-only passwords are not valid for this API.");
}
+ // password should always be null
return Post(new AuthenticateUserByName
{
Username = user.Name,
- Password = null, // This should always be null
+ Password = null,
Pw = request.Pw
});
}
diff --git a/MediaBrowser.Controller/Session/SessionInfo.cs b/MediaBrowser.Controller/Session/SessionInfo.cs
index acda6a4166..6e8385cf85 100644
--- a/MediaBrowser.Controller/Session/SessionInfo.cs
+++ b/MediaBrowser.Controller/Session/SessionInfo.cs
@@ -126,12 +126,6 @@ namespace MediaBrowser.Controller.Session
[JsonIgnore]
public ISessionController[] SessionControllers { get; set; }
- ///
- /// Gets or sets the application icon URL.
- ///
- /// The application icon URL.
- public string AppIconUrl { get; set; }
-
///
/// Gets or sets the supported commands.
///
@@ -259,7 +253,7 @@ namespace MediaBrowser.Controller.Session
foreach (var additionalUser in AdditionalUsers)
{
- if (userId.Equals(userId))
+ if (additionalUser.UserId.Equals(userId))
{
return true;
}
@@ -321,7 +315,7 @@ namespace MediaBrowser.Controller.Session
var newPositionTicks = positionTicks + ProgressIncrement;
var item = progressInfo.Item;
- long? runtimeTicks = item == null ? null : item.RunTimeTicks;
+ long? runtimeTicks = item?.RunTimeTicks;
// Don't report beyond the runtime
if (runtimeTicks.HasValue && newPositionTicks >= runtimeTicks.Value)