From 6a8ee52ad8a28e6949dbdb099c890879c648a98a Mon Sep 17 00:00:00 2001 From: Leonardo Date: Thu, 21 May 2026 11:17:27 -0300 Subject: [PATCH] offline-overlay: trava falso positivo em dev/HMR + rede instavel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problema: overlay "Sem conexao" aparecia toda hora em dev. Causa: fetch('/favicon.ico') com timeout 4s + poll a cada 10s + sem retry. Qualquer slow request (vite HMR rebuild, DNS, network blip) marcava offline imediato. Fixes: 1. Confia em navigator.onLine PRIMEIRO. Se browser ja sinaliza offline (wifi caiu, modo aviao), pula o fetch — fonte 100% autoritativa. 2. Threshold de 2 falhas consecutivas. Antes 1 falha = offline. Agora precisa 2 consecutivas, descarta blips esporadicos. Reset pra 0 a cada success. 3. Timeout fetch 4s -> 8s. Mais tolerante a slow requests. 4. Poll 10s -> 30s (prod) ou 60s (dev). Reduz pressao no Vite HMR sem perder detectividade. Eventos offline/online do browser continuam capturando mudancas reais instantaneamente. 5. Em DEV, polling 60s (vs 30s prod). HMR rebuilds podem demorar; queremos minimizar fetch concorrente. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/components/AppOfflineOverlay.vue | 54 +++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 9 deletions(-) diff --git a/src/components/AppOfflineOverlay.vue b/src/components/AppOfflineOverlay.vue index af0b424..1aa5d84 100644 --- a/src/components/AppOfflineOverlay.vue +++ b/src/components/AppOfflineOverlay.vue @@ -17,31 +17,61 @@