v1.36.1 — Quick wins da auditoria + zonas no mapa
Release de correções nascida da auditoria técnica. Sem migration (DB segue v24), sem endpoint novo — deploy trivial e idempotente.
O que muda pra quem usa
As Zonas Seguras deixam de ser decoração. Cada zona agora aparece desenhada no mapa da Localização, com o nome, junto de onde o filho está. Antes, você escolhia um ponto, definia um raio, salvava — e nascia um card que não alimentava nada. Agora dá pra bater o olho e ver se o Lucas está na escola.
A Biblioteca de Conteúdo para de falhar em silêncio. Aprovar, revogar e excluir agora dizem o que deu errado quando o servidor recusa. Antes o botão simplesmente não fazia nada.
Fim das promessas que o app não cumpria. Três textos prometiam alertas de zona que não existem — inclusive o subtítulo da página, que estava sempre visível.
Correções técnicas
- Fuso nas notificações da criança: as chaves de dedupe usavam UTC, então a janela "1 aviso por dia" virava às 21:00 de Brasília — em cima do horário do bedtime, gerando 2 avisos na mesma noite. (Mesmo fix da v1.36.0, agora no lado que faltava.)
- Upload de miniatura: o check de tipo usava o
Content-Typeenviado pelo cliente, que é forjável. A fiscalização real agora é omimesnomedia_handle_upload, que valida extensão + magic bytes. (O WordPress já protegia por baixo; o problema era o código dizer que protegia quando não protegia.) MutationErrordeduplicado: existia em duas páginas com assinaturas diferentes; virou componente compartilhado com prefixo opcional.
Testes
PHP 584 · app-parent 324 · app-child 110. Todos os fixes com risco foram falsificados — bug reintroduzido de propósito, teste acusa, restaurado.
Ainda fora de escopo
Geofencing de verdade (detectar entrada/saída e alertar) segue como fatia própria — mas agora barata, porque o canal de push do guardião existe desde a v1.36.0.