From 7b0044634af119c389196a733eebd9537f520085 Mon Sep 17 00:00:00 2001 From: trafficlunar Date: Mon, 10 Nov 2025 17:07:41 +0000 Subject: [PATCH] fix: computer websocket total uptime miscalculations --- internal/handler/computer.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/handler/computer.go b/internal/handler/computer.go index cf74980..e21dd37 100644 --- a/internal/handler/computer.go +++ b/internal/handler/computer.go @@ -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 service.ComputerData.Online = true service.ComputerData.UptimeStart = int(time.Now().Unix()) @@ -64,6 +66,7 @@ func HandleComputerWebSocket(w http.ResponseWriter, r *http.Request) { // Calculate uptime sessionUptime := int(time.Now().Unix()) - service.ComputerData.UptimeStart + // Get current total uptime from data store totalUptimeData := storage.GlobalDataStore.Get("uptime") var totalUptime float64 if totalUptimeData != nil { @@ -74,6 +77,7 @@ func HandleComputerWebSocket(w http.ResponseWriter, r *http.Request) { service.ComputerData.Totals.Uptime = totalUptime + float64(sessionUptime) storage.GlobalDataStore.Set("uptime", service.ComputerData.Totals.Uptime) + // Reset uptime start (computer is offline) service.ComputerData.UptimeStart = 0 break }