Skip to content

fix(i18n): traduz toasts e completa chaves ES do menu - #744

Merged
melgarafael merged 2 commits into
melgarafael:mainfrom
biopaul:fix/i18n-es-missing-keys
Sep 14, 2026
Merged

melgarafael merged 2 commits into
melgarafael:mainfrom
biopaul:fix/i18n-es-missing-keys

Conversation

@biopaul

@biopaul biopaul commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Traduz title/body em entregarAviso (toasts da esquina / CRM / inbound) via traduzir + idiomaAtual, no mesmo padrão de showApiError.
  • Envolve toasts de follow-up, agenda, admin e onboarding WhatsApp com useT() / t().
  • Acrescenta chaves ES faltantes do NAV/hub (+ toasts de agenda/admin) em dicionario.ts.

Why

Com idioma es, vários avisos e itens de menu continuavam em português: ou o código não chamava t(), ou a chave do catálogo não existia no dicionário (degradação silenciosa para o PT).

Test plan

  • pnpm exec vitest run tests/unit/i18n-espanhol-cobre-a-tela.test.ts (5/5)
  • UI em espanhol: toasts de lead assign / mensagem inbound / salvar follow-up / criar cita
  • Sidebar + hub IA + ⌘K sem labels/descriptions órfãs em PT
  • pt-BR inalterado (chave = texto PT)

Toasts da esquina e vários hooks ignoravam t()/traduzir mesmo com entradas no dicionário; o NAV/hub também caía em português por chaves ausentes.

Co-authored-by: Cursor <cursoragent@cursor.com>
@vercel

vercel Bot commented Sep 12, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the rafael-maudibrasil's projects Team on Vercel.

A member of the Team first needs to authorize it.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Security Evidence

Commit: a3bd89f826b32bc43669b25e4847cf6259cef7eb

Security scanner evidence required (action_required)

Detected 1 security-sensitive predictive risk signal(s) without scanner evidence.

Mode: enforce

Findings:

  • Security-sensitive changes may ship without scanner evidence: The PR touches billing, secrets, auth, webhooks, agent, or CI-sensitive surfaces without adding obvious security scanner, code scanning, or security-focused validation evidence. (6 security-sensitive paths changed; 0 security scanner or security-focused validation artifacts changed)

Touched security-sensitive paths:

  • hooks/agenda/useMarcarAgendamento.ts
  • hooks/agenda/useRemarcarAgendamento.ts

Expected evidence:

  • Security scanner, code scanning, secret scanning, dependency/security review, or focused security regression output.
  • SARIF/code-scanning upload or equivalent pass/fail gate for the changed surface.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Risk Taxonomy

Commit: a3bd89f826b32bc43669b25e4847cf6259cef7eb

PR taxonomy review recommended (neutral)

Detected 2 PR taxonomy bucket(s): Security Evidence, CI/CD Recommendation.

Scanned 10 changed file(s).

Roadmap taxonomy buckets:

Security Evidence

Security-sensitive changes should carry explicit scanner, code-scanning, or focused regression evidence.

Signals:

  • Security-sensitive changes may ship without scanner evidence
  • 0 security-sensitive path(s) changed

Paths:

  • app/onboarding/connect-whatsapp/_client.tsx
  • components/kanban/NewLeadDialog.tsx
  • hooks/agenda/useMarcarAgendamento.ts

CI/CD Recommendation

CI, dependency, coverage, and contract signals should be routed into follow-up checks or verification work.

Signals:

  • Regression coverage may lag behind the diff
  • User-facing UI changes may ship without browser coverage
  • 0 CI or workflow path(s) changed

Paths:

  • app/onboarding/connect-whatsapp/_client.tsx
  • components/kanban/NewLeadDialog.tsx
  • hooks/agenda/useMarcarAgendamento.ts
  • hooks/agenda/useRemarcarAgendamento.ts
  • hooks/followup/useFollowupFlow.ts
  • hooks/useReactivateTenant.ts
  • hooks/useResolveIncident.ts
  • hooks/useSuspendTenant.ts

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Reference Set Readiness

Commit: a3bd89f826b32bc43669b25e4847cf6259cef7eb

Reference set readiness gaps detected (neutral)

Reference evidence present for 0/7 areas (0%) across 10 changed file(s).

This check is based on files changed in this PR. Repository-level readiness is still reported by /ecc-tools analyze comments and generated manifests.

Area Status Evidence / Next Step
Deep analyzer corpus Missing Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions.
RAG/evaluator comparison Missing Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior.
PR salvage/review corpus Missing Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation.
Discussion triage corpus Missing Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications.
Harness compatibility Missing Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces.
Security evidence Missing Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs.
CI failure-mode evidence Missing Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Hosted Promotion Readiness

Commit: a3bd89f826b32bc43669b25e4847cf6259cef7eb

Hosted promotion readiness passed (success)

No hosted promotion evidence gaps detected across 10 changed file(s); 0 corpus scenarios had matching evidence.

This check compares PR file changes against the evaluator/RAG promotion corpus in src/analyzers/fixtures/evaluator-rag-corpus.ts.
Hosted output scoring inspected 0 completed cached hosted job results.

