Show error icon when a message fails to translate
When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders an AlertTriangle icon in red with tooltip "F...
Show error icon when a message fails to translate
When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders a small red ErrorOutline icon in place of th...
Raise client read timeout to 120s for long messages
LibreTranslate runs CPU-only argos models — a paragraph-length chat message takes 20-30s to translate, and longer ones can push past 60s. The 8-second read time...
Persist language change and show current language in tooltip
The members endpoint accepts PUT not PATCH, so the language picker's PATCH was silently ignored — Member.language never actually updated, which is why refreshin...
Uma linha de pesquisa para a frente
O proxy Next.js estava soltando a string de requisição ao encaminhar para MediaService, o que significava que o histórico do chat era ?lang=<locale> Param foi s...
Mint proprietário OTK com concessão-todos os direitos sem DB ida e volta
Depois de ter atribuído o administrador role and writes member rights applicated, the OTK-minting block was Relendo essas linhas através de... dentro do mesmo @...
Stream translations newest-first for visitor history
When the visitor lands on a non-English locale and the support chat has existing English messages, every bubble flagged needsTranslation by the backend now show...
Stream message translations newest-first on language switch
When the user picks a new language (or opens an existing chat in a language different from the messages' source), every bubble that needs translation immediatel...
Cache-only bulk translate, FE handles fills
Bulk message-fetch endpoints now return only translations that are already cached and tag missing rows with needsTranslation:true. The chat UIs (kamo-internal C...
Revert "fix(settings): show Plans & Billing tab regardless of root-org status"
This reverts commit ****************
Auto-translate visitor and agent messages
Live agent replies arriving in a language other than the visitor's URL locale now show a "Translating…" bubble while the TranslateService call resolves, then sw...
Translate chat messages into the viewer's language
Adds a "My Language" flag picker in NavTop (left of the email tool, separated by a vertical rule). Selecting a language writes back to Member.language and syncs...
Proxy support-message translate endpoint
Adds a passthrough route for the new MediaService endpoint that translates a single support-chat message into the visitor's URL locale. The marketing-side chat ...
On-demand translation for chat and support messages
Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /transl...
Translation cache for chat messages
Adds the MediaObjMsgTranslation entity (one row per (message, language) pair) and an optional sourceLanguageId column on MediaObjMsg so chat messages can be tra...
Show Plans & Billing tab regardless of root-org status
The !isRootOrg gate hid the tab on root orgs and blocked org owners and self-viewers from reaching their billing page from "My Account". The PlansBillingTab its...
Translate hardcoded UI strings
setup/dns (6 files): page, AliasStatusTable, DnsProgressView, DnsProvisioningPanel, DomainEntryForm, ManualDnsGuide. settings (10 files): diagnostics, essential...
Drop in place — jump every member, no softPush on release
The drift on release was softPushCluster firing on the user-drop path. A mega-cluster's bounds extend in all directions from the anchor, so the PADDING-margin /...
Translate hardcoded UI strings
account/view: 40 strings reused from existing namespace (no new keys). kb (13 files): translate article editor, viewer, reviews, resources, versions, navigation...
Traduzir as strings de UI restantes codificadas
Página de tarefas: Salvar alterações, Fechar, Adicionar item de tarefa para o fluxo de automação, Editar a dica do título. Página Notas: Descarte, Carregando no...
Replace hardcoded English with t() across leads pages
Translate remaining hardcoded UI strings in allotments, new, reports, and view/[id] to use next-intl. Add scripts/i18n-audit.py to detect remaining hardcoded st...
Drop firmly in place — tail-only throw + jump() to clear velocity
The previous fix still let heads drift on release because: 1. Throw detection averaged velocity across the full 110ms window. A user who flicked then decele...
Drop in place after a paused drag instead of drifting
Two cooperating bugs caused dropped heads (single or post-gather) to fly off to seemingly random positions when the user dragged fast, slowed to a stop, then re...
Adicionar Pessoal + Chat/Docs/Notes/KB/HRS secções
O índice /settings não mostrou seções para não-administra seção existente foi fechado em um administrador à direita (CONFIGURE SYSTEM, GESTÃO * SETTINGS, GESTÃO...
Rodar a abertura do objetivo com base na relação de aspecto do viewport
O quadro de golo agora inclina-se por atan2(viewportH, viewportW) assim que seu aberto o lado direito aponta para a diagonal do viewport — para 16:9 monitora o ...
Joga-para-remover gol com pontuação / miss celebrações
Um quadro de 132×132 gol aparece na parte superior esquerda sempre que uma cabeça está em solo-drag ou ativo-jogar, offset 56px do canto para que as cabeças pos...
Jogue física com colisões em mesas de bilhar e trilha de cometas
Flicking uma cabeça após o limiar de lançamento lança-lo através do viewport em física explícita (fricção, reboco de borda, elástico cabeça-vs-cabeça colisões)....
Cancelar a velocidade de arrasto herdada na libertação
O manipulador de arrasto atualiza o valor do movimento da cabeça com mx.set rápido(nx) chamadas, que framer-motion usa para calcular a velocidade. Quando a libe...
Crispen hexagon outline at all sizes/states
Four sources of softness eliminated: - **************** on the SVG - **************** on the visible outline so the stroke width does not stretch (and blur) u...
Recusar quando a sessão orgID não corresponde à máquina org
auto-login aceitou qualquer *** e cunhado um OTK apontando de volta para ele, independentemente de a qual org o destino interno.* host pertence. Um cookie velho...
Usar OTK com mente de servidor para mudar para nova org
Prefere o otk devolvido pelo POST /api/security/org sobre o acompanhamento /api/segurança/ent-a-entrar na viagem de ida e volta. O servidor agora menta um novo ...
O proprietário da hortelã ***+OTK ao criar org
Depois de criarOrganizationOwner, menta uma nova *** ligada ao novo proprietário TeamMember e devolva sua OTK ao lado de id/members. Sem isto, criador permanece...
Espaçamento por grupo + regras de agrupamento do mesmo tamanho
Célula de cluster e adjacência hex são agora derivadas da maior membro em vez da escala global, e as MVs centro de alinhamento offset para cabeças de diferentes...
Ocultar popover quando Convidar para Reunião abre a janela
O popover usado para ficar aberto por baixo da janela de reunião porque o O diálogo foi reproduzido condicionalmente dentro do portal alvo do popover. Capture o...
Reescrever o sistema de arrasto/aglomeração com snap magnético e recolher gestos
Substituir o HexHeadGroup monolítico (847 linhas) por um motor de cluster modular Em app/componentes/chat/hexheads/. Fonte única da verdade: cada cabeça vive em...
Robust English fallback for missing and empty locale translations
- mergeWithFallback now treats empty-string locale values as untranslated, falling back to the English value instead of rendering nothing - Replace bare NextI...
Update orders page account uid type from number to string
AccountSummary.uid is now a string (Long precision fix). Also remove parseInt comparison and type="number" from the manual account ID field.
Remova @PostConstruct COMP provisioner — corrija ordens existentes diretamente em DB
allowOrder () já lida com novas ordens COMP. Gap de dados único para As encomendas existentes são corrigidas directamente na base de dados.
Remova o endpoint manual de previsão-comp — auto-curas de arranque
As ordens COMP são agora fornecidas automaticamente na inicialização do SecurityService via SubscriptionService @PostConstruct. Endpoint manual já não é necessá...
Ordens de COMP auto-cura não previstas na inicialização
No @PostConstruct, escaneie todas as ordens COMP aprovadas e forneça qualquer que Falta uma assinatura da conta. Idempotente — encontrar ou criar significa segu...
Use CommerceMarket.getId() em vez de getUid() em provisionCompSubscription
CommerceMarket usa @Id UUID id (não uid), então Lombok gera getId().
Mover status de disponibilidade dropdown para o lado esquerdo antes de My Businesses
Relocaliza a pílula de status da barra de ação direita para a seção de boas-vindas à esquerda, colocando-a entre o separador de saudações e Minhas Empresas com ...
Adicionar alvoOrganizaçãoId à AssinaturaTipos de ordem e criarAssinatura Ordem
Adicionar parâmetro de previsão-comp para ativar a assinatura do COMP de ordem aprovada
* ******************************* chamadas **************** então invalida direitos para o alvo org via EntitmentService.
Aprovação do pedido COMP auto-fornecimentos ContaAssinatura e atribui licença
- Ordem de Assinatura: adicionar destinoOrganização (FK nulable para orgs) - ************* *** *** adicionar alvoOrganizaçãoId string - AccountRepository: add f...
Membro do ClienteId é uma string de ID de membro, resolve contas pelo Membro primário
- posApi: ContaSummary uid string, adicionar o Membro primário; ************************************************************************************************...
Serialize customerMemberId como string para preservar Longa precisão
- AccountResumoDTO: anote uid com ********** e adicione o campo primário de strings do MemberId povoado de primary member id - CreateSubscriptionOrderPedido: cu...
Substituir o clique para abrir com o popover de ação + controles de tamanho
Clicando em uma cabeça hex agora abre um popover de vidro polido com ações contextuais em vez de abrir imediatamente sua janela de ferramentas. Estado Bate-papo...
Adicionar tabela MEMBRO UI PREFERÊNCIAS (ordem 60)
CREATE idempotente para o suporte genérico por membro UI-preferência loja o seletor de tamanho de popover hex-head e as configurações futuras de UI por membro. ...
Add MemberUiPreferenceController for per-member UI settings
Backs the new hex-head popover size selector and any future small per- member UI preference. Endpoints under /api/security/members/me/ui- preferences resolve th...
Como o que vês no transporte?
Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.