feat: botao de testes em dev, paginacao, controle otimista, fix datetime.utcnow #30
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/combined-perf-quality"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Quatro entregas independentes, cada uma seu proprio commit:
Validado com suite completa do backend (85 testes, incluindo os novos) + typecheck/testes/build do frontend + smoke test manual no navegador (botao de testes) + testes via curl (paginacao, concorrencia otimista).
PUT /api/reports/{id}, /runs/{id}, /technical-validations/{id} e PATCH /api/issues/{id} suportam o header HTTP padrao If-Unmodified-Since (RFC 7232) — opt-in, sem quebrar quem nao manda o header (last-write-wins de sempre). Quem manda e o registro mudou desde entao recebe 412 Precondition Failed. Os GETs correspondentes mandam Last-Modified de volta. Issue ganhou updated_at (migration 4ca07fcf36fd, backfill com created_at pras linhas existentes) — nao tinha essa coluna ainda. Achado durante a implementacao: Last-Modified/If-Unmodified-Since so tem resolucao de segundos (padrao HTTP) — comparar direto contra updated_at (que tem microssegundos) rejeitava toda edicao com 412 mesmo sem conflito real. Corrigido truncando os dois lados pra segundos antes de comparar. Frontend ainda nao consome isso (nenhum formulario captura Last-Modified nem reenvia If-Unmodified-Since) — documentado em BACKLOG.md como proximo passo, a capacidade ja existe pronta no backend. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>