Use inline style for icon colors to prevent CSS specificity override
sx-generated color classes were being overridden by Tab card context styles. Switching color to inline style prop ensures icons always render with the correct c...
Add kamo.commerce.enabled=true to k8s configmap
This is the file the CI pipeline actually applies (k8s/configmap.yaml). Required for CommerceService and EngagementLifecycle to load under the new @ConditionalO...
Add KAMO_COMMERCE_ENABLED=true to k8s configmap
Required for CommerceService and EngagementLifecycle to load now that they use @ConditionalOnProperty instead of @ConditionalOnBean.
Adicionar correspondênciaIf Missing=false to ConditionalOnProperty for commerce beans
Torna explícito que o ComércioServiço e o EngajamentoO ciclo de vida são desabilitado por padrão quando o kamo.commerce.enabled não está definido. Qualquer serv...
Enable commerce beans via kamo.commerce.enabled property
CommerceService and EngagementLifecycle now use @ConditionalOnProperty instead of @ConditionalOnBean. Set kamo.commerce.enabled=true so they load in SecuritySer...
Substituir ConditionalOnBean por ConditionalOnProperty for CommerceService
**************** é avaliado antes da Primavera Dados JPA registra os grãos de repositório definidos pelo usuário, tornando-o confiável. Substituir por... é aval...
Prevent overflow:hidden on tab card from clipping status widget
Move overflow:hidden from the Card to the Tabs wrapper Box so scrollable tabs are contained but the right-aligned status/substatus widget remains fully visible.
Correct hexhead geometry, z-index layering, and viewport clamping
- Fix axialToPixel to use flat-top hex formula (was pointy-top) so honeycomb aligns flat-edge to flat-edge as the hex SVG shape requires - Fix generateRing to...
Use Next.js client-side navigation for all MUI Link components
MUI Link without component={NextLink} renders as a plain <a> tag, causing full page reloads that reset all React state including tool windows. Added component={...
Replace window.location hard navigations with router.push/refresh
All window.location.href, window.location.assign(), and window.location.reload() calls in page components caused full page reloads, wiping all React state inclu...
Move ToolDock above auth gate to prevent tool window wipe on navigation
PresenceWrapper switches its component tree structure when auth resolves (Fragment > children → ChatWebSocketProvider > PresenceProvider > children). This unmou...
Remover efeitos colaterais de setWindows updaters, adicionar wrapAroundDock faltando despachos
Aplicar as alterações da barra de ferramentas e pesquisa no modo de conversa incorporado
O ChatBox é sempre renderizado em modo incorporado via ChatTool. Mover o barra de comandos de chamada com campo de pesquisa e botão de rolagem- para- fundo na s...
Atualizar os seletores do HexHeadGroup da data-chatbox-root para data-tool-window
O sistema da janela da ferramenta usa a janela da ferramenta em ToolWindowShell, mas O HexHeadGroup ainda estava consultando data-chatbox-root para detecção de ...
Migrar o Hexchat restante:open despacho para a ferramenta:focus no HexHeadGroup
Polimento de interface de bate-papo - cor primária theming, emoji inside input, redondo enviar btn, hex status cores
- Páginas de departamento e cabeçalho chatbox use --color-primary em vez de verde codificado - Botão do seletor Emoji movido dentro do campo de entrada do chat ...
Melhorias do sistema de bate-papo - edição spin, rotação da máscara hex, cores, maximizar-minimizar
- Detectar edição (backspace/delete) vs digitar a entrada para ativar o giro do HexHead para trás - Girar máscara hex clip juntamente com borda durante a digita...
Não invalidar a sessão *** quando corresponder à nova sessão OTK
A rota de validação foi a exclusão da sessão *** existente do Redis antes de procurar o OTK. Quando o OTK apontou para a mesma sessão, a pesquisa falharia com "...
Aceitar *** do parâmetro de consulta para a autenticação WebSocket de subdomínio cruzado
Ler primeiro o ID *** de ?***= parâmetro de consulta, recuando para Biscoito. Isso permite que o frontend em internal.kamocrm.com para autenticar Conexões WebSo...
Passar *** ID como parâmetro de consulta para a autenticação WebSocket do subdomínio cruzado
Em vez de confiar em cookies de domínio cruzado (que não funcionam subdomínios), leia o lado do cliente *** cookie e passe- o como uma consulta parâmetro ao con...
Definir *** domínio do cookie para .kamocrm.com para compartilhamento de subdomínios cruzados
Cookie foi definido sem domínio explícito, impedindo-o de ser enviado para media.kamocrm.com para autenticação WebSocket.
Definir *** domínio do cookie para .kamocrm.com para compartilhamento de subdomínios cruzados
O cookie *** foi definido sem um domínio explícito, internal.kamocrm.com. Isso impediu que o cookie fosse enviado para media.kamocrm.com durante WebSocket apert...
Lidar com a vinculação do consumidor NATS velho com a repetição do consumidor único
- Extrair manipulador de mensagens para o método createNatsMessageHandler() - Adicione lógica de repetição com nome de consumidor único quando "Consumidor já vi...
Resolver mensagens de chat, rastreamento de presença e problemas de abertura automática
- Corrigir mensagens que não são recebidas ao tentar novamente a subscrição NATS com nome do consumidor quando ocorre erro de "Consumidor já vinculado" - Corrig...
Resolver o erro do tipo de ícones MUI e compartilhar uma única conexão STOMP WebSocket
- Adicionar a sobreposição de caminhos tsconfig para @mui/icons-material para contornar o ESM quebrado exportações em v7.3.1 que apontam para inexistentes ./esm...
Use ref para membroPanelOpen in openChat para evitar fechamento obsoleto
Quando um usuário abre o painel de membros, clica em um membro para conversar e então fecha o painel antes do retorno da chamada API da sessão de assincronizaçã...
Remove forced WebSocket headers from media middleware
Traefik v3 handles WebSocket Upgrade/Connection headers natively. Remove forced headers that broke non-WebSocket API requests.
Rota MediaServiço de tráfego através Traefik na porta 443
- Adicionar MEDIASERVICE URL env var para acesso a serviços internos de cluster - Corrigir getMediaServiceBaseUrl em 9 rotas API para usar env var primeiro - We...
Route WebSocket através de Traefik na porta 443
- service.yaml: corrigir porta 80→8443 para combinar porta de escuta real do pod - ingressroute.yaml: use scheme https + porto 8443 para infra- estrutura - serv...
Faça com que os feijões de comércio estejam condicionados à disponibilidade do repositório
Acrescentem ao noivado. Ciclo de vida e CommerceService então eles só carregam quando repositórios de comércio são Escaneado. Evita InsatisfeitaDependênciaExcep...
Add system account to all NATS configs
Add $SYS account with admin credentials to k0m1, k1m1, and k2m1 NATS configs. Enables nats CLI cluster management operations (peer removal, step-down, etc.) for...
Usar DNS interno de cluster para conexão NATS
Alterar URL NATS padrão de WireGuard IPs (100.64.x.x) para nats.kamo.svc.cluster.local para o servidor local. Nós remotos (k0m1, k2m1) permanecem em IPs WireGua...
Permitir a inicialização do aplicativo quando o NATS não estiver disponível
Remover @ConditionalOnBean do jetStream() e adicionar @Nullable ao Parâmetro de conexão. Quando natsConnection () retorna null (NATS inalcançável), Primavera já...
Reordenar as cartas estatísticas para corresponder à ordem das páginas
Comunicações → Documentos → Abrir tarefas → História
Remover layout.tsx, corrigir erros de tipo docCount/historyCount
- Excluir layout.tsx que foi incorretamente adicionado (afetaria todo o site) - Reverter page.tsx wrapper div (não é necessário) - Mover o fundo gradiente de vo...
A função do sistema de guarda é Permitir a exclusão de ser alterada
Lidar com a expiração do cookie (401) e extensão determinada pelo servidor TTL
Usar o tempo- limite de sessão por utilizador para *** cookie maxAge ao validar
Actualizar os nomes dos campos do fornecedor do PipelineOrdersTab para corresponder aos DTOs da infra- estrutura
Modificado v.uid → v.id, v.name → v.companyName, e selecionadoVendorId type de número para string para alinhar com CommerceMarketVendor DTO.
Alinhar TipoScript tipos com backend DTOs para mercados de comércio
O ComércioMarket, CommerceMarketVendor e FornecedorCategory TypeScript interfaces usadas nomes de campos errados (uid/name vs id/title, name vs nome da empresa,...
Mercados de tubagem sem carregamento e espaçamento de layout do gestor de mercado
Pipeline estava mostrando "Nenhum mercado de comércio configurado" porque getPOSConfig() Nunca devolveu o campo de mercado. Agora obtém mercados do comércioMark...
Resolver 'u.map não é uma função' nas configurações do POS e atualizar a navegação do Commerce
- Adicionar extração de array defensiva no comércioMarketApi (getMarkets, getVendorCategories, getMarketVendors, seedVendorCategories) para lidar com respostas ...
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.
