Skip to content

v2.3.0 — Abrir o app ficou rápido, e o vault tem backup

Choose a tag to compare

@github-actions github-actions released this 21 Jul 15:00
· 20 commits to main since this release

Abrir o app para de reler o vault inteiro, e o vault ganha um botão de backup.

⚡ O índice não é mais reconstruído do zero

A cada abertura o app lia todas as notas, uma por uma, através do Storage Access Framework — para montar a busca, os backlinks, as tags e os flashcards. Num vault de algumas centenas de notas essa é a coisa mais lenta que ele faz, e fazia por conteúdo que não tinha mudado.

Agora o texto fica guardado entre sessões e é validado por data de modificação: uma nota mexida em outro lugar — no desktop, por exemplo, numa pasta sincronizada — tem mtime diferente e é relida. O resto vem do cache.

Duas decisões que valem explicar:

  • O cache não fica dentro do vault. É informação derivada: perder custa uma releitura e nada mais. Um JSON do tamanho do vault não tem o que fazer numa pasta que você sincroniza e faz backup.
  • Uma nota que não pôde ser lida fica de fora do cache. Guardá-la como texto vazio com data válida a faria parecer atual para sempre, e ela sumiria da busca e dos backlinks atravessando reinícios. Foi exatamente esse o bug que mordeu a versão desktop.

💾 Backup do vault em .zip

No ⋮ do cabeçalho da gaveta. O destino é escolhido pelo seletor do próprio Android, então o arquivo pode ir para o Drive, para o cartão ou para onde você quiser — e o app não precisa de nenhuma permissão de armazenamento.

Inclui tudo: notas, anexos, PDFs e o agendamento dos flashcards. Backup que descarta as imagens em silêncio é pior que nenhum, porque você descobre quando precisa. Um arquivo que não puder ser lido é contado e pulado, e o total aparece no fim — em vez de abortar a operação inteira.

🧭 Onde ficam as ações do vault

Diagnóstico e backup foram para o ⋮ da gaveta, não para o ⋮ da nota. O da nota só existe quando há uma nota aberta; ações do vault ali ficariam inalcançáveis justamente para quem acabou de abrir o app.

🧪 Por baixo

+13 testes (94 no total), rodando no CI antes de cada APK.

📥 Instalação

Assinado com a mesma chave, instala por cima da 2.2.0. Android 9 ou mais novo.