Skip to content

fix(i18n): corrige mojibake de pontuação Windows-1252 remanescente (— • – ∞)#400

Merged
adm01-debug merged 1 commit into
mainfrom
claude/fix-mojibake-punct
May 26, 2026
Merged

fix(i18n): corrige mojibake de pontuação Windows-1252 remanescente (— • – ∞)#400
adm01-debug merged 1 commit into
mainfrom
claude/fix-mojibake-punct

Conversation

@adm01-debug
Copy link
Copy Markdown
Owner

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

Correção complementar de mojibake (família de pontuação Windows-1252)

A validação exaustiva do repositório (a pedido) revelou que a primeira correção de mojibake (#294, reversão Latin-1) deixou passar a família de símbolos cp1252 — porque eles envolvem o byte (U+20AC), que não é codificável em Latin-1, então o reversor seletivo os pulava silenciosamente.

Símbolos corrigidos

  • â€" (em-dash)
  • • (bullet)
  • â€" (en-dash)
  • ∞ (infinito)

Reversão cp1252 seletiva

  • 19 arquivos, 58 runs revertidos. 0 mojibake remanescente (verificado com git grep -P "Ã[\x80-\xBF]|â€|âˆ").
  • Nenhum caractere de substituição () introduzido. Diff balanceado (53/53), só conteúdo de strings/comentários.

Telas reais afetadas (agora corretas)

  • Filtros — resumo de faixa de preço: R$X–Y /
  • Validação de volume (kit): "• Peso total", "— o cálculo pode ser impreciso"
  • Tabela de fornecedores / importação em massa: em-dashes
  • Simulador de preços: bullets
  • Login: placeholder •••••••• e comentários

Test plan

  • CI verde (mudança apenas de conteúdo de string/comentário)
  • Conferir filtros (faixa de preço), validação de volume e simulador renderizando — • – ∞ corretamente

Nota: a falha pré-existente "Supabase Preview" (drift can_view_all_sales, owned pelo PR #298) é independente desta mudança — este PR não toca migrations.

https://claude.ai/code/session_01HjiGVkF3Df9GiFjDbfxDYn


Generated by Claude Code


Summary by cubic

Fixes remaining Windows-1252 mojibake by replacing broken punctuation with correct Unicode across the app. Cleans up visible UI text without changing behavior.

  • Bug Fixes
    • Replaced cp1252 artifacts with proper characters: — • – ∞ × ≥ → ↳; corrected a few accents (e.g., “NÃO”, “DIAGNÓSTICO”).
    • Touched 19 files; strings/comments only, no logic changes.
    • Affects: Filters price range (R$X–Y, ∞), Volume Validation (•, ×, warning dash), Suppliers table (—), Pricing simulator/calculator (•, ×), Auth password placeholder (••••••••).
    • Verified repo-wide: no mojibake remaining.

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

Summary by CodeRabbit

Bug Fixes

  • Correção de caracteres especiais na interface – Foram corrigidos caracteres especiais exibidos incorretamente em painéis de filtros, calculadoras de preço, tabelas de produtos e fornecedores, formulários de importação e componentes de previsualização. Os travessões, símbolos de multiplicação, bullets e outros caracteres Unicode agora aparecem corretamente em toda a aplicação.

Review Change Stack

… • – ∞)

A validação exaustiva do repositório revelou que a primeira correção de
mojibake (reversão Latin-1) deixou passar a família de símbolos cp1252
(em-dash —, bullet •, en-dash –, infinito ∞), pois esses envolvem o byte €
(U+20AC), não codificável em Latin-1. Aplicada reversão cp1252 seletiva:
19 arquivos, 58 runs. Atinge telas reais (resumo de faixa de preço em
filtros, validação de volume, tabela de fornecedores, simulador, login).
0 mojibake remanescente. Sem caractere de substituição introduzido.

https://claude.ai/code/session_01HjiGVkF3Df9GiFjDbfxDYn
@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 Ready Ready Preview, Comment May 26, 2026 1:12am

@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: 66964054-6abb-49cb-887a-0fc592262a23

📥 Commits

Reviewing files that changed from the base of the PR and between 428213a and a7d7807.

📒 Files selected for processing (19)
  • src/components/admin/products/bulk-import/StepPreview.tsx
  • src/components/admin/products/kit-components/PrintAreaForm.tsx
  • src/components/admin/products/kit-components/VolumeValidation.tsx
  • src/components/admin/products/kit-components/api.ts
  • src/components/admin/suppliers-manager/SupplierTable.tsx
  • src/components/filters/filter-panel/useFilterPanelState.ts
  • src/components/pricing/QuantityPriceCalculator.tsx
  • src/components/pricing/calculator/TechniqueMultiSelector.tsx
  • src/components/pricing/simulator/EngravingList.tsx
  • src/components/pricing/simulator/MultiEngravingResult.tsx
  • src/components/pricing/simulator/ProductSearch.tsx
  • src/components/pricing/simulator/QuantityAndResult.tsx
  • src/components/pricing/simulator/TechniqueSelector.tsx
  • src/hooks/voice/logVoiceCommand.ts
  • src/hooks/voice/processTranscript.ts
  • src/lib/kit-builder/price-calculator.ts
  • src/lib/kit-builder/volume-calculator.ts
  • src/lib/personalization/transformers.ts
  • src/pages/auth/Auth.tsx

Walkthrough

PR corrige encoding de caracteres Unicode corrompidos em toda a base. Substitui em dashes (—), bullets (•), multiplicadores (×), setas (→, ↳), acentos e emojis por equivalentes Unicode corretos em UI de componentes, hooks de estado, comentários e normalização de parsing de dimensões.

Changes

Correção de Caracteres Unicode

Layer / File(s) Summary
Parsing de dimensões e templates de filtros
src/lib/kit-builder/volume-calculator.ts, src/components/filters/filter-panel/useFilterPanelState.ts
Normalização crítica em parseDimensionsString que trata × explicitamente como multiplicador, e useFilterPanelState formata sumários com caracteres Unicode corretos (–, ∞, ≥) para ranges de preço e validação de estoque.
UI de preços e engravações
src/components/pricing/simulator/EngravingList.tsx, src/components/pricing/simulator/MultiEngravingResult.tsx, src/components/pricing/simulator/ProductSearch.tsx, src/components/pricing/simulator/QuantityAndResult.tsx, src/components/pricing/simulator/TechniqueSelector.tsx, src/lib/kit-builder/price-calculator.ts
Multiplicadores (× em vez de ×), bullets (• em vez de •) e emoji 📊 corrigidos em exibições de preço unitário, produtos, técnicas e resultado final.
Admin products e supplier management
src/components/admin/products/bulk-import/StepPreview.tsx, src/components/admin/products/kit-components/PrintAreaForm.tsx, src/components/admin/products/kit-components/VolumeValidation.tsx, src/components/admin/products/kit-components/api.ts, src/components/admin/suppliers-manager/SupplierTable.tsx
Em dashes (—) em placeholders de dados ausentes, labels de estados incompatíveis e comentários de seção na tabela de fornecedores e telas de importação em lote.
Autenticação, voice hooks e comentários
src/pages/auth/Auth.tsx, src/hooks/voice/logVoiceCommand.ts, src/hooks/voice/processTranscript.ts, src/components/pricing/QuantityPriceCalculator.tsx, src/components/pricing/calculator/TechniqueMultiSelector.tsx, src/lib/personalization/transformers.ts
Placeholder de senha (••••••••), labels de diagnóstico em banner de erro, setas (→, ↳) em comentários e docstrings normalizadas sem alteração de lógica ou comportamento.

Sequence Diagram(s)

Não aplicável: mudanças são correções de encoding em strings estáticas e não introduzem novos fluxos ou interações entre componentes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~4 minutes

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/fix-mojibake-punct

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

@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 ↗︎.

@adm01-debug adm01-debug marked this pull request as ready for review May 26, 2026 01:34
Copilot AI review requested due to automatic review settings May 26, 2026 01:34
@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.

@adm01-debug adm01-debug merged commit 3b38caf into main May 26, 2026
63 of 70 checks passed
@adm01-debug adm01-debug deleted the claude/fix-mojibake-punct branch May 26, 2026 01:35
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR performs a follow-up i18n cleanup to fix remaining Windows-1252/UTF-8 mojibake artifacts in user-facing UI strings and developer comments, restoring intended punctuation/symbols (e.g., — • – ∞ × ≥ → ↳) across the app.

Changes:

  • Replaced mojibake sequences in UI text (filters, pricing simulator, kit volume validation, supplier/admin screens) with correct Unicode characters.
  • Cleaned up assorted comments/labels affected by mojibake in auth, voice hooks, and pricing components.
  • Adjusted dimension-string normalization to use the correct multiplication sign character.

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/pages/auth/Auth.tsx Fixes mojibake in auth UI copy, placeholder bullets, and developer-facing comments.
src/lib/personalization/transformers.ts Fixes mojibake in section header comment.
src/lib/kit-builder/volume-calculator.ts Fixes mojibake in headers/docs and updates dimension separator normalization.
src/lib/kit-builder/price-calculator.ts Fixes mojibake in headers and breakdown label arrow glyph.
src/hooks/voice/processTranscript.ts Fixes mojibake in doc comment punctuation.
src/hooks/voice/logVoiceCommand.ts Fixes mojibake in doc/comments punctuation.
src/components/pricing/simulator/TechniqueSelector.tsx Fixes mojibake bullet separators in technique/location metadata.
src/components/pricing/simulator/QuantityAndResult.tsx Fixes mojibake multiplication sign and emoji/title rendering.
src/components/pricing/simulator/ProductSearch.tsx Fixes mojibake bullets in product metadata display.
src/components/pricing/simulator/MultiEngravingResult.tsx Fixes mojibake multiplication sign in totals breakdown.
src/components/pricing/simulator/EngravingList.tsx Fixes mojibake multiplication sign in size badge formatting.
src/components/pricing/QuantityPriceCalculator.tsx Fixes mojibake in header comment punctuation.
src/components/pricing/calculator/TechniqueMultiSelector.tsx Fixes mojibake in header comment punctuation.
src/components/filters/filter-panel/useFilterPanelState.ts Fixes mojibake in price/stock summary formatting (–, ∞, ≥).
src/components/admin/suppliers-manager/SupplierTable.tsx Fixes mojibake em-dash placeholders.
src/components/admin/products/kit-components/VolumeValidation.tsx Fixes mojibake in status badge, dimensions display (×), bullets, and warning text.
src/components/admin/products/kit-components/PrintAreaForm.tsx Fixes mojibake em-dash joiner in preview string.
src/components/admin/products/kit-components/api.ts Fixes mojibake in section divider comment glyphs.
src/components/admin/products/bulk-import/StepPreview.tsx Fixes mojibake em-dashes and placeholder values in bulk import preview.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

.replace(/\s+/g, '')
.replace(/\u00d7/g, 'x')
.replace(/×/g, 'x')
.replace(/×/g, 'x')
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.

3 participants