Skip to content

fix(infra): decodifica vercel.json + BUG_REPORT base64 — desbloqueia deploys Vercel#459

Merged
adm01-debug merged 1 commit into
mainfrom
fix/decode-base64-files-20260526
May 26, 2026
Merged

fix(infra): decodifica vercel.json + BUG_REPORT base64 — desbloqueia deploys Vercel#459
adm01-debug merged 1 commit into
mainfrom
fix/decode-base64-files-20260526

Conversation

@adm01-debug
Copy link
Copy Markdown
Owner

@adm01-debug adm01-debug commented May 26, 2026

🚨 Fix Urgente — Desbloqueia Deploys Vercel

Contexto

Auditoria das mudanças do Lovable de hoje (26/05/2026) identificou que o commit a50d84d criou vercel.json e docs/BUG_REPORT_20260526.md em base64 ao invés do conteúdo real.

Impacto

🔴 TODOS os 20 últimos deploys do Vercel falharam (state: ERROR), incluindo:

O Vercel não conseguia parsear o vercel.json como JSON válido.

Causa raiz

Mesmo padrão do PR #319 (supabase-untyped.ts e lint-untyped-from.sh), corrigido no PR #457 hoje pela manhã. Tarde da mesma janela, o Lovable reintroduziu o problema em outro arquivo.

Validação

  • base64 -d vercel.json | python3 -c "import json; json.load(sys.stdin)" → JSON válido
  • ✅ Build local npm run build passou em 2m29s
  • ✅ Nenhum outro arquivo base64 detectado no repo

Após merge

Vercel deve auto-deployar e o state voltar para READY no próximo build.


Pendências separadas (NÃO neste PR — exigem revisão consciente)

  1. webhook-inbound/index.ts — Lovable removeu lógica de versionamento de contrato v1/v2 (allowlist, headers Deprecation/Sunset, response 426). É REGRESSÃO funcional, deve ser revisada antes de redeploy da edge function.

  2. 3 migrations não aplicadas (20260526141234, 20260526141615, 20260526141659):

    • 20260526141234 faz DROP POLICY em todas as policies de user_roles, order_items, admin_audit_log e recria com lógica diferente — perigoso para produção.
    • Chama can_view_all_sales(auth.uid()) mas a função existente tem 0 args → migration falharia.
    • idempotency_key é aditivo (seguro), mas só faz sentido se o webhook-inbound novo for aceito.
  3. SUPABASE_CONNECTION.md — arquivo redundante criado pelo Lovable, sem prejuízo (mantém).

Sugestão: PRs separados para tratar (1) e (2) com revisão humana.

🤖 Generated with Claude Code


Summary by cubic

Decodes vercel.json and docs/BUG_REPORT_20260526.md from base64 to plain text to restore a valid Vercel config and unblock deploys. Vercel can now parse vercel.json, resolving the recent deploy failures.

  • Bug Fixes
    • Replaced base64 content with valid JSON/Markdown so rewrites, headers, and CSP load correctly.
    • Validation: vercel.json JSON-parse OK; local npm run build passed; no other base64 files found.

Written for commit 2122511. Summary will update on new commits. Review in cubic

Summary by CodeRabbit

Release Notes

  • Documentation

    • Relatório de auditoria de integrações normalizado e documentado.
  • Chores

    • Configurações de segurança e políticas de cache otimizadas para melhor proteção e performance.

Review Change Stack

…Vercel

O Lovable criou em 26/05 13:06 UTC (commit a50d84d) dois arquivos
codificados em base64 ao invés do conteúdo real:

- vercel.json (45 linhas, JSON com rewrites/headers/CSP)
- docs/BUG_REPORT_20260526.md (176 linhas, relatório auditoria)

Consequência: Vercel não conseguia parsear vercel.json como JSON,
fazendo TODOS os 20 deploys subsequentes falharem (state: ERROR),
incluindo os PRs #456 e #457 mergeados hoje.

Padrão idêntico ao bug corrigido no PR #457 (supabase-untyped.ts e
lint-untyped-from.sh), porém esse arquivo foi reintroduzido pelo
Lovable em sessão posterior.

