fix: computer websocket total uptime miscalculations

This commit is contained in:
trafficlunar 2025-11-10 17:07:41 +00:00
parent 57816301f9
commit 7b0044634a

View file

@ -49,6 +49,8 @@ func HandleComputerWebSocket(w http.ResponseWriter, r *http.Request) {
) )
}) })
service.LoadComputerStatTotals()
// Mark computer online and record the start time for uptime tracking // Mark computer online and record the start time for uptime tracking
service.ComputerData.Online = true service.ComputerData.Online = true
service.ComputerData.UptimeStart = int(time.Now().Unix()) service.ComputerData.UptimeStart = int(time.Now().Unix())
@ -64,6 +66,7 @@ func HandleComputerWebSocket(w http.ResponseWriter, r *http.Request) {
// Calculate uptime // Calculate uptime
sessionUptime := int(time.Now().Unix()) - service.ComputerData.UptimeStart sessionUptime := int(time.Now().Unix()) - service.ComputerData.UptimeStart
// Get current total uptime from data store
totalUptimeData := storage.GlobalDataStore.Get("uptime") totalUptimeData := storage.GlobalDataStore.Get("uptime")
var totalUptime float64 var totalUptime float64
if totalUptimeData != nil { if totalUptimeData != nil {
@ -74,6 +77,7 @@ func HandleComputerWebSocket(w http.ResponseWriter, r *http.Request) {
service.ComputerData.Totals.Uptime = totalUptime + float64(sessionUptime) service.ComputerData.Totals.Uptime = totalUptime + float64(sessionUptime)
storage.GlobalDataStore.Set("uptime", service.ComputerData.Totals.Uptime) storage.GlobalDataStore.Set("uptime", service.ComputerData.Totals.Uptime)
// Reset uptime start (computer is offline)
service.ComputerData.UptimeStart = 0 service.ComputerData.UptimeStart = 0
break break
} }