From 81d1a7c7f7ce5890dccc98c24730272c6a786239 Mon Sep 17 00:00:00 2001 From: esdrasrenan Date: Wed, 10 Dec 2025 20:37:02 -0300 Subject: [PATCH] =?UTF-8?q?Usa=20heartbeats=20reais=20para=20marcar=20m?= =?UTF-8?q?=C3=A1quina=20online=20no=20chat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- convex/tickets.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/convex/tickets.ts b/convex/tickets.ts index 5bc60f5..1107660 100644 --- a/convex/tickets.ts +++ b/convex/tickets.ts @@ -3111,7 +3111,19 @@ export const listChatMessages = query({ if (machine) { const fiveMinutesAgo = now - 5 * 60 * 1000 liveChat.hasMachine = true - liveChat.machineOnline = Boolean(machine.lastHeartbeatAt && machine.lastHeartbeatAt > fiveMinutesAgo) + // Usa tabela de heartbeats (fonte de verdade) com fallback para campo legado + let lastHeartbeatAt: number | null = null + const hb = await ctx.db + .query("machineHeartbeats") + .withIndex("by_machine", (q) => q.eq("machineId", machine._id)) + .first() + if (hb?.lastHeartbeatAt) { + lastHeartbeatAt = hb.lastHeartbeatAt + } else if (machine.lastHeartbeatAt) { + lastHeartbeatAt = machine.lastHeartbeatAt + } + + liveChat.machineOnline = Boolean(lastHeartbeatAt && lastHeartbeatAt > fiveMinutesAgo) liveChat.machineHostname = machine.hostname // Verificar sessao ativa