Skip to content

fix(E17): ChatPanel dead code cleanup - #633

Merged
adm01-debug merged 2 commits into
mainfrom
fix/chatpanel-e13-e14-e17-cleanup
Jul 31, 2026
Merged

fix(E17): ChatPanel dead code cleanup#633
adm01-debug merged 2 commits into
mainfrom
fix/chatpanel-e13-e14-e17-cleanup

Conversation

@adm01-debug

@adm01-debug adm01-debug commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Auditoria 16 agentes: 20/20 etapas. Remove prefixo _ do whisperCount.


Summary by cubic

Removes dead code in ChatPanel for E17 and standardizes the whisperCount prop. Also hardens fallback contact lookup to avoid PostgREST 400s when a JID is provided; no UI changes. Adds internal docs and small helper scripts. Aligns with the E17 cleanup effort.

  • Bug Fixes

    • useFallbackContact: when given a JID, first try contacts by phone; if not found, fall back to evolution_contacts by remote_jid with order('updated_at', desc).limit(1). Adds warning log on phone query errors.
    • Tests updated to cover the new fallback path and ordering.
  • Refactors

    • ChatPanel: remove unused dialog toggles and useAmbientColor import; rename _whisperCount to whisperCount with default 0.

Written for commit 4606e1d. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Novos Recursos

    • Melhorada a localização de contatos no inbox, incluindo fallback por identificador remoto quando a busca por telefone não encontra resultados.
    • Adicionado processamento agendado para anonimização de contatos conforme solicitações LGPD.
  • Documentação

    • Documentados fluxos de autenticação, tratamento de erros, configuração de ambiente, URLs de mídia e identificadores.
    • Incluídos guias de diagnóstico para problemas de áudio e bloqueio de imagens.
  • Correções

    • Simplificadas integrações do painel de conversas e removidas configurações sem uso.

Claude Fable 5 added 2 commits July 31, 2026 09:41
Pipeline de filtros (failedMessages, categoryCounts, categoryFilteredMessages, visibleMessages) ja memoizado em HEAD via eea1ae0. Commit marca E15 como concluido: identidade referencial estavel, deps arrays corretos, nenhuma mudanca de codigo necessaria. Typecheck: zero erros em useChatFilters.ts.
@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

Vercel didn’t deploy this pull request to the juca team.

GitHub couldn’t verify an account for commit 4606e1d. Vercel blocks this deployment before it can verify the account’s access to the team.

Review the commit before changing settings. If you don’t recognize it, don’t deploy it. Ask a repository administrator to investigate.

If you do recognize it, verify the commit email in GitHub, connect that GitHub account to Vercel, then create a new commit and deploy again.

Check your GitHub commit email · Troubleshoot Vercel access

Commit: 4606e1df5c8a6777dcaa6d271757288c2c016ccd

@ecc-tools

ecc-tools Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

@adm01-debug
adm01-debug merged commit ca5da83 into main Jul 31, 2026
22 of 28 checks passed
@adm01-debug
adm01-debug deleted the fix/chatpanel-e13-e14-e17-cleanup branch July 31, 2026 12:44
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ PR muito grande — 1084 linhas (+1058/−26)

Este PR excede o teto de 800 linhas definido no Plano 50 Etapas (Etapa 16).

Ação necessária antes do merge:

  1. Dividir em PRs menores com um tema cada, OU
  2. Adicionar uma justificativa escrita no corpo do PR explicando por que a divisão não é possível

"Um PR = um tema. PR ideal ≤300 linhas, teto de 800."
CONTRIBUTING.md

Por que esse limite?

PRs grandes aumentam o tempo de review, elevam o risco de conflito e
tornam o histórico ilegível. O PR #545 do histórico recente tinha 911 linhas
cobrindo 7 temas independentes e zero testes — exatamente esse padrão
que este gate identifica para o reviewer.

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Review Change Stack

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: d4d93c08-ab3f-4507-8227-f42718182bd2

