teqo-backup/src/utilities/recordings
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
..
recordingClassification.ts feat(C219): paridade de busca e filtros nas gravações do acervo (Closes #1295) 2026-09-24 04:00:06 -03:00
recordingJob.ts fix(C199): upload de gravações fatiado em 16 MiB — escapa do 413 do edge 2026-09-28 19:36:12 -03:00
recordingListFilters.ts feat(C219): paridade de busca e filtros nas gravações do acervo (Closes #1295) 2026-09-24 04:00:06 -03:00
recordingListUrl.ts feat(C216): terceira fonte do acervo — falas na internet (Closes #1292) 2026-09-24 17:01:42 -03:00
recordingOmnibox.ts feat(C219): paridade de busca e filtros nas gravações do acervo (Closes #1295) 2026-09-24 04:00:06 -03:00
recordingPageData.ts feat(C219): paridade de busca e filtros nas gravações do acervo (Closes #1295) 2026-09-24 04:00:06 -03:00
recordingScheduler.ts feat(C199): gravações enviadas no acervo de comunicação (Closes #1166) 2026-09-18 23:42:30 -03:00
recordingUpload.ts fix(C199): upload de gravações fatiado em 16 MiB — escapa do 413 do edge 2026-09-28 19:36:12 -03:00
recordingUploadSession.ts fix(C199): upload de gravações fatiado em 16 MiB — escapa do 413 do edge 2026-09-28 19:36:12 -03:00
recordingViewModels.ts feat(C219): paridade de busca e filtros nas gravações do acervo (Closes #1295) 2026-09-24 04:00:06 -03:00