Cabeçalho de bate-papo com pilha avatar, popover de título e selecionador de membros
Compositor com drag-drop, chips de anexos pendentes, entrada multi-linha
Rotas de proxy para encontrar ou criar, membros, anexos, proxy de imagem, mudo, revogar
Extrair compartilhado ********** Ajudador para app/lib/mediaServiceUrl.ts. Adicionar rotas proxy: find-or-create, membros, recibos, anexos (streaming), mudos, r...
Paged chat list with previews, members, unread counts
that returns ChatListRowDto rows including last message preview, member summaries, per-session unread counts, and ownLastViewedAt.
Add countUnreadAfter(guid, memberId, since) to MediaObjRepository
Needed by paged chat-list endpoint to compute per-session unread counts when ownLastViewedAt is a LocalDateTime pointer rather than a message UUID.
Imaging proxy with HTTP Range support and per-member download tracking
Add MediaObjImgDownloadRepository with existsByObjImgIdAndMemberId
Required by ImagingProxyService (Task 10) to deduplicate per-member download tracking without a full table scan.
Add CHAT_ATTACHMENT assoc type with imaging-chat-attachments bucket
Service methods for exact-match find/create, member add, mute, revoke, read
Consultas de repositório para encontrar correspondência exata, lista de páginas, recibos
Adicionar dataLastViewed to MediaSessionMember for receiver timestamps
Adicionar isAccessRevoked flag para controle de acesso per-attachment
Distinguish actively-translating vs queued messages
The translation queue was already sequential, but every queued bubble rendered "Translating…". Now the single in-flight message shows "Translating…" with a puls...
Distinguish actively-translating vs queued messages
The streaming queue was already strictly sequential (one fetch at a time), but every queued message rendered "Translating…" because they all shared the same pen...
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...
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...
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...
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)....
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...
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...
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...
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...
Add MemberUiPreference entity for per-member UI prefs
Generic per-member UI preference store (memberId, prefKey, JSONB value) for small persisted UI settings. First consumer is the hex-head popover size selector.
Wire FeaturesManager to platform subscription for child-org gating
O "Manager" chamou-lhe legado. arremessos (fallback ungado) em vez de ler a assinatura real da plataforma. Agora chama **************** que consulta o root org...
Adicionar endpoint de subscrição da plataforma para o gating de funcionalidades de cross-org
Administradores de Child-org (como Daniel, proprietário do GNosia) têm sua assinatura COMP ordens na raiz KamoCRM org, não em suas próprias org. Características...
Usar o rótulo de aria traduzido para as abas ConfiguraçõesView
Leituras * **************** do próximo Intl.
I18n para conteúdo de hub legado / barra lateral através de configuraçõesLegacyHub
Substituir o inglês hard-coded pelo next-intl. Apresenta constantes estáveis do id do tópico; activeTopic é comparado com IDs em vez de strings de exibição trad...
Wire landing page to settingsLanding translations
Replace hardcoded feature cards and section copy with useTranslations- backed strings from **************** including ICU branch label for branch types cards. C...
Como o que você vê o transporte?
Comece com o plano gratuito e leia esta página novamente daqui a um mês, para saber mais sobre o que está disponível para você.
