fix(desktop): corrige detecção de desativação em tempo real
All checks were successful
All checks were successful
- Renderiza MachineStateMonitor mesmo durante tela de loading - Adiciona verificação de isMachineActive na condição de early return - Detecta estado de desativação/reset já na carga inicial - Adiciona logs para facilitar debugging 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
0bfe4edc6c
commit
413749d999
2 changed files with 30 additions and 2 deletions
|
|
@ -33,8 +33,26 @@ function MachineStateMonitorInner({ machineId, onDeactivated, onTokenRevoked }:
|
|||
useEffect(() => {
|
||||
if (!machineState) return
|
||||
|
||||
// Na primeira carga, apenas armazena os valores iniciais
|
||||
// Na primeira carga, verifica estado inicial E armazena valores
|
||||
if (!initialLoadDone.current) {
|
||||
console.log("[MachineStateMonitor] Carga inicial", {
|
||||
isActive: machineState.isActive,
|
||||
hasValidToken: machineState.hasValidToken,
|
||||
found: machineState.found,
|
||||
})
|
||||
|
||||
// Se já estiver desativado na carga inicial, chama callback
|
||||
if (machineState.isActive === false) {
|
||||
console.log("[MachineStateMonitor] Máquina já estava desativada")
|
||||
onDeactivated?.()
|
||||
}
|
||||
|
||||
// Se token já estiver inválido na carga inicial, chama callback
|
||||
if (machineState.hasValidToken === false) {
|
||||
console.log("[MachineStateMonitor] Token já estava revogado")
|
||||
onTokenRevoked?.()
|
||||
}
|
||||
|
||||
previousIsActive.current = machineState.isActive
|
||||
previousHasValidToken.current = machineState.hasValidToken
|
||||
initialLoadDone.current = true
|
||||
|
|
|
|||
|
|
@ -1560,9 +1560,19 @@ const resolvedAppUrl = useMemo(() => {
|
|||
// Quando há token persistido (dispositivo já provisionado) e ainda não
|
||||
// disparamos o auto-launch, exibimos diretamente a tela de loading da
|
||||
// plataforma para evitar piscar o card de resumo/inventário.
|
||||
if ((token && !autoLaunchRef.current) || (isLaunchingSystem && token)) {
|
||||
// IMPORTANTE: Sempre renderiza o MachineStateMonitor para detectar desativação em tempo real
|
||||
if (((token && !autoLaunchRef.current) || (isLaunchingSystem && token)) && isMachineActive) {
|
||||
return (
|
||||
<div className="min-h-screen grid place-items-center bg-slate-50 p-6">
|
||||
{/* Monitor de estado da máquina - deve rodar mesmo durante loading */}
|
||||
{token && config?.machineId && convexClient && (
|
||||
<MachineStateMonitor
|
||||
client={convexClient}
|
||||
machineId={config.machineId}
|
||||
onDeactivated={handleMachineDeactivated}
|
||||
onTokenRevoked={handleTokenRevoked}
|
||||
/>
|
||||
)}
|
||||
<div className="flex flex-col items-center gap-3 rounded-2xl border border-slate-200 bg-white px-8 py-10 shadow-sm">
|
||||
<Loader2 className="size-6 animate-spin text-neutral-700" />
|
||||
<p className="text-sm font-medium text-neutral-800">Abrindo plataforma da Rever…</p>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue