teqo-backup/docs
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
..
campaign-kit feat(C196): skill /reels-tutoriais — captura mobile + composição de vídeo 2026-09-18 21:50:28 -03:00
campanha chore(OPS105): remove workaround de visão Qwen — visão nativa do deepseek-flash (Closes #985) 2026-09-14 02:37:10 -03:00
changelog fix(C199): upload de gravações fatiado em 16 MiB — escapa do 413 do edge 2026-09-28 19:36:12 -03:00
design-refs Version UX Pilot design refs and map them to roadmap plans 2026-07-18 16:36:09 -03:00
ops feat(C234): busca por selfie no álbum público — índice A/C consentido, selfie on-device 2026-09-27 20:04:41 -03:00
plans feat(C234): busca por selfie no álbum público — índice A/C consentido, selfie on-device 2026-09-27 20:04:41 -03:00
postmortems fix(C199): upload de gravações fatiado em 16 MiB — escapa do 413 do edge 2026-09-28 19:36:12 -03:00
research feat(C161): relatório Solla × Ceuci com votos por bairro (seções e locais de votação) 2026-09-14 04:36:17 -03:00
testing-audits docs(testing-audit): estado final protegido (draft fail-closed) — CI green no SHA final 2026-08-25 17:09:43 -03:00
AGENT-OPS.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
ARCHITECTURE.md chore: migrate .cursor/ references to .agents/ folder 2026-08-05 00:09:09 -03:00
CHANGELOG-AGENTS-HISTORY.md docs(OPS88): restaura HISTORY congelado (snapshot OPS85 intocado) 2026-08-24 16:12:44 -03:00
CUSTOMER.md style: prettier-format public-release docs 2026-07-31 13:16:22 -03:00
CUTOVER-MAIN-ONLY.md ops(OPS61): flip de issues pós-merge com PAT + gate do rollup checks + branch protection real no Forgejo 2026-08-18 17:45:54 -03:00
GUARDRAILS.md docs(audit-pass6): format — prettier normalization of the three artifacts 2026-08-25 11:29:03 -03:00
IMPROVE-APP-PLAN.md chore: public release tip — All Rights Reserved, sanitize field material 2026-07-31 12:53:12 -03:00
IMPROVE-CODE-QUALITY-PLAN.md docs(audit-pass6): format — prettier normalization of the three artifacts 2026-08-25 11:29:03 -03:00
PAYLOAD-REFERENCE.md chore: migrate .cursor/ references to .agents/ folder 2026-08-05 00:09:09 -03:00
roadmap.md ops(OPS91): sweep pós-cutover — textos vivos que apontavam o tracker ao Forgejo passam para o GitHub (Closes #841) 2026-08-24 15:08:14 -03:00
TECH-DEBT.md fix(OPS124): desabilita o plugin Payload do knip e explicita as exclusões (Closes #1094) 2026-09-16 19:55:07 -03:00
TESTING.md feat(OPS104): inicia o deploy no merge, com staging automático e produção com review 2026-09-14 03:07:59 -03:00