Dados Nao Sincronizam

Se os dados das suas plantas nao estao aparecendo no painel web ou entre dispositivos, veja como diagnosticar e resolver problemas de sincronizacao.

Verifique Sua Conexao

A sincronizacao na nuvem requer uma conexao ativa com a internet. O app so envia dados para o Turso quando navigator.onLine (web) ou acessibilidade de rede (mobile) retorna verdadeiro.

  • Verifique sua conexao WiFi ou celular.
  • Tente abrir uma pagina web para confirmar acesso a internet.
  • Se voce esta em uma rede restrita (corporativa, hotel), o endpoint da API do Turso pode estar bloqueado.

Fila Offline

Quando voce esta offline, todas as leituras de sensores e registros de cuidados sao armazenados localmente e enfileirados para sincronizacao. Quando a conectividade retornar, o app reproduz a fila automaticamente. Se os dados parecem faltar apos voltar online:

  1. Aguarde 30 segundos — a sincronizacao pode ainda estar em andamento.
  2. Puxe para baixo na tela do jardim para acionar uma sincronizacao manual.
  3. Verifique se os dados aparecem no app local mas nao na web — isso confirma que e um problema de sincronizacao, nao do sensor.

Prevencao de Duplicatas

Leituras de sensores tem uma restricao unica em (sensor_id, timestamp). Se dois celulares capturam a mesma leitura BLE, o banco de dados usa INSERT OR IGNORE para manter apenas uma copia. Isso e comportamento normal, nao perda de dados.

Dados Aparecem em Um Dispositivo Mas Nao em Outro

A sincronizacao e push-then-pull: seu dispositivo envia seus dados locais primeiro, depois recebe atualizacoes. Se os dados estao no seu celular mas nao na web:

  • Certifique-se de que voce esta logado na mesma conta em ambos os dispositivos.
  • Verifique se o push foi concluido — procure notificacoes de erro no app.
  • Atualize o painel web (ele nao atualiza automaticamente).

Status do Servico Turso

Se a sincronizacao falha consistentemente, o servico Turso na nuvem pode estar com problemas. A API HTTP pipeline do Turso (v2/pipeline) e o que o Plantgotchi usa para agrupar operacoes SQL. Se este endpoint esta inacessivel, todas as operacoes de sincronizacao falharao graciosamente e tentarao novamente depois.