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