No evaluator corpus scenarios matched this PR.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@github-actions

Copy link
Copy Markdown

Recebido, @biopaul — obrigado por isto.

Duas coisas que vão parecer erro seu e não são:

  • O check Vercel vermelho ("Authorization required to deploy") é esperado em PR de fork. A
    main faz deploy de produção e a Vercel se recusa a construir código de fora, o que está
    certo. Ele não entra no gate de merge.
  • No primeiro PR de quem nunca contribuiu aqui, os workflows ficam parados esperando
    liberação
    — política do GitHub, não sua. Enquanto isso o PR parece não ter check nenhum
    (nem o gh pr checks mostra os que estão nesse estado). Quem tria libera; você não precisa
    fazer nada.

Um mantenedor vai revisar de verdade — rodando os gates e reproduzindo o comportamento, não só
lendo o diff — e responde aqui em até um dia útil, com a medição junto, nunca com um "acho
que".

Esta mensagem é automática e não diz nada sobre o seu PR: ela é sobre o processo. O que vem
depois é pessoa.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Config Audit

Commit: a3bd89f826b32bc43669b25e4847cf6259cef7eb

No changed-config issues detected (success)

Scanned 3 config file(s) present at this commit across 3 changed config path(s) and found no issues in the supported security rules.

Changed config files:

  • hooks/useReactivateTenant.ts
  • hooks/useResolveIncident.ts
  • hooks/useSuspendTenant.ts

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Harness Audit

Commit: a3bd89f826b32bc43669b25e4847cf6259cef7eb

No harness issues detected (success)

Scanned 3 changed config file(s) and found no harness issues.

Changed config files:

  • hooks/useReactivateTenant.ts
  • hooks/useResolveIncident.ts
  • hooks/useSuspendTenant.ts

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

Sem locale o NavHub caía em pt-BR e o hub inteiro ficava em português mesmo com idioma=es. Alinha ao CRM/Análise e acrescenta o subtítulo no dicionário.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Security Evidence

Commit: d9c4b25820490b84d8204771524282e3c1b5a98a

Security scanner evidence required (action_required)

Detected 1 security-sensitive predictive risk signal(s) without scanner evidence.

Mode: enforce

Findings:

  • Security-sensitive changes may ship without scanner evidence: The PR touches billing, secrets, auth, webhooks, agent, or CI-sensitive surfaces without adding obvious security scanner, code scanning, or security-focused validation evidence. (6 security-sensitive paths changed; 0 security scanner or security-focused validation artifacts changed)

Touched security-sensitive paths:

  • hooks/agenda/useMarcarAgendamento.ts
  • hooks/agenda/useRemarcarAgendamento.ts

Expected evidence:

  • Security scanner, code scanning, secret scanning, dependency/security review, or focused security regression output.
  • SARIF/code-scanning upload or equivalent pass/fail gate for the changed surface.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Risk Taxonomy

Commit: d9c4b25820490b84d8204771524282e3c1b5a98a

PR taxonomy review recommended (neutral)

Detected 3 PR taxonomy bucket(s): Security Evidence, CI/CD Recommendation, Cost/Token Risk.

Scanned 11 changed file(s).

Roadmap taxonomy buckets:

Security Evidence

Security-sensitive changes should carry explicit scanner, code-scanning, or focused regression evidence.

Signals:

  • Security-sensitive changes may ship without scanner evidence
  • 0 security-sensitive path(s) changed

Paths:

  • app/app/ai/page.tsx
  • app/onboarding/connect-whatsapp/_client.tsx
  • components/kanban/NewLeadDialog.tsx

CI/CD Recommendation

CI, dependency, coverage, and contract signals should be routed into follow-up checks or verification work.

Signals:

  • Regression coverage may lag behind the diff
  • User-facing UI changes may ship without browser coverage
  • 0 CI or workflow path(s) changed

Paths:

  • app/app/ai/page.tsx
  • app/onboarding/connect-whatsapp/_client.tsx
  • components/kanban/NewLeadDialog.tsx
  • hooks/agenda/useMarcarAgendamento.ts
  • hooks/agenda/useRemarcarAgendamento.ts
  • hooks/followup/useFollowupFlow.ts
  • hooks/useReactivateTenant.ts
  • hooks/useResolveIncident.ts

Cost/Token Risk

AI routing, usage, and token-budget changes should include budget or usage-limit evidence.

Signals:

  • 1 cost/token path(s) changed

Paths:

  • app/app/ai/page.tsx

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Reference Set Readiness

Commit: d9c4b25820490b84d8204771524282e3c1b5a98a

Reference set readiness gaps detected (neutral)

Reference evidence present for 0/7 areas (0%) across 11 changed file(s).

This check is based on files changed in this PR. Repository-level readiness is still reported by /ecc-tools analyze comments and generated manifests.

Area Status Evidence / Next Step
Deep analyzer corpus Missing Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions.
RAG/evaluator comparison Missing Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior.
PR salvage/review corpus Missing Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation.
Discussion triage corpus Missing Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications.
Harness compatibility Missing Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces.
Security evidence Missing Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs.
CI failure-mode evidence Missing Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Hosted Promotion Readiness