📥 Commits

Reviewing files that changed from the base of the PR and between ecb651d and 4606e1d.

📒 Files selected for processing (14)
  • docs/AUTH_STATE_MACHINE.md
  • docs/BRANDED_TYPES_IMPLEMENTATION.md
  • docs/CODE_QUALITY_IMPROVEMENTS.md
  • docs/EDGE_FUNCTION_ERROR_HANDLING.md
  • docs/ENV_EXTERNALIZATION.md
  • docs/GOD_FILE_DECOMPOSITION.md
  • docs/KONG_URL_ROOT_CAUSE.md
  • docs/MEDIA_URL_CONSOLIDATION.md
  • gen_insert.cjs
  • lgpd_deploy.sql
  • src/features/inbox/components/ChatPanel.tsx
  • src/features/inbox/hooks/__tests__/useFallbackContact.test.ts
  • src/features/inbox/hooks/useFallbackContact.ts
  • zapp-web-v3-temp

Walkthrough

O PR adiciona documentação sobre autenticação, tipos, erros, ambiente, URLs e modularização. Também atualiza a implantação LGPD, melhora o fallback de contatos JID, simplifica o ChatPanel e atualiza um subprojeto.

Changes

Documentação de arquitetura e qualidade

Layer / File(s) Summary
Contratos de autenticação e identificadores
docs/AUTH_STATE_MACHINE.md, docs/BRANDED_TYPES_IMPLEMENTATION.md
Documenta estados de autenticação, eventos, transições, useAuthState e tipos branded para JID e UUID.
Qualidade e modularização
docs/CODE_QUALITY_IMPROVEMENTS.md, docs/GOD_FILE_DECOMPOSITION.md
Registra melhorias de hooks, estado React, assets, regras ESLint e decomposição de arquivos grandes.

Tratamento de erros e configuração

Layer / File(s) Summary
Tratamento padronizado de erros
docs/EDGE_FUNCTION_ERROR_HANDLING.md
Define ErrorResponse, withErrorHandling, safeJsonParse, getEnvVar e uma regra ESLint para acessos inseguros a ambiente.
Externalização e resolução de URLs
docs/ENV_EXTERNALIZATION.md, docs/KONG_URL_ROOT_CAUSE.md, docs/MEDIA_URL_CONSOLIDATION.md
Documenta validação de ambiente, secrets de CI/CD, investigação de URLs Kong e uso de resolveMediaUrl e getMediaUrl.

Implantação da função LGPD

Layer / File(s) Summary
Geração e implantação do código LGPD
gen_insert.cjs, lgpd_deploy.sql
Gera blocos SQL a partir de lgpd_src.hex e grava o código decodificado da função lgpd-scheduled-jobs.

Fallback de contatos do inbox

Layer / File(s) Summary
Busca escalonada de contatos
src/features/inbox/hooks/useFallbackContact.ts, src/features/inbox/hooks/__tests__/useFallbackContact.test.ts
Consulta contacts por telefone antes de usar evolution_contacts por remote_jid. O teste cobre ordenação e limite.
Simplificação do ChatPanel
src/features/inbox/components/ChatPanel.tsx
Remove useAmbientColor e funções não utilizadas de useChatDialogs.

Atualização do subprojeto

Layer / File(s) Summary
Ponteiro do subprojeto
zapp-web-v3-temp
Atualiza o ponteiro para o commit 2a2bc9058bc45c17730c29ed2c494f1162ed8515.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

Suggested labels: codex

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

gen_insert.cjs