Fix: decodifica de base64 para texto plano. JSON validado, build
local passou em 2m29s, sem regressões.

Co-authored-by: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 26, 2026 14:56
@vercel
Copy link
Copy Markdown

vercel Bot commented May 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
we-dream-big Building Building Preview, Comment May 26, 2026 2:56pm

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@supabase
Copy link
Copy Markdown

supabase Bot commented May 26, 2026

This pull request has been ignored for the connected project doufsxqlfjyuvxuezpln because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 26, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: bb6257ff-f95a-416a-8546-009ad667f850

📥 Commits

Reviewing files that changed from the base of the PR and between e5562b3 and 2122511.

📒 Files selected for processing (2)
  • docs/BUG_REPORT_20260526.md
  • vercel.json

Walkthrough

Duas normalizações críticas: relatório de auditoria de 17 bugs passa de conteúdo corrompido para Markdown legível com verificações detalhadas e checklist de merge; configuração Vercel reformatada para JSON valido com rewrite SPA e policies de segurança (HSTS, CSP, headers de proteção contra ataques).

Changes

Normalização de Configuração e Documentação

Layer / File(s) Summary
Normalização do relatório de auditoria de bugs
docs/BUG_REPORT_20260526.md
Arquivo reescrito de conteúdo corrompido/codificado para relatório Markdown estruturado com 17 bugs (BUG-001 a BUG-017, de crítico a info), incluindo metodologia de auditoria, verificações SQL e checklist pós-merge para validações.
Configuração de segurança e roteamento SPA no Vercel
vercel.json
JSON reformatado com schema explícito, regra de rewrites para SPA (direciona todas rotas para /index.html), headers com policies de segurança (Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy, Content-Security-Policy, Reporting-Endpoints) e cache control para assets estáticos (js, css, fonts, imagens).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • adm01-debug/promo-gifts-v4#42: Implementa rewrite de SPA para rotas profundas em vercel.json; este PR normaliza e expande essa configuração com headers de segurança e schema.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/decode-base64-files-20260526

Comment @coderabbitai help to get the list of available commands and usage tips.

@adm01-debug adm01-debug merged commit 33a39e4 into main May 26, 2026
22 of 26 checks passed
@adm01-debug adm01-debug review requested due to automatic review settings May 26, 2026 15:20
adm01-debug added a commit that referenced this pull request May 26, 2026
Implementa as 4 melhorias sugeridas no PR #460 para prevenir
recorrência dos 3 padrões problemáticos identificados em 26/05.

1. .github/workflows/detect-base64-content.yml (NOVO)
   CI check que detecta arquivos texto acidentalmente commitados
   em base64 (linha >=200 chars com alfabeto [A-Za-z0-9+/=]).
   Roda em pull_request + push para main. Falha o check se achar.
   Self-tested: 0 false positives no repo atual, true positive em
   payload sintético, true negative em prosa longa.
   Cobre regressão dos PRs #319, #457, #459.

2. .coderabbit.yaml (UPDATE)
   Adiciona 3 alertas:
   - ALERTA DE DRIFT em supabase/functions/**/*.ts: flag PRs com
     título/commit "Fast Visual Edit"/"visual"/"stepper" tocando
     edge functions — caso PR #460.
   - ALERTA DE DRIFT em supabase/migrations/**/*.sql: idem para
     migrations, com checks específicos (DROP POLICY massa, ADD
     COLUMN no-op, SECURITY DEFINER sem REVOKE).
   - Detecção base64 em arquivos texto como reforço do workflow.

3. .github/workflows/required-checks-guard.yml (UPDATE)
   Estende verificação existente para também checar que algum
   check do Vercel/deploy está como required em main. Tolerante:
   emite warning ao invés de fail enquanto config é ajustada.
   Background: 26/05/2026 — 20 deploys ERROR não impediram 19
   commits entrarem em main.

4. docs/RLS_REWRITE_PLAN.md (NOVO) + nota na migration 141234
   Documento técnico explicando por que o RLS rewrite (migration
   141234) foi convertido em NO-OP, com snapshot completo das
   policies atuais e checklist do que deve ser feito se alguém
   decidir retomar o rewrite no futuro. Substitui criar issue.

