diff --git a/src/components/admin/machines/admin-machine-details.client.tsx b/src/components/admin/machines/admin-machine-details.client.tsx index ddef2ff..940d90e 100644 --- a/src/components/admin/machines/admin-machine-details.client.tsx +++ b/src/components/admin/machines/admin-machine-details.client.tsx @@ -28,11 +28,13 @@ export function AdminMachineDetailsClient({ tenantId: _tenantId, machineId }: { const [loadError, setLoadError] = useState(null) const [retryTick, setRetryTick] = useState(0) const timer = useRef | null>(null) - const shouldLoad = (single === undefined || single === null) && fallback === undefined && Boolean(machineId) + const shouldLoad = fallback === undefined && Boolean(machineId) useEffect(() => { if (!shouldLoad) return - timer.current = setTimeout(async () => { + (async () => { + # immediate probe without delay + try { // 1) Tenta via Convex direto do browser (independe do servidor) const convexUrl = process.env.NEXT_PUBLIC_CONVEX_URL @@ -82,10 +84,7 @@ export function AdminMachineDetailsClient({ tenantId: _tenantId, machineId }: { } catch (err) { setLoadError("Erro de rede ao carregar os dados da máquina.") } - }, 600) - return () => { - if (timer.current) clearTimeout(timer.current) - } + }, [shouldLoad, machineId, retryTick]) // Timeout de proteção: se depois de X segundos ainda estiver carregando e sem fallback, mostra erro claro