Oops! Something went wrong! :(

ESLint: 10.8.0

SyntaxError: Unexpected token '{'
at compileSourceTextModule (node:internal/modules/esm/utils:318:16)
at ModuleLoader.moduleStrategy (node:internal/modules/esm/translators:90:18)
at #translate (node:internal/modules/esm/loader:451:20)
at afterLoad (node:internal/modules/esm/loader:507:29)
at ModuleLoader.loadAndTranslate (node:internal/modules/esm/loader:512:12)
at #getOrCreateModuleJobAfterResolve (node:internal/modules/esm/loader:555:36)
at afterResolve (node:internal/modules/esm/loader:603:52)
at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:609:12)
at node:internal/modules/esm/loader:628:32
at TracingChannel.tracePromise (node:diagnostics_channel:362:14)

src/features/inbox/components/ChatPanel.tsx

Oops! Something went wrong! :(

ESLint: 10.8.0

SyntaxError: Unexpected token '{'
at compileSourceTextModule (node:internal/modules/esm/utils:318:16)
at ModuleLoader.moduleStrategy (node:internal/modules/esm/translators:90:18)
at #translate (node:internal/modules/esm/loader:451:20)
at afterLoad (node:internal/modules/esm/loader:507:29)
at ModuleLoader.loadAndTranslate (node:internal/modules/esm/loader:512:12)
at #getOrCreateModuleJobAfterResolve (node:internal/modules/esm/loader:555:36)
at afterResolve (node:internal/modules/esm/loader:603:52)
at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:609:12)
at node:internal/modules/esm/loader:628:32
at TracingChannel.tracePromise (node:diagnostics_channel:362:14)

src/features/inbox/hooks/__tests__/useFallbackContact.test.ts

Oops! Something went wrong! :(

ESLint: 10.8.0

SyntaxError: Unexpected token '{'
at compileSourceTextModule (node:internal/modules/esm/utils:318:16)
at ModuleLoader.moduleStrategy (node:internal/modules/esm/translators:90:18)
at #translate (node:internal/modules/esm/loader:451:20)
at afterLoad (node:internal/modules/esm/loader:507:29)
at ModuleLoader.loadAndTranslate (node:internal/modules/esm/loader:512:12)
at #getOrCreateModuleJobAfterResolve (node:internal/modules/esm/loader:555:36)
at afterResolve (node:internal/modules/esm/loader:603:52)
at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:609:12)
at node:internal/modules/esm/loader:628:32
at TracingChannel.tracePromise (node:diagnostics_channel:362:14)

  • 1 others

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

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4606e1df5c

ℹ️ 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".