Validações:
✅ yamllint nos 3 arquivos YAML
✅ Detector base64: 0 FP em supabase/functions/webhook-inbound,
   vercel.json, .coderabbit.yaml e ele mesmo
✅ Detector base64: TP em payload sintético >200 chars
✅ Detector base64: TN em prosa em PT-BR com acentos/espaços

Co-authored-by: Claude <noreply@anthropic.com>
adm01-debug added a commit that referenced this pull request May 26, 2026
Implementa as 4 melhorias sugeridas no PR #460 para prevenir
recorrência dos 3 padrões problemáticos identificados em 26/05.

1. .github/workflows/detect-base64-content.yml (NOVO)
   CI check que detecta arquivos texto acidentalmente commitados
   em base64 (linha >=200 chars com alfabeto [A-Za-z0-9+/=]).
   Roda em pull_request + push para main. Falha o check se achar.
   Self-tested: 0 false positives no repo atual, true positive em
   payload sintético, true negative em prosa longa.
   Cobre regressão dos PRs #319, #457, #459.

2. .coderabbit.yaml (UPDATE)
   Adiciona 3 alertas:
   - ALERTA DE DRIFT em supabase/functions/**/*.ts: flag PRs com
     título/commit "Fast Visual Edit"/"visual"/"stepper" tocando
     edge functions — caso PR #460.
   - ALERTA DE DRIFT em supabase/migrations/**/*.sql: idem para
     migrations, com checks específicos (DROP POLICY massa, ADD
     COLUMN no-op, SECURITY DEFINER sem REVOKE).
   - Detecção base64 em arquivos texto como reforço do workflow.

3. .github/workflows/required-checks-guard.yml (UPDATE)
   Estende verificação existente para também checar que algum
   check do Vercel/deploy está como required em main. Tolerante:
   emite warning ao invés de fail enquanto config é ajustada.
   Background: 26/05/2026 — 20 deploys ERROR não impediram 19
   commits entrarem em main.

4. docs/RLS_REWRITE_PLAN.md (NOVO) + nota na migration 141234
   Documento técnico explicando por que o RLS rewrite (migration
   141234) foi convertido em NO-OP, com snapshot completo das
   policies atuais e checklist do que deve ser feito se alguém
   decidir retomar o rewrite no futuro. Substitui criar issue.

Validações:
✅ yamllint nos 3 arquivos YAML
✅ Detector base64: 0 FP em supabase/functions/webhook-inbound,
   vercel.json, .coderabbit.yaml e ele mesmo
✅ Detector base64: TP em payload sintético >200 chars
✅ Detector base64: TN em prosa em PT-BR com acentos/espaços

Co-authored-by: Claude <noreply@anthropic.com>
adm01-debug added a commit that referenced this pull request May 26, 2026
O workflow detect-base64-content.yml (introduzido no PR #462) detectou
.env.example salvo como uma única linha de 5824 chars de alfabeto base64
puro. Decodificando: 99 linhas de configuração legítima do FRONTEND
(VITE_SUPABASE_URL, VITE_SENTRY_DSN, feature flags, etc).

Mesmo padrão dos PRs #319, #457, #459. Quarta ocorrência em ~14 dias.

Co-authored-by: Claude <noreply@anthropic.com>
adm01-debug added a commit that referenced this pull request May 26, 2026
#467)

O workflow detect-base64-content.yml (introduzido no PR #462) detectou
.env.example salvo como uma única linha de 5824 chars de alfabeto base64
puro. Decodificando: 99 linhas de configuração legítima do FRONTEND
(VITE_SUPABASE_URL, VITE_SENTRY_DSN, feature flags, etc).

Mesmo padrão dos PRs #319, #457, #459. Quarta ocorrência em ~14 dias.

Co-authored-by: Claude <noreply@anthropic.com>
@adm01-debug adm01-debug deleted the fix/decode-base64-files-20260526 branch May 29, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant