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:
- Aguarde 30 segundos — a sincronizacao pode ainda estar em andamento.
- Puxe para baixo na tela do jardim para acionar uma sincronizacao manual.
- 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.