60s TTL OTK para atender janelas, convites de chat/email independentes que não bloqueiam na infraestrutura
O OTK tinha uma TTL de 10 segundos. Quando a página kamo-meet carregou todos os seus ativos e branding/overrides.js correu para validar a OTK, já tinha expirado...
Bloquear corretamente o nome da exibição via sobreposição de configuração + observador de mutação DOM
Abordagem de três camadas para garantir que o nome está bloqueado para usuários autenticados: 1. A bandeira de armazenamento local 'kamo-meet-autenticated' sobr...
Enviar convites de chat através da API de sessão de chat existente, convites de e-mail via multipart para EmailService
O chat convida: cria/obtém uma sessão de chat via POST /api/media/sessions/chat em seguida, envia o convite como mensagem de texto nessa sessão. Utiliza o exata...
Use getServerName() instead of getHeader(Host) for original host resolution
ForwardedHeaderFilter consumes X-Forwarded-Host and adapts getServerName() accordingly, while getHeader(Host) returns the raw HTTP Host which may be a K8s inter...
Bloquear o nome da exibição via somente leitura nativa do Meet Configuração do nome dos utilizadores autenticados
- Sidecar config.js agora define readOnlyName: true quando o usuário tem *** cookie ou JWT na URL da página (detectado através de cabeçalhos de referência/cooki...
Send chat invites to correct WebSocket topic /topic/chat/incoming/{memberId}
Was publishing to /topic/chat/member/{id} but kamo-internal subscribes to /topic/chat/incoming/{id}. Also fixed Member entity field access **************** inst...
Encaminhar todos os campos de reunião (enviarChatInvite, sendEmailInvite, customMessage, roomAlias, joinUrl) para a infraestrutura
A rota API Next.js estava despindo sendChatInvite, sendEmailInvite, CustomMessage, and roomAlias — only forwarding roomName and inviteMemberIds. A infra- estrut...
Gerar Prosódia JWT da sessão OTK e redirecionar com ?jwt= para a autenticação do moderador adequado
O fluxo OTK agora: 1. Valida OTK via sidecar → recebe sessão (memberId, displayName, etc.) 2. Salva o nome da exibição para localStorage 3. Chama /api/auth/jwt ...
Aplicar a cor do nav org a toda a coluna anterior à reunião à esquerda, não apenas a tira da barra de ferramentas
Alvo .premeeting-screen (o recipiente de altura total) e seu conteúdo crianças de painel em vez de nomes de classes gerados. Também abrange reuniões caixa de fe...
Encaminhar o IP do visitante e o Usuário-Agente para a infraestrutura para registro preciso da atividade da conta
As rotas API Next.js não estavam encaminhando X-Forwarded-For, X-Real-IP, ou Cabeçalhos do usuário-agente para a infraestrutura Java, fazendo com que a atividad...
Use HTTP on port 80 for meet service URL to match other services
The HTTPS endpoint on 8443 causes SSL cert mismatch when routing through K8s internal DNS. All other services use HTTP on port 80.
Remova a restrição maxWidth das abas de configurações para preencher a área de conteúdo
Mostrar o Dialog do Meeting para reuniões por membro em vez de ignorar diretamente
Tanto o MemberItem (Interaction Center) como o ChatBox (chat tool window) agora abrir o MeetingDialog com o membro alvo pré-selecionado, permitindo usuário para...
Route meet config API através do APIService em vez de MediaService direto
A rota existente meet/create usa forwardToApi (APIService), que Proxies para MediaService. As novas rotas de configuração/fundo devem seguir o mesmo padrão para...
Bloquear a entrada do nome da exibição para usuários autenticados na tela anterior
Membros autenticados (chegando via OTK) recebem seu nome pré-cheio e locked — a entrada está configurada para lerSomente com os eventos de ponteiro desabilitado...
Use URLs BOSH/WS relativos em config.js, adicione Autenticação OTK com nome pré-preenchimento, carregue org CSS para cores nav
Três correções: 1. config.js URL BOSH alterada do endereço interno do cluster para relativo /http-bind (anginx proxies to Prosódy). O WebSocket usa o cabeçalho ...
Add dnsPolicy ClusterFirstWithHostNet to JVB StatefulSets so hostNetwork pods can resolve cluster DNS
Mover o botão Nova Página depois de Conversar Agora como apenas como ícone, remover o link de Notas duplicadas
Nova aba é agora um botão de ícone (sem etiqueta) colocado à direita do Chat Now. Notas removidas do NavTop já que já está no NavPri.
Habilitar Nginx SSI e copiar arquivos em HTML ausentes (head.html, base.html, fonts.html, body.html, plugin.head.html)
Meet Meet usa nginx Server Side Includes para compor index.html de vários arquivos HTML parciais. Sem o SSI ativado e os arquivos de inclusão presente, a página...
Adicionar anotações explícitas @ JsonProperty aos campos de visibilidade do KbArt AI
Garantir que Jackson serializes/desserializes aiEnabled, aiVisibleToPublic, aiVisibleToMembers, aiVisibleToTeamMembers com nomes de campo corretos.
Evitar o loop infinito de re-render no MeetingDialog causado por referências de array prop padrão
O useEffect tinha membros pré-selecionados (por omissão em []) como uma dependência, criando um novo array em cada renderização e desencadeando um setState infi...
Cor do botão CHAT para o ícone de reunião usando CSS --color-primary variable
Substituir o InputProps desactualizado com o slotProps para compatibilidade MUI 7 em MeetingDialog
Adicionar isOptionEqualToValue e segurança nula ao MeetingDialog Autocomplete para evitar queda do cliente
Make Chat Now ícone branco, sincronizar crachá de e-mail com lista de mensagens, use CSS cor-mix para cores do tema
- NavTop: mudar a cor do FórumIcon para branco para combinar com Chat Now label - MessageBrowser/MailButton: coordene a atualização do e-mail WebSocket via even...
Reference *** instead of non-existent turn-secret in Prosody deployment
Adicionar meet.service.url ao mapa de configuração do K8s para evitar falhas no APIService
Simplifique o useMeeting para gerar OTK e abrir diretamente a janela de reunião
Os endpoints da API da reunião de infraestrutura ainda não existem - pule o registro da reunião criação por enquanto. Adicionar o tratamento de erros a todos os...
Definir o estágio AppType.MEET para COMPLETED assim que aparece em FeaturesManager
Definir o estágio ServiceType.MEET para COMPLETED para que apareça em FeaturesManager
Adicionar MEET às funcionalidadesManager ícone/mapas de categoria e guarda ChatBox Meet button with isMeet check
Use criar sistema de compilação e adicionar .dockerignore para Meet Meet Docker build
Meet Meet usa make/webpack, não npm execute build. Adicionado --legacy- peer- deps para conflitos de dependência por pares, e .dockerignore para excluir nó módu...
Faça checkboxes de visibilidade e AI de trem alternar controles independentes
Visibilidade (Membros, Membros da Equipe, Público) controla quem pode acessar o artigo na UI KB. A IA do comboio é uma opção separada para a indexação de RAG, n...
Preservar o X-Forwarded-Host a montante em vez de sobrescrever com o próprio Host
Quando um proxy upstream (Next.js) define X-Forwarded-Host para o navegador host original, APIService agora preserva-lo em vez de substituir com a sua Cabeçalho...
Usar URL interno do K8s para o roteamento da API para corrigir o envio do avatar para orgs não- KamoCRM
O proxy da API era a computação de URLs externas (https://api.{domínio}) para cada org, que só resolveu para KamoCRM. Agora usa API SERVICE URL env var para dir...
Re-fetch notes after create/update to show decrypted content in preview
The backend returns encrypted content/contentPlain in POST/PUT responses, causing NoteCard previews to display ciphertext until page refresh. Now re-fetches via...
Rolar automaticamente para o indicador de digitação na janela de chat IA
Disable all auto-link behaviors in KB editor to prevent paste-as-hyperlink bug
The linkExtension singleton from @lexkit/editor retains internal paste handler state across component remounts. Disabling autoLinkUrls, autoLinkText, and linkSe...
Prevent KB editor link extension state leaking between article creates
Move Lexical extensions from module-level singletons into a factory function called via useMemo per component mount, so each new article gets fresh extension in...
Substituir o backback do KamoCRM codificado com o título dinâmico da organização
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.