Support assigning nil as time instead of setting time as invalid. Fix typo that led to incorrect disconnect time. Maybe addresses #1268?

This commit is contained in:
Gabe Kangas
2021-08-03 17:47:16 -07:00
parent cab963f21c
commit dcc7a7c5c3
7 changed files with 25 additions and 23 deletions

View File

@@ -102,7 +102,7 @@ func pruneViewerCount() {
l.Lock()
defer l.Unlock()
for viewerId := range _stats.Viewers {
viewerLastSeenTime := _stats.Viewers[viewerId]
if time.Since(viewerLastSeenTime) < _activeViewerPurgeTimeout {
@@ -120,8 +120,8 @@ func saveStats() {
if err := data.SetPeakSessionViewerCount(_stats.SessionMaxViewerCount); err != nil {
log.Errorln("error saving viewer count", err)
}
if _stats.LastDisconnectTime.Valid {
if err := data.SetLastDisconnectTime(_stats.LastConnectTime.Time); err != nil {
if _stats.LastDisconnectTime != nil && _stats.LastDisconnectTime.Valid {
if err := data.SetLastDisconnectTime(_stats.LastDisconnectTime.Time); err != nil {
log.Errorln("error saving disconnect time", err)
}
}
@@ -140,7 +140,7 @@ func getSavedStats() models.Stats {
// If the stats were saved > 5min ago then ignore the
// peak session count value, since the session is over.
if !result.LastDisconnectTime.Valid || time.Since(result.LastDisconnectTime.Time).Minutes() > 5 {
if result.LastDisconnectTime == nil || !result.LastDisconnectTime.Valid || time.Since(result.LastDisconnectTime.Time).Minutes() > 5 {
result.SessionMaxViewerCount = 0
}