Reset document.title in rebrand() when React overwrites it
React re-applies RSC payload after hydration, resetting the title to "analytics". Add a title check inside the MutationObserver callback so it gets corrected ev...
Replace "analytics" text nodes with "Kamo Analytics" instead of clearing
Use TreeWalker to remove all "analytics" text nodes from rendered DOM
The workspace nav title "analytics" comes from JS bundles loaded after auth, rendered as a text node next to the logo SVG. Uses TreeWalker to find and clear all...
Add guarded MutationObserver for client-side rendered logo/text
Login page and dashboard content is rendered by Next.js JS bundles, not in the HTML body, so sub_filter can't reach it. Adds a script with a busy-flag-guarded M...
Redirect favicons at nginx level, fix RSC payload escaping
- Serve favicon via nginx 302 redirect instead of trying to rewrite HTML/RSC payload href strings (cleaner, always works) - Fix RSC title replacement with pro...
Use pure sub_filter replacements instead of MutationObserver
MutationObserver caused infinite loop (DOM change -> observer fires -> DOM change). Switch to direct nginx sub_filter string replacements targeting both static ...
Carregar análise por padrão e incluir subdomínio www em domínios permitidos
- Acompanhe todos os visitantes por padrão, uma vez que a análise é sem cookies / GDPR-friendly - Desative somente se o usuário negar explicitamente a análise n...
Comprehensive analytics rebranding for login page and dashboard
- Replace title dynamically (handles "Login | analytics", "Dashboard | analytics" etc.) - Replace "analytics" h2 text on login page with Kamo logo image - Repla...
Use MutationObserver to rebrand analytics client-side rendered UI
analytics is a Next.js app that sets title/logo via JavaScript after initial HTML load. Replaces static sub_filter approach with injected script that uses Mutat...
Passe para o próximo fornecedor quando a tradução for igual ao texto de origem
Bergamot estava retornando o texto fonte inalterado para navegação de uma única palavra itens, frases em acrônimo (API, CRM) e palavras compostas (Change Log) e...
Popular o estado do DNS quando já confirmado; mostrar o nome da org em todo o lado
Remover barras de rolagem duplas e transbordamento horizontal na página de configuração do DNS
Delta tradução motor + fio todas as cordas de UI codificadas para i18n
Sistema de tradução: - Translate.ts agora opera no modo delta — apenas as chaves que faltam ou ainda idênticos ao inglês são enviados para a API; chaves traduzi...
Suprimir o popup de tradução automática do Chrome em páginas com mudança de localização
Adicionar traduzir="não" para <html> e <meta name="google" conteúdo="notraduzir"> assim Chrome não oferece para traduzir páginas que o usuário já intencionalmen...
Bound translation concurrency to 3 threads to prevent DB pool exhaustion
Unbounded @Async (SimpleAsyncTaskExecutor) created 50 threads simultaneously when the retry scheduler fired, each opening a DB transaction and draining HikariCP...
O botão de configuração do domínio sempre navega para /setup/dns na aba atual
Three bugs preventing changelog translations from being saved
1. **************** was discarding events because handleWebhook() had no @Transactional — save + publishEvent() ran outside any transaction. Add @Transact...
Consultar CommmitLogs com a entrada esquerda para zero-tradução registros são capturados por repetição
A pesquisa antiga selecionada do CommitLogTranslation — commit logs with no As traduções eram invisíveis. Usar a opção esquerda do CommitLog Assim, a CARTONAGEM...
Apply word replacement at translation time, not ingestion
Original text is preserved in the DB so that adding a new rule and re-triggering translation is all that is needed to update existing records. Changes: - Chang...
Lidar com respostas de API vazias e degradação graciosa na guia de faturamento
- BillingApi get/put helpers agora manuseiam com segurança corpos de resposta vazios em vez de bater em res.json() com entrada vazia - PlansBillingTab loadData ...
Check TeamMember.isOrganizationOwner flag for owner detection in my-networks endpoint
The previous check only looked at org.getOwner() (user_id_owner column) which can be null for existing orgs. The authoritative owner flag lives on the TeamMembe...
Resolver o contexto org/member da sessão *** para o proxy de faturamento
Os controladores BillingService requerem cabeçalhos X-Org-Id e X-Member-Id. Ao ligar diretamente (bypassing APIService), estes não estavam sendo ajustados. Agor...
Use o tipo de string para org/member IDs na página de rede para lidar com CockroachDB unique rowid() precision
Serializar org e IDs de membros como strings no endpoint das minhas redes para evitar perda de precisão JS
Adicionar rota proxy API Next.js para /api/billing/*
O cliente da API de faturamento estava chamando /api/billing/* como um URL relativo, que atingiu o servidor Next.js em vez do gateway APIService. Adicionado uma...
Include parent org in /org/domain response
The getOrganizationByDomain endpoint manually builds a response map but never included the parent organization reference. This prevented the frontend from knowi...
Adicionar o ID pai e pai ao tipo OrgProviderProps
A interface props da Organização estava ausente campos parentId e pai, fazendo com que eles sejam deixados cair durante a compilação TypeScript, mesmo que o A i...
Purge incomplete model directories in init container
The service crashes on startup if it finds a directory in /models that has missing or partial model files. Add a sweep at init start that removes any directory ...
Remove GitHub LFS downloads, use only data.statmt.org models
GitHub raw URLs return LFS pointer files, not actual binaries. Drop enru/enar downloads entirely — LibreTranslate handles those locales. Only download the 4 pai...
Narrow bergamot to es/fr/de/pl, restore bergamot-first order
GitHub LFS files can't be downloaded with plain curl (raw URL returns the pointer not the content). Removing enru/enar from bergamot scope; those locales fall t...
Narrow BergamotProvider targets to 6 pairs with available models
pt, it, uk, tr, ro, id, vi have no bergamot model source — LibreTranslate handles them. bergamot now claims: es, fr, de, pl, ru, ar.
Escala de bergamota para 0, atualizar imagem para mozilla/translation-service
O balde de download do modelo Google Cloud Storage (bergamot-models-sandbox) retorna 404 para todos os arquivos e o firefox-translations-models Arquivado Dez 20...
Route all translations through LibreTranslate while bergamot is offline
BergamotProvider is moved to fallback position. LibreTranslate supports all 13 locales bergamot was handling **************** so this eliminates the flood of "C...
Proxy *** desafio através do servidor de login para suporte a múltiplos domínios
Substitui a obtenção direta de origem cruzada para capcha. {domínio}/api/ desafio com uma proxy da mesma origem em /api/capcha/desafio. A abordagem anterior exi...
Escala de bergamota de volta para 1 réplica — falhas de tradução causadas pela vagem em falta
Bergamot estava em 0 réplicas com seu serviço ainda registrado. O Router do Provedor em TranslateService não tinha disjuntor, então cada pedido de es/fr/de/pt/i...
Don't let null translated description hide the English original in changelog
The translation lookup for non-en locales was unconditionally overwriting description with **************** which is null when: - the translation was saved befo...
Resolve 23 compilation errors from controller-service signature mismatches
Controllers were built by a separate agent from services, causing method name and parameter type mismatches. Fixed all controllers to match actual service signa...
Update kamo-shared-library version from 1.0.0 to 1.1.0
Needed to resolve the new billing entities in the commerce.billing package added to shared library 1.1.0.
Atualizar a versão da biblioteca compartilhada com kamo de 1.0.0 para 1.1.0
A biblioteca compartilhada é publicada como 1.1.0, não 1.0.0. Isto estava a causar a construção do Docker falhar com "artifacto não encontrado" desde que Maven ...
Adicionar a opção -U ao maven build steps para resolver a biblioteca compartilhada do repositório local
A dependência:go-offline passo foi tentar Maven Central primeiro, recebendo um falha em cache para a biblioteca compartilhada- kamo (que é apenas local), e isso...
Reduza o tamanho do bloco de tradução para 50 teclas com retrocesso exponencial
150 chaves ainda demasiado grandes para alguns fornecedores (valores de parágrafos longos em privacidade/termos/GDPR). Agora: 50 teclas por pedaço, 4 tentativas...
Requisitos de tradução para evitar intervalos de busca em grandes cargas
Com mais de 1500 chaves, o único lote pedido carga útil estava causando conexão tempo limite para alguns provedores de tradução. Agora divide- se em pedaços de ...
Forçar a re-tradução e enviar arquivos locais de volta ao repo após a etapa de tradução
Usar labelKey em vez de label para a chave TrustIndicator no DemoClient
Adicionar a configuração do serviço de tradução ao mapa de configuração do K8s
Como o que vês no transporte?
Tudo isso chega em seu espaço de trabalho por conta própria. Comece no plano gratuito e leia esta página novamente em um mês.
