OPS69 — importMap com o S3ClientUploadHandler (admin abria em branco em prod) #88

Merged
fsolla merged 1 commit from OPS69-ops69-admin-do-payload-abre-em-branco-em-producao-impo into main 2026-08-19 16:01:41 +00:00
Owner

OPS69 — Admin do Payload abria em branco em produção (importMap sem o handler do storage S3)

P0: /admin não renderizava o login em prod. Causa raiz: o importMap commitado ficou sem a entrada @payloadcms/storage-s3/client#S3ClientUploadHandler desde o OPS52 (dabc00f4 removeu o handler do Vercel Blob sem adicionar o do S3 — o generate:importmap rodou sem as envs S3_*). Com o plugin s3Storage condicional, dev/test (sem envs) geravam um importMap consistente e produção (envs ativas) falhava ao montar a view: getFromImportMap: PayloadComponent not found in importMap → login nunca renderizava.

Mudança

  • src/app/(payload)/admin/importMap.js — regenerado com as 4 S3_* dummy inline: diff de exatamente +2 linhas (import + entrada @payloadcms/storage-s3/client#S3ClientUploadHandler), nenhum outro drift.
  • AGENTS.md — nota na checklist: generate:importmap precisa das S3_* setadas (valores dummy ok) enquanto o plugin for condicional.
  • docs/changelog/2026-08-19-ops69.md + agregado regenerado.
  • docs/plans/ops69-admin-branco-importmap-s3-impl.md — impl plan aprovado no gate.

Verificação

  • Smoke headless com S3 ativo no dev local: /admin/login renderiza (formulário visível, zero erros de console) vs. o branco reproduzido no diagnóstico da intenção.
  • Gates locais verdes: tsc, lint, format:check, knip (erro P3 conhecido pré-existente, exit 0), check:cycles, unit+int (791 passou), build.
  • O e2e do admin (CI, sem S3_*) segue válido — a entrada extra do importMap fica inerte com o plugin desligado.
  • Pós-deploy (runbook docs/ops/teqo-1313-deploy.md): /admin abre o login; log do container sem o getFromImportMap do handler.

Sucessor

Guard de CI registrado como OPS70 (#87, depends #77) — regenera o importMap com envs dummy no gate e falha se o commitado divergir.

Sem migration/access/Consent/UI. Close #77.

## OPS69 — Admin do Payload abria em branco em produção (importMap sem o handler do storage S3) P0: `/admin` não renderizava o login em prod. Causa raiz: o `importMap` commitado ficou sem a entrada `@payloadcms/storage-s3/client#S3ClientUploadHandler` desde o OPS52 (`dabc00f4` removeu o handler do Vercel Blob sem adicionar o do S3 — o `generate:importmap` rodou sem as envs `S3_*`). Com o plugin `s3Storage` condicional, dev/test (sem envs) geravam um importMap consistente e produção (envs ativas) falhava ao montar a view: `getFromImportMap: PayloadComponent not found in importMap` → login nunca renderizava. ## Mudança - **`src/app/(payload)/admin/importMap.js`** — regenerado com as 4 `S3_*` dummy inline: diff de **exatamente +2 linhas** (import + entrada `@payloadcms/storage-s3/client#S3ClientUploadHandler`), nenhum outro drift. - **`AGENTS.md`** — nota na checklist: `generate:importmap` precisa das `S3_*` setadas (valores dummy ok) enquanto o plugin for condicional. - **`docs/changelog/2026-08-19-ops69.md`** + agregado regenerado. - **`docs/plans/ops69-admin-branco-importmap-s3-impl.md`** — impl plan aprovado no gate. ## Verificação - Smoke headless com S3 ativo no dev local: `/admin/login` renderiza (formulário visível, **zero erros de console**) vs. o branco reproduzido no diagnóstico da intenção. - Gates locais verdes: tsc, lint, format:check, knip (erro P3 conhecido pré-existente, exit 0), check:cycles, unit+int (791 passou), build. - O e2e do admin (CI, sem `S3_*`) segue válido — a entrada extra do importMap fica inerte com o plugin desligado. - Pós-deploy (runbook `docs/ops/teqo-1313-deploy.md`): `/admin` abre o login; log do container sem o `getFromImportMap` do handler. ## Sucessor Guard de CI registrado como **OPS70 (#87, depends #77)** — regenera o importMap com envs dummy no gate e falha se o commitado divergir. Sem migration/access/Consent/UI. Close #77.
fsolla added 1 commit 2026-08-19 15:52:53 +00:00
ops(OPS69): regenera importMap com o S3ClientUploadHandler (admin abria em branco em prod)
All checks were successful
CI (PR) / checks (pull_request) Successful in 8m36s
PR Ready + auto-merge / ready-automerge (pull_request) Successful in 8m49s
Main merge flips claimed issues to done + in-prod / issue-done (pull_request) Successful in 13s
Promote plan-issue Related on main merge / plan-issue-ready (pull_request) Has been skipped
7162c65e37
O importMap commitado ficou sem a entrada @payloadcms/storage-s3/client#S3ClientUploadHandler
desde o OPS52 (dabc00f4 removeu o handler do blob sem adicionar o do S3, porque o
generate:importmap rodou sem as envs S3_*). Com o plugin s3Storage condicional, sem as
envs o importMap sai consistente (dev/test) mas em produção (envs ativas) o admin falhava
ao montar a view — getFromImportMap: PayloadComponent not found in importMap — login nunca
renderizava. Fix: regenerar com as 4 S3_* dummy inline (loadEnvConfig do @next/env não
sobrescreve envs do processo; iterateConfig não toca DB) — diff de exatamente +2 linhas.
Smoke headless com S3 ativo: /admin/login renderiza, zero erros de console. Gates verdes
(tsc/lint/format/knip/cycles/unit+int 791/build). Sem migration/access/UI. Docs: nota no
AGENTS.md (generate:importmap precisa das S3_* enquanto o plugin for condicional) +
changelog. Guard de CI registrado como OPS70 (#87, depends #77).
fsolla merged commit 7162c65e37 into main 2026-08-19 16:01:41 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: fsolla/teqo#88
No description provided.