Commit: d9c4b25820490b84d8204771524282e3c1b5a98a

Hosted promotion readiness passed (success)

No hosted promotion evidence gaps detected across 11 changed file(s); 0 corpus scenarios had matching evidence.

This check compares PR file changes against the evaluator/RAG promotion corpus in src/analyzers/fixtures/evaluator-rag-corpus.ts.
Hosted output scoring inspected 0 completed cached hosted job results.

No evaluator corpus scenarios matched this PR.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Config Audit

Commit: d9c4b25820490b84d8204771524282e3c1b5a98a

No changed-config issues detected (success)

Scanned 3 config file(s) present at this commit across 3 changed config path(s) and found no issues in the supported security rules.

Changed config files:

  • hooks/useReactivateTenant.ts
  • hooks/useResolveIncident.ts
  • hooks/useSuspendTenant.ts

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Harness Audit

Commit: d9c4b25820490b84d8204771524282e3c1b5a98a

No harness issues detected (success)

Scanned 3 changed config file(s) and found no harness issues.

Changed config files:

  • hooks/useReactivateTenant.ts
  • hooks/useResolveIncident.ts
  • hooks/useSuspendTenant.ts

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@melgarafael
melgarafael merged commit ded778c into melgarafael:main Sep 14, 2026
14 of 15 checks passed
ciadosdescontos pushed a commit to ciadosdescontos/DeskcommCRM that referenced this pull request Sep 14, 2026
…dioma escolhido

Convergência independente com o melgarafael#744 (@biopaul), que entrou logo antes: os dois
acharam que o hub de IA ficava em português mesmo com o idioma em espanhol.

O conflito foi em `app/app/ai/page.tsx`, e os dois lados estavam certos sobre a
causa. Ficou o do melgarafael#744 porque ele é estritamente mais forte:

  melgarafael#806:  title="Agente de IA"                      locale={user.idioma}
  melgarafael#744:  title={traduzir("Agente de IA", idioma)}  locale={idioma}

`idioma` é `user.idioma` — mesma fonte. A diferença é que o melgarafael#744 **também
traduz** o título e o subtítulo, enquanto o melgarafael#806 os deixa cravados em português
e corrige só o locale repassado ao `NavHub`. Escolher o outro lado deixaria duas
strings visíveis sem tradução.

O resto do melgarafael#806 entra inteiro — a entrada no dicionário e os testes dele, que
cobrem a asserção pelo lado de cá.

Co-authored-by: alexneverland <alexneverland@users.noreply.github.com>
ciadosdescontos pushed a commit to ciadosdescontos/DeskcommCRM that referenced this pull request Sep 14, 2026
…anhol trouxeram

O melgarafael#744 (@biopaul) e o melgarafael#806 (@alexneverland) acharam o mesmo buraco — o hub de IA
em português com o idioma em espanhol — e traduziram as mesmas chaves. Cada um
acrescentou no fim do dicionário, então a resolução de conflito por apêndice
("os dois lados ficam") produziu 24 propriedades repetidas e o `tsc` reprovou
com TS1117.

**Este é o limite da regra do apêndice, e vale escrever:** ficar com os dois
lados é certo quando eles acrescentam coisas DIFERENTES no mesmo lugar. Quando
acrescentam a MESMA chave, o resultado não compila — e num arquivo de 8 mil
linhas isso não se vê lendo o diff.

Deduplicado mantendo, de cada par, a entrada com mais idiomas (empate: a
primeira). Seis dos pares eram a mesma chave escrita com e sem aspas
(`Alertas:` e `"Alertas":`), que em TS é a mesma propriedade.

Medido que nada se perdeu, com o nome normalizado (sem aspas), que é a régua
certa — a primeira medição comparava com aspas e acusou seis chaves "sumidas"
que eram exatamente as duplicatas:

  chaves únicas antes: 5362   depois: 5362   sumiram: nenhuma
  typecheck: exit 0
  nav-hub.test.tsx + ai/page.test.tsx: 9/9

Co-authored-by: biopaul <biopaul@users.noreply.github.com>
Co-authored-by: alexneverland <alexneverland@users.noreply.github.com>
@melgarafael

Copy link
Copy Markdown
Owner

O seu trabalho está publicado na v1.24.0.

Não é "mergeado": é o que uma VPS recebe quando roda bash update.sh. Conferido no registro de onde ela baixa, não no verde do robô:

deskcommcrm         1.24, 1.24.0, stable, latest
deskcomm-worker     1.24, 1.24.0, stable, latest
deskcomm-scheduler  1.24, 1.24.0, stable, latest

A palavra que decide é stable — a etiqueta que o instalador usa por padrão. Enquanto ela apontasse para a versão velha, nada teria chegado a ninguém, com tudo verde.

O número ninguém digitou: foi calculado a partir do que cada fragmento declarou sobre o efeito em quem opera.

Obrigado por isto.

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.

2 participants