teqo-backup/docs/postmortems
Francisco Solla 722cd6cf94 fix(C199): upload de gravações fatiado em 16 MiB — escapa do 413 do edge
O diálogo "Enviar gravação" mandava o arquivo inteiro num único XHR e a
produção vive atrás do Cloudflare Tunnel, cujo edge responde 413 para
qualquer request body acima de ~100 MB ANTES do app ver o corpo (probe
read-only: POST de 150 MB cortado após ~3,2 MB). Um .mp4 de 6 GB de
plenária nunca chegava à rota — o C199-large havia removido só o teto do
app, não o do proxy.

O upload agora é fatiado ponta a ponta: o start bodyless cria a row e a
sessão em disco (`recording-upload-<id>` com estado + arquivo anexado), o
diálogo envia partes de 16 MiB em ordem estrita com progresso agregado e
o último byte do tamanho declarado finaliza a mídia privada e o job. Cada
parte faz heartbeat do `updatedAt` contra o reaper de 1 h, o start faz
preflight de disco (statfs + margem), falha de parte aborta a sessão e o
delete do usuário/reaper limpam o diretório. Sem migration e sem schema.

Regressão: protocolo int nas rotas start/chunk/abort (multi-parte, fora
de ordem, tamanho excedido, seam multipart, falha S3, reaper), guarda
unit do orçamento do edge, guardas e2e das rotas. Post-mortem e entrada
de changelog em docs/.
2026-09-28 19:36:12 -03:00
..
2026-08-26-admin-branco-importmap-s3.md docs(pm): registra deploy verde (4d6533c0, run 33074305879) + admin verificado em prod read-only + changelog do override sharp 2026-08-27 16:15:14 -03:00
2026-09-11-instagram-midia-home.md docs(postmortem): capas do Instagram e clamp das legendas (PR #940) 2026-09-11 18:09:03 -03:00
2026-09-12-deploy-build-importmap.md fix(deploy): OPS99 — envs do next build fora do prefixo da cadeia (standalone) 2026-09-12 12:47:14 -03:00
2026-09-12-deploy-verify-b196-data-vencida.md style(postmortem): formata a tabela após registrar o CI verde 2026-09-12 02:17:13 -03:00
2026-09-13-deploy-staging-migrator-corepack.md docs: registra o deploy verde (run 34770925404) nos post-mortems dos dois bloqueios 2026-09-13 15:37:35 -03:00
2026-09-13-deploy-verify-escopo-google-calendar.md docs: registra o deploy verde (run 34770925404) nos post-mortems dos dois bloqueios 2026-09-13 15:37:35 -03:00
2026-09-18-github-token-401.md docs: aponta o post-mortem para o PR #1175 (supersede #1174) 2026-09-18 19:03:29 -03:00
2026-09-19-automerge-pat-rotacionado.md fix(OPS71): ready-automerge de volta — AUTOMERGE_PAT rotacionado para o token longevo do gh + contrato/verificação (Closes #1176, #1177, #1184) 2026-09-19 03:07:29 -03:00
2026-09-19-flip-remove-labels-404.md fix(flip): removeLabels idempotente — restaura o ignoreNotFound revertido pelo C140 (descoberto no PR #1202) 2026-09-19 11:15:34 -03:00
2026-09-20-card-time-recorte-e-enquadramento.md docs: registra o PR #1231 no post-mortem do fix do card 2026-09-20 17:33:29 -03:00
2026-09-24-busca-por-tema-indisponivel.md style(fix/11): formata a linha do post-mortem 2026-09-25 01:43:37 -03:00
2026-09-24-cards-tiles-webkit-aspect-ratio.md docs: main voltou ao verde (S40) — re-run do CI no merge ref corrigido 2026-09-24 16:41:18 -03:00
2026-09-24-instagram-link-sem-early-stop.md fix(C220-FOLLOWUP): retry no download do CDN do Instagram (rede instavel) 2026-09-25 10:20:27 -03:00
2026-09-25-central-logo-cortado.md fix(S36-FOLLOWUP): logo do header da Central sem corte — janela na razão da tinta 2026-09-25 00:44:57 -03:00
2026-09-25-instagram-cdn-ipv4-instavel.md docs(C220-FOLLOWUP): registra o efeito colateral do ufw (Garage) e a correcao no post-mortem/runbook 2026-09-25 10:47:23 -03:00
2026-09-25-media-upload-share-link.md docs(media): registra PR do reparo 2026-09-25 12:11:21 -03:00
2026-09-28-upload-gravacoes-teto-cloudflare.md fix(C199): upload de gravações fatiado em 16 MiB — escapa do 413 do edge 2026-09-28 19:36:12 -03:00