fix(config): remover refs Lovable mortas + reescrever DEPLOYMENT.md [Onda 6 PR 6.2]#115
Conversation
…PLOYMENT.md Onda 6 PR 6.2 — limpeza de configuração obsoleta. ## Problema Após migração para Supabase self-hosted, três artefatos ficaram apontando para infra que não existe mais: 1. `supabase/config.toml` linha 1: `project_id = "allrjhkpuscmgbsnmjlv"` (ID do Supabase Cloud Lovable, abandonado em 2026-04) 2. `docs/DEPLOYMENT.md`: 11 referências a `--project-ref allrjhkpuscmgbsnmjlv` em comandos de deploy + URL `pronto-talk-suite.lovable.app` (morta) + referências a banco FATOR X Cloud (`pgxfvjmuubtbowutlide`, também morto) 3. Documento inteiro estruturado em torno de "Deploy Automático (Lovable)" como caminho principal — mas Lovable GitHub app foi suspenso em 2026-05-07 Quem ler o DEPLOYMENT.md atual e tentar seguir os comandos vai literalmente falhar — o projeto Cloud não existe. ## Mudanças ### supabase/config.toml - Removida linha `project_id = "allrjhkpuscmgbsnmjlv"` - Adicionado header explicativo: - Aponta self-hosted como canônico (https://supabase.atomicabr.com.br) - Documenta uso de `--db-url` em vez de `--project-ref` - Mantém os 26 blocos `[functions.*]` com `verify_jwt = false` (preservam intenção mesmo que self-hosted use env vars do container) - Histórico do que foi removido + quando + por quê ### docs/DEPLOYMENT.md (reescrito de 308 → 412 linhas) Reescrita completa para refletir realidade: - **Header de migração** explicando 3 camadas históricas (Lovable → FATOR X → Self-hosted) e marcando 2 como abandonadas - Nova seção **"Arquitetura atual"** com diagrama ASCII mostrando o fluxo Vercel (frontend) → VPS AtomicaBR (Supabase self-hosted) ← Evolution API - Seção **"Deploy do frontend (Vercel)"** substitui "Deploy Automático (Lovable)" - Seção **"Deploy de Edge Functions (self-hosted)"** com 2 opções: - Via Supabase CLI com `--db-url` (recomendado) - Manual via Docker (fallback) - Comandos de migration atualizados pra `--db-url` - Variáveis de ambiente atualizadas (sem URLs Lovable mortas) - Monitoramento atualizado (Glitchtip self-hosted, Portainer, Studio self-hosted) — sem mencionar Lovable Built-in monitoring - Rollback do frontend agora aponta Vercel (não Lovable) - Novo Troubleshooting com erro comum "--project-ref dá erro" e como resolver - Referências mortas mantidas APENAS em contexto histórico ("abandonado", "NÃO funciona mais", "descomissionado") ## Validações - ✅ `npx tsc --noEmit -p tsconfig.app.json` → 0 erros (não toca código) - ✅ supabase/config.toml é TOML válido (sintaxe preservada) - ✅ Nenhuma referência a project_id morto FORA de contexto histórico - ✅ Diagrama de arquitetura confere com inventário VPS de 08/05 ## Próximo PR PR 6.5 — config sweep (.env.example + package.json + resíduos gamification) da Onda 6. Refs: - Auditoria: AUDITORIA-ZAPP-WEB-2026-05-09.md (achado C3) - Stress-test: PR 6.2 originalmente 30min, escalou pra 1-2h porque DEPLOYMENT.md tem 11 ocorrências do project_id morto - PR #88 (gamification removal) e PR #114 (TS fix) merged em main
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughO PR atualiza integralmente a documentação de deployment para refletir o estado canônico em Supabase self-hosted (AtomicaBR) e remove referências a Lovable. A configuração do Supabase CLI remove o ChangesDocumentação de Deployment e Configuração Self-Hosted
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Motivo: Alterações são primariamente documentais e configuracionais. Sem lógica de código, secrets hardcoded, ou operações destrutivas. O documento é longo mas as mudanças seguem padrão consistente: substituição de referências antigas por novas instruções self-hosted com Possibly related issues
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c812903b6e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| # Histórico: project_id = "allrjhkpuscmgbsnmjlv" foi removido em 09/mai/2026 (Onda 6 PR 6.2). | ||
| # Era o ID do Supabase Cloud Lovable (abandonado após migração pra self-hosted). |
There was a problem hiding this comment.
Restore a non-cloud project_id for Supabase CLI
When anyone runs local Supabase CLI workflows that load this config (for example supabase start or local type generation via supabase gen types --local), the CLI config schema still requires a root project_id even for local/self-hosted projects; the official config reference marks project_id as required and describes it as the local project identifier, not necessarily the old Cloud ref. Removing the key entirely makes the config invalid for those workflows; use a neutral local id like zapp-web instead of the abandoned Cloud ref.
Useful? React with 👍 / 👎.
| **Opção 1 — Via Supabase CLI com `--db-url`** (recomendado quando funcionando): | ||
|
|
||
| ```bash | ||
| # Deploy de todas as funções | ||
| supabase functions deploy --project-ref allrjhkpuscmgbsnmjlv | ||
| # Definir env var | ||
| export SUPABASE_DB_URL='postgresql://postgres:SENHA@db.supabase.atomicabr.com.br:5432/postgres' | ||
|
|
||
| # Deploy de função específica | ||
| supabase functions deploy evolution-api --project-ref allrjhkpuscmgbsnmjlv | ||
| # Deploy de uma function específica | ||
| supabase functions deploy evolution-api --db-url "$SUPABASE_DB_URL" |
There was a problem hiding this comment.
Replace the unsupported functions deploy --db-url path
For self-hosted Edge Functions, this recommended command will fail before deploying because supabase functions deploy does not accept --db-url; the current CLI reference lists flags such as --project-ref, --prune, and --use-api, but no --db-url, and the self-hosted functions docs instruct copying the function directory to the server volume and restarting the functions service. This leaves the documented primary deploy path broken whenever a developer follows it for the self-hosted VPS.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
Remove referências obsoletas ao Supabase Cloud (Lovable/FATOR X) e atualizar a documentação de deploy para refletir a arquitetura atual (Supabase self-hosted + Vercel), evitando que novos deploys/migrations sejam executados com comandos que não funcionam mais.
Changes:
- Remove
project_idlegado dosupabase/config.tomle adiciona um header explicativo direcionando para uso com--db-url. - Reescreve
docs/DEPLOYMENT.mdcom arquitetura atual, fluxo de deploy do frontend (Vercel) e deploy/migrations para Supabase self-hosted. - Adiciona troubleshooting/checklists atualizados e preserva referências antigas apenas como contexto histórico.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
supabase/config.toml |
Remove project_id de Supabase Cloud e documenta uso canônico com self-hosted/--db-url. |
docs/DEPLOYMENT.md |
Atualiza guia de deploy para Vercel + Supabase self-hosted e remove comandos antigos com --project-ref. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| supabase gen types typescript --db-url "$SUPABASE_DB_URL" > src/integrations/supabase/types.ts | ||
| ``` | ||
|
|
||
| > **Nota:** o `prebuild` do `package.json` chama `bun run types:check`, que executa `scripts/validate-supabase-types.sh` — mantenha esse script funcional para o build não quebrar. |
| bun run types:gen | ||
|
|
||
| # Ou pular validação localmente (CI ainda valida) | ||
| SKIP_VALIDATE_TYPES=1 bun run build |
|
|
||
| Antes de mergear em `main`: | ||
|
|
||
| - [ ] Testes passando (`bun test`) |
| ### Gerar types TypeScript | ||
|
|
||
| ```bash | ||
| # Via CLI | ||
| supabase secrets set EVOLUTION_API_KEY=xxx --project-ref allrjhkpuscmgbsnmjlv | ||
| # Via script do projeto | ||
| bun run types:gen | ||
|
|
||
| # Listar secrets | ||
| supabase secrets list --project-ref allrjhkpuscmgbsnmjlv | ||
| # Ou manualmente | ||
| supabase gen types typescript --db-url "$SUPABASE_DB_URL" > src/integrations/supabase/types.ts | ||
| ``` |
✅ Pronto para mergeStatus checks
Validação localComo #114 (TS fix), CodeRabbit em rate-limit. Cobertura suficiente: CodeQL + Vercel Agent + check-quality + Gitleaks. |
…ckage.json + sweep .env.example (#116) Onda 6 PR 6.5 — Config sweep (último PR da Onda 6). ## Contexto PR #88 removeu a feature de gamification do produto, mas deixou resíduos em 4 lugares (i18n, dashboard widget, CSS, .env flag). Este PR completa o trabalho. Também corrige problemas estruturais do package.json e atualiza comentários do .env.example pra refletir realidade self-hosted. ## Mudanças ### .env.example (+11 / -8 linhas) - Removida flag morta `VITE_ENABLE_GAMIFICATION=true` (não é lida em lugar nenhum no código — feature foi removida no PR #88) - Atualizado comentário FATOR X → marca `VITE_EXTERNAL_SUPABASE_URL` como alias da URL canônica, com nota de que será consolidada na Onda 7 - Mesma atualização para `VITE_ZAPPWEB_SUPABASE_URL` (também alias) - Comentário PROMOGIFTS atualizado: "Setar como secrets no Lovable Cloud" → "Setar como env vars do container supabase_functions na VPS" ### package.json (+7 / -7 linhas) - `name: "vite_react_shadcn_ts"` → `"zapp-web"` (era template Lovable nunca renomeado) - `version: "0.0.0"` → `"2.0.1"` (alinha com CHANGELOG.md) - 5 deps movidas de `dependencies` → `devDependencies`: - @playwright/test - @testing-library/dom - @testing-library/jest-dom - @testing-library/react - @vitejs/plugin-react - Reordenação alfabética das deps (boa prática) ### Resíduos gamification eliminados (4 arquivos) #### src/hooks/useDashboardWidgets.ts (-3 widgets mortos) 3 widgets level 3 sem renderer correspondente removidos: - `leaderboard` (Ranking) - `achievements` (Conquistas) - `mini-games` (Mini-games) `DashboardWidgetRenderer.tsx` só conhece 4 types (`stats`, `ai-stats`, `queues`, `activity`) — esses 3 caíam no default e retornavam null. Eram código morto desde o PR #88. `ai-stats` permanece (único widget level 3 com renderer real). #### src/components/dashboard/ProgressiveDisclosureDashboard.tsx (-2 / +2) Seção Level 3 renomeada: - id: `gamification` → `ai-insights` - title: "Gamificação & IA" → "Análises IA" - description: "Conquistas, ranking, mini-games e estatísticas de IA" → "Estatísticas e métricas de IA" - icon: `Gamepad2` → `Sparkles` (mais apropriado pra analytics) #### src/i18n/index.ts (-10 strings) Removidas 10 strings i18n `gamification.*` (5 PT-BR + 5 EN): - gamification.level, gamification.xp, gamification.achievements, gamification.streak, gamification.leaderboard Validado que NENHUMA dessas strings é referenciada em src/ (só estavam no índice i18n, nunca consumidas). #### src/styles/components.css Comentário do header atualizado: "chat, gamification" → "chat, analytics" ## Validações - ✅ `npx tsc --noEmit -p tsconfig.app.json` → 0 erros - ✅ `npx eslint .` → 1328 warnings, 0 errors (mantido após PR 6.1) - ✅ Nenhuma referência a `gamification` em src/ ou .env.example - ✅ Dashboard ainda renderiza level3Widgets (só ai-stats agora) - ✅ package.json é JSON válido com deps ordenadas - ✅ Net diff: -10 linhas (limpeza) ## Risco 🟢 **Baixo.** - `name` e `version` do package.json são metadados — não afetam build - Mover deps pra devDeps reduz bundle de produção (positivo) - Widgets gamification removidos eram código morto sem renderer - i18n strings removidas nunca foram usadas ## Fecha a Onda 6 Com este merge: - ✅ PR 6.1 — TS errors zero (#114, mergeado) - ✅ PR 6.2 — config.toml + DEPLOYMENT.md (#115, em revisão) - ✅ PR 6.5 — config sweep (este PR) Movidos pra Ondas 7-8 (decisão arquitetural): - 6.3 → Onda 7 (functions invocadas, depende consolidação Supabase) - 6.4 → Onda 8 (toast, depende design system) Refs: AUDITORIA-ZAPP-WEB-2026-05-09.md (achados F9, F12, parte de C5)
Bug pré-existente que vinha quebrando o CI test step (Build) há vários PRs: $ bash scripts/validate-supabase-types.sh⚠️ SUPABASE_PROJECT_ID not set 🔄 Generating Supabase types... WARN: no seed files matched pattern: supabase/seed.sql Missing required field in config: project_id error: script "types:gen" exited with code 1 Causa raiz: em CI, sem SUPABASE_PROJECT_ID setada, o script caía no branch 'elif [ -d supabase ] && docker ps' (pasta supabase/ existe + GitHub Actions runner tem docker), tentando 'supabase gen types typescript --local'. Mas --local exige uma instância Supabase rodando localmente (com 'supabase start') que não existe no CI runner. Resultado: falha 'Missing required field in config: project_id' e build aborted. Fix: early-exit no script quando CI=true e SUPABASE_PROJECT_ID não está setada. Confia no types.ts commitado (gerado localmente via --db-url, source-of-truth do projeto self-hosted). Padrão coerente com supabase/config.toml que já documenta o setup self-hosted desde a Onda 6 (PR #115). Comportamentos validados localmente: ✅ CI=true sem PROJECT_ID (cenário do bug) → exit 0 (usa types.ts commitado) ✅ CI=true --check --summary (check-mode) → exit 0 (valida arquivo presente) ✅ Dev local (CI unset) → fluxo antigo preservado ✅ CI=true bun run prebuild (full) → exit 0 + component registry OK Resolve a 1ª das 3 pendências mapeadas após Onda 8 fechada. Refs: - Onda 6 PR #115 (config.toml self-hosted): 0f10ab4 - Onda 8 PR #121 (lint passing): 21fba6f - Falhas em main desde antes do PR #114 (todos os builds falhavam por isso)
🎯 Onda 6 PR 6.2 — Limpeza de configuração obsoleta
Após migração para Supabase self-hosted, dois artefatos ficaram apontando para infra que não existe mais:
supabase/config.tomllinha 1:project_id = "allrjhkpuscmgbsnmjlv"(ID do Supabase Cloud Lovable, abandonado)docs/DEPLOYMENT.md: 11 referências a--project-ref allrjhkpuscmgbsnmjlvem comandos de deploy + URLpronto-talk-suite.lovable.appmorta + ID FATOR X Cloud mortoQuem ler o DEPLOYMENT.md hoje e tentar seguir os comandos VAI FALHAR — o projeto Cloud não existe.
Mudanças
supabase/config.toml(21 linhas alteradas)project_id = "allrjhkpuscmgbsnmjlv"(linha 1)--db-urlem vez de--project-ref, mantém histórico do que foi removido[functions.*]comverify_jwt = falsedocs/DEPLOYMENT.md(308 → 412 linhas, reescrita completa)Antes:
supabase functions deploy --project-ref allrjhkpuscmgbsnmjlvpronto-talk-suite.lovable.app(morta) referenciada em DNS recordspgxfvjmuubtbowutlide) — também abandonadoDepois:
--db-urlrecomendado / manual via Docker como fallback)--db-url "$SUPABASE_DB_URL"--project-refdá erro" e como resolverReferências mortas mantidas (propositalmente)
5 menções a
lovable/allrjhkpuscmgbsnmjlv/pronto-talk-suitepermanecem apenas no contexto histórico, marcadas como:Servem como avisos para quem lê não tentar usar.
Validações
npx tsc --noEmit -p tsconfig.app.json→ 0 erros (não toca código TS)supabase/config.tomlpermanece TOML válidoRisco
🟢 Baixíssimo. Não toca código de produção, apenas:
config.toml) que já estava quebradaPróximo PR
PR 6.5 — config sweep (
.env.example+package.json+ resíduos gamification) fechando a Onda 6 revisada.Refs
AUDITORIA-ZAPP-WEB-2026-05-09.md(achado C3)inventario-vps-atomicabr-2026-05-08.md(validação da arquitetura)Summary by CodeRabbit
Notas de Lançamento