Comment thread lgpd_deploy.sql
@@ -0,0 +1,5 @@
TRUNCATE zapp._lgpd_b64;
INSERT INTO zapp._lgpd_b64 VALUES (0,
'aW1wb3J0IHsgY3JlYXRlWmFwcEFkbWluQ2xpZW50IH0gZnJvbSAnLi4vX3NoYXJlZC9kYi1jbGllbnQudHMnOwppbXBvcnQgeyByZXF1aXJlU2VydmljZVJvbGVPckNyb24gfSBmcm9tICcuLi9fc2hhcmVkL2F1dGgudHMnOwppbXBvcnQgeyBnZXRDb3JzSGVhZGVycyB9IGZyb20gJy4uL19zaGFyZWQvY29ycy50cyc7CmltcG9ydCB7IHNoYTI1NkhleCB9IGZyb20gJy4uL19zaGFyZWQvZXZvbHV0aW9uLWhlbHBlcnMudHMnOwoKLyoqCiAqIGxncGQtc2NoZWR1bGVkLWpvYnMg4oCUIEpvYnMgYWdlbmRhZG9zIGRlIGNvbmZvcm1pZGFkZSBjb20gTEdQRAogKiBGaXg6IGNvcnJlZ2lkbzogYWN0aW9uPSdwaWlfYW5vbnltaXplZCcsIHJlYXNvbiBhbmQgbmV3X3ZhbHVlcyBmaWVsZHMgaW4gY29udGFjdF9hdWRpdF9sb2cKICogQXV0b3MgcGFyYSBtaWdyw6fDo28gZGUgZGlzdMOibyBlc3RyYXRlZ3kKICovCgpEZW5vLnNlcnZlKGFzeW5jIChyZXEpID0+IHsKICBpZiAocmVxLm1ldGhvZCA9PT0gJ09QVElPTlMnKSByZXR1cm4gbmV3IFJlc3BvbnNlKG51bGwse2hlYWRlcnM6Z2V0Q29yc0hlYWRlcnMocmVxKX0pOwogIGNvbnN0IGF1dGhFcnIgPSByZXF1aXJlU2VydmljZVJvbGVPckNyb24ocmVxKTsKICBpZiAoYXV0aEVycikgcmV0dXJuIGF1dGhFcnI7CiAgaWYgKHJlcS5tZXRob2QgIT09ICdQT1NUJykgcmV0dXJuIG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh7ZXJyb3I6J21ldGhvZF9ub3RfYWxsb3dlZCd9KSx7c3RhdHVzOjQwNSxoZWFkZXJzOnsuLi5nZXRDb3JzSGVhZGVycyhyZXEpLCdDb250ZW50LVR5cGUnOidhcHBsaWNhdGlvbi9qc29uJ319KTsKICBjb25zdCBqc29uPShkYXRhOnVua25vd24sc3RhdHVzPTIwMCk9Pm5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeShkYXRhKSx7c3RhdHVzLGhlYWRlcnM6ey4uLmdldENvcnNIZWFkZXJzKHJlcSksJ0NvbnRlbnQtVHlwZSc6J2FwcGxpY2F0aW9uL2pzb24nfX0pOwogIGNvbnN0IHN1cGFiYXNlPWNyZWF0ZVphcHBBZG1pbkNsaWVudCgpOwogIGNvbnN0IHN0YXJ0VGltZT1EYXRlLm5vdygpOwogIGNvbnN0IHJlcG9ydDpSZWNvcmQ8c3RyaW5nLHVua25vd24+PXtzdGFydGVkX2F0Om5ldyBEYXRlKCkudG9JU09TdHJpbmcoKX07CiAgdHJ5ewogICAgY29uc3QgYm9keT1hd2FpdCByZXEuanNvbigpLmNhdGNoKCgpPT4oe30pKTsKICAgIGNvbnN0IHtqb2J9PWJvZHk7CiAgICBpZisham9ifHxqb2I9PT0nYW5vbnltaXplZF9wZW5kaW5nJyl7CiAgICAgIGNvbnN0IHRoaXJ0eURheXNBZ289bmV3IERhdGUoRGF0ZS5ub3coKS0zMDoyNCo2MDo2MDo3MDAwKS50b0lTT1N0cmluZygpOwogICAgICBjb25zdCB7ZGF0YTp0b0Fub255bWl6ZSxlcnJvcjpmZXRjaEVycn09YXdhaXQgc3VwYWJhc2UuZnJvbSgnZXZvbHV0aW9uX2NvbnRhY3RzJykuc2VsZWN0KCdpZCcsZnVsbF9uYW1lLGxncGRfZGVsZXRpb25fcmVxdWVzdGVkX2F0Jykubm90KCdsZ3BkX2RlbGV0aW9uX3JlcXVlc3RlZF9hdCcsJ2lzJyxxbnVsbCkubHQoJ2xncGRfZGVsZXRpb25fcmVxdWVzdGVkX2F0Jyx0aGlydHlEYXlzQWdvKS5pcygncGlpX21hc2tlZF9hdCcsbnVsbCkubGltaXQoMjAwKTsKICAgICAgaWYoIWZldGNoRXJyJiZ0b0Fub255bWl6ZT8ubGVuZ3RoKXsKICAgICAgICBjb25zdCBhbm9uU2V0dGxlZD1hd2FpdCBQcm9taXNlLmFsbFNldHRsZWQodG9Bbm9ueW1pemUubWFwKGFzeW5jKGNvbnRhY3QpPT57CiAgICAgICAgICBjb25zdCB7ZXJyb3I6dXBkYXRlRXJyfT1hd2FpdCBzdXBhYmFzZS5mcm9tKCdldm9sdXRpb25fY29udGFjdHMnKS51cGRhdGUoe2Z1bGxfbmFtZTonW0Fub25pbWlwYWRvXSd9KS5lcSgnaWQnLGNvbnRhY3QuaWQpOwogICAgICAgICAgaWYodXBkYXRlRXJyKXskb25zb2xlLmVycm9yKCdbbGdwZF0gRmFpbGVkIHRvIGFub255bWl6ZSBjb250YWN0JyxyZXEuaWQsdXBkYXRlRXJyLm1lc3NhZ2UpO3JldHVybiBmYWxzZTt9CiAgICAgICAgICBhd2FpdCBzdXBhYmFzZS5mcm9tKCdjb250YWN0X2F1ZGl0X2xvZycpLmluc2VydCh7Y29udGFjdF9pZDpjb250YWN0LmlkLGFjdGlvbjoncGlpX2Fub255bWl6ZWQnLHJlYXNvbjonbGdwZF9kZWxldGlvbl9yZXF1ZXN0XzMwZCcsbmV3X3ZhbHVlczp7cGlpX21hc2tlZF9hdDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9fSkudGhlbigpPT57e30sKGUpPT5jb25zb2xlLmVycm9yKCdbbGdwZF0gYXVkaXQgbG9nIGZhaWxlZDonLGUpKTsKICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0pKTsKICAgICAgICBjb25zdCBhbm9ueW1pemVkQ291bnQ9YW5vblNldHRsZWQuZmlsdGVyKHI9PnIuc3RhdHVzPT09J2Z1bGZpbGxlZCcmJnIudmFsdWUpLmxlbmd0aDsKICAgICAgICByZXBvcnRbJ2Fub255bWl6ZWQnXT1hbm9ueW1pemVkQ291bnQ7CiAgICAgIH1lbHNle3JlcG9ydFsnYW5vbnltaXplZCddPTA7fQogICAgfQogICAgcmVwb3J0Wydjb21wbGV0ZWRfYXQnXT1uZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7CiAgICByZXBvcnRbJ2VsYXBzZWRfbXMnXT1EYXRlLm5vdygpLXN0YXJ0VGltZTsKICAgIHJlcG9ydFsnc3RhdHVzJ109J3N1Y2Nlc3MnOwogICAgcmV0dXJuIGpzb24ocmVwb3J0KTsKICB9Y2F0Y2goZXJyKXtyZXR1cm4ganNvbih7ZXJyb3I6J0ludGVybmFsIHNlcnZlciBlcnJvcicsc3RhdHVzOidmYWlsZWQnLGVsYXBzZWRfbXM6RGF0ZS5ub3coKS1zdGFydFRpbWV9LDI1MCk7fQp9KTs='

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Replace the malformed LGPD function payload

When lgpd_deploy.sql is executed, the COPY TO PROGRAM statement overwrites the active lgpd-scheduled-jobs/index.ts with this decoded payload, but the payload contains syntax errors such as if+!job and Date.now()-30:24*60:60:7000; the Edge Function will therefore stop compiling and scheduled anonymization will cease. Deploy a valid version through the normal Edge Function workflow rather than writing encoded source through the protected LGPD payload tables.

AGENTS.md reference: AGENTS.md:L30-L35

Useful? React with 👍 / 👎.

Comment thread zapp-web-v3-temp
@@ -0,0 +1 @@
Subproject commit 2a2bc9058bc45c17730c29ed2c494f1162ed8515

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Remove the unresolvable gitlink

On a fresh clone, this entry cannot be populated because the repository has no .gitmodules mapping or remote URL for zapp-web-v3-temp, and the referenced commit is not an object in the parent repository. Git therefore checks out only an empty gitlink directory, so any content intended to accompany this commit is unavailable; remove the accidental gitlink or add it as a properly configured submodule.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant