diff --git a/Emby.Server.Implementations/Session/SessionManager.cs b/Emby.Server.Implementations/Session/SessionManager.cs
index 70b3bda6ef..94423c2874 100644
--- a/Emby.Server.Implementations/Session/SessionManager.cs
+++ b/Emby.Server.Implementations/Session/SessionManager.cs
@@ -282,7 +282,7 @@ namespace Emby.Server.Implementations.Session
if (user != null)
{
- var userLastActivityDate = user.LastActivityDate;
+ var userLastActivityDate = user.LastActivityDate ?? DateTime.MinValue;
user.LastActivityDate = activityDate;
if ((activityDate - userLastActivityDate).TotalSeconds > 60)
diff --git a/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs b/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs
index f44b32c365..8885266d3b 100644
--- a/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs
+++ b/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs
@@ -134,11 +134,8 @@ namespace Emby.Server.Implementations.SyncPlay
var item = _libraryManager.GetItemById(itemId);
// Check ParentalRating access
- var hasParentalRatingAccess = true;
- if (user.MaxParentalAgeRating.HasValue)
- {
- hasParentalRatingAccess = item.InheritedParentalRatingValue <= user.MaxParentalAgeRating.Value;
- }
+ var hasParentalRatingAccess = !user.MaxParentalAgeRating.HasValue
+ || item.InheritedParentalRatingValue <= user.MaxParentalAgeRating;
if (!user.HasPermission(PermissionKind.EnableAllFolders) && hasParentalRatingAccess)
{
@@ -255,8 +252,7 @@ namespace Emby.Server.Implementations.SyncPlay
// TODO: determine what happens to users that are in a group and get their permissions revoked
lock (_groupsLock)
{
- ISyncPlayController group;
- _sessionToGroupMap.TryGetValue(session.Id, out group);
+ _sessionToGroupMap.TryGetValue(session.Id, out var group);
if (group == null)
{
@@ -329,8 +325,7 @@ namespace Emby.Server.Implementations.SyncPlay
lock (_groupsLock)
{
- ISyncPlayController group;
- _sessionToGroupMap.TryGetValue(session.Id, out group);
+ _sessionToGroupMap.TryGetValue(session.Id, out var group);
if (group == null)
{
@@ -340,7 +335,7 @@ namespace Emby.Server.Implementations.SyncPlay
{
Type = GroupUpdateType.NotInGroup
};
- _sessionManager.SendSyncPlayGroupUpdate(session.Id.ToString(), error, CancellationToken.None);
+ _sessionManager.SendSyncPlayGroupUpdate(session.Id, error, CancellationToken.None);
return;
}
@@ -367,8 +362,7 @@ namespace Emby.Server.Implementations.SyncPlay
throw new InvalidOperationException("Session not in any group!");
}
- ISyncPlayController tempGroup;
- _sessionToGroupMap.Remove(session.Id, out tempGroup);
+ _sessionToGroupMap.Remove(session.Id, out var tempGroup);
if (!tempGroup.GetGroupId().Equals(group.GetGroupId()))
{
diff --git a/Jellyfin.Data/Entities/User.cs b/Jellyfin.Data/Entities/User.cs
index cef2edfa97..1098cdb2f5 100644
--- a/Jellyfin.Data/Entities/User.cs
+++ b/Jellyfin.Data/Entities/User.cs
@@ -181,12 +181,12 @@ namespace Jellyfin.Data.Entities
///
/// Gets or sets the last activity date.
///
- public DateTime LastActivityDate { get; set; }
+ public DateTime? LastActivityDate { get; set; }
///
/// Gets or sets the last login date.
///
- public DateTime LastLoginDate { get; set; }
+ public DateTime? LastLoginDate { get; set; }
///
/// Gets or sets the number of login attempts the user can make before they are locked out.
diff --git a/Jellyfin.Server.Implementations/Users/UserManager.cs b/Jellyfin.Server.Implementations/Users/UserManager.cs
index 60d78afd02..3d473f5f21 100644
--- a/Jellyfin.Server.Implementations/Users/UserManager.cs
+++ b/Jellyfin.Server.Implementations/Users/UserManager.cs
@@ -218,7 +218,7 @@ namespace Jellyfin.Server.Implementations.Users
var dbContext = _dbProvider.CreateContext();
- if (!dbContext.Users.Contains(user))
+ if (dbContext.Users.Find(user.Id) == null)
{
throw new ArgumentException(string.Format(
CultureInfo.InvariantCulture,
diff --git a/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs b/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs
index 53c93f64b5..2be10c7087 100644
--- a/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs
+++ b/Jellyfin.Server/Migrations/Routines/MigrateUserDb.cs
@@ -196,9 +196,9 @@ namespace Jellyfin.Server.Migrations.Routines
public string EasyPassword { get; set; }
- public DateTime LastLoginDate { get; set; }
+ public DateTime? LastLoginDate { get; set; }
- public DateTime LastActivityDate { get; set; }
+ public DateTime? LastActivityDate { get; set; }
public string Name { get; set; }