Membros de org de topo obter plano de plataforma-proprietário, bypass billing gates
Os membros das organizações KamoCRM (de nível superior) não estão sujeitos ao sistema de facturação — eles obter a matriz de características do plano ONDER UNIM...
Bypass de org de nível superior + Retalho de base gratuito para orgs sem subs
O controlo de direitos de org. anda assinaturas visando uma org. Com o novo modelo target org, orgs que ainda não tem um alvo AccountSubscription viu todos os a...
Remover o título do histórico de campos redundante do painel de histórico
A etiqueta tab já transmite o contexto — título e legenda estavam desperdiçando espaço na tela. O botão de recarga foi movido em linha para a barra de ferrament...
Remover as referências do Account.notes da janela de edição do AccountViewClient
Remover o suporte de layout causando o corpo de e- mail saltando
O movimento exterior. 'layout' do div suporte lutou com o interior AnimatePresence altura: animação 'auto', criando um loop de feedback FLIP em e-mails com altu...
Resolver o mapeamento de colunas duplicadas sobrepondo colunas de endereços incorporados ao MAILING *
Atualizar RetailService e adaptadores de provedores para remoção de Account.notes e conversão de tipo de moeda
Mostrar sempre o botão Criar Documento na página do gestor de documentos
Removeu o getMemberId() > 0 guard que estava escondendo o botão durante a janela de carregamento useUserInfo. A página já está por trás do Auth então não a veri...
Restaurar a importação da organização removida por acidente
organization.id ainda é necessário na solicitação do handleCreateDocument corpo; somente o isDocsEditor condição deve ter sido removido.
Mostrar o botão Criar Documento para todos os membros logados
A verificação de flag do recurso org (isDocsEditor → isDocs → hasFeature DOCS) estava retornando false porque as funcionalidades de org usam tipos de chaves des...
Remover os filtros de campo de grelha de dados e a linha flutuante do filtro
Desactivar todos os filtros de colunas e a linha de entrada do filtro flutuante para que o a grade mostra apenas cabeçalhos de colunas e linhas de dados. Também...
Mover o botão Enviar para a barra de ferramentas DocManager
O gatilho Upload foi apenas na página de ações do /doc/manager, tornando-o invisível quando DocManager é incorporado em outras páginas. Movido O botão Enviar di...
Permitir que as opções de envio entrem no DocManager incorporado
O recipiente da aba de envios foi transbordado: escondido, recortando as opções por arquivo (descrição, pasta, tipo de documento, nível de acesso) no limite de ...
Corrigir 400 erros de alimentação e adicionar sub-tabs de comunicações com parâmetros URL
Consertar o dobro? erro no MediaStream onde o feedEndpoint já contém consulta params mas a transferência anexada ?page=... em vez de &page=..., causando uma URL...
Tornar 'All Leads' um item de menu real com ícones no filtro de agente
- Substituir o item de valor vazio do placeholder por ALL para que o dropdown nunca mostra em branco quando Todos os Leads está selecionado - Adicionar ícon...
Manter todos os campos de nome em uma linha em um novo formulário de lead
Consuma *** segredo para que o X-Internal- Auth corresponda aos serviços a jusante
DaemonService -> Serviço de Conversão **************************** retornando 401 Não autorizado porque DaemonService estava carimbando sua cabeçalho X-Internal...
Use @CreationTimestamp(source=DB) on ****************
The DB is the single source of truth for timestamps in this codebase. The canonical Hibernate pattern is @CreationTimestamp(source = SourceType.DB), which makes...
Let DB fill **************** via @Generated(INSERT)
INSERTs were failing with: null value in column "date_created" violates not-null constraint @ColumnDefault only declares the DB-side default for new rows; Hi...
Drop the [from-internal-custom] _X. catch-all that broke softphone calls
The catch-all exten => _X.,1 in [from-internal-custom] was intercepting every internal dial — softphones started reporting "phone is not registered" / calls wou...
Enable JPA repos for commerce + email + dao.repositories packages
ConversionService new pod CrashLoopBackOff with the same error DaemonService hit earlier: Parameter 0 of constructor in **************** required a bean of ...
Carve /api/voip/recordings/** out of the wildcard VOIP forwarder
The /api/voip/** catch-all in APIGatewayController was shadowing the dedicated VoipRecordingUploadController POST /api/voip/recordings/upload mapping when Sprin...
Write managed config files 0644 so the asterisk daemon can read them
The kamo-asterisk-support pod runs as root and writes to host-mounted **************** Asterisk inside the FreePBX pod runs as user "asterisk" and could not rea...
Usar a sintaxe envsubst-compatível \${VAR} no modelo de configuração + re-render em espaços antigos
Pods foram CrashLoopBackOff com "erros de configuração: API KEY está faltando ou muito curto" porque o modelo de configuração usado literal API KEY marcador...
Drop unused watcher import
uploader.go only uses CallBatch (declared in grouper.go in the same package), not anything from internal/watcher directly. Go rejects unused imports.
Habilitar acordos de recompra JPA para comércio + e-mail + pacotes de repositórios dao
O DaemonService caiu na inicialização com: Parâmetro 0 do construtor em necessário Um tipo de feijão que não foi encontrado. Um serviço de biblioteca recenteme...
Substituir os adereços do item MUI v5 Grid com a sintaxe MUI v6 sx no VoipSmsTab
Capture o novoExtNumber como final para captura lambda no MemberVoipConfigController
o novoExtNumber é atribuído condicionalmente dentro do if (isVoipEnabled && ...) bloco, o que não torna efetivamente final. O bloco de sincronização do membro d...
Atualizar parâmetro de descrição OrgThemeProvisionServiceTest for buildConfigJson
Voz elencadaActividadeDetecção para contornar o tipo de TS DOM em falta
voiceActivityDetection é uma propriedade válida WebRTC MediaTrackConstraints mas está ausente da lib DOM do TypeScript, causando um erro de tipo na hora de comp...
Configurar STUN para que o navegador ICE possa completar bidirecionalmente
Chamadas de navegador para navegador bipartidário conectadas na camada SIP, mas não tinham áudio em qualquer direcção. Correio de voz (Asterisco de via única → ...
Áudio ao vivo que sobrevive a interrupções de carga, spinner centrado, saída ringback
Três correções coordenadas para o caminho de áudio em chamada: 1. AbortarError no remotoAudio.play() (visível no console de produção como "A requisição play() ...
Hangup tears down ALL live sessions, not just the primary
Self-call edge case left a session leaked: dialing your own extension creates an outbound session, then Asterisk loops the call back as a second inbound session...
Instant connecting feedback on outbound dial
Same problem the inbound Answer button had: clicking Call kicked off the SIP INVITE round-trip (1-3 seconds) but the button kept its idle "Call" appearance the ...
Conectando animação + áudio que realmente toca + toque desbloquear
Três correções coordenadas para o caminho de entrada: 1. O feedback visual ao aceitar. Clicar em Resposta deixou ambos os botões resposta, mas sem resposta — a...
Mount SoftphoneProvider acima ToolDock para que as janelas da ferramenta possam lê-lo
Abrindo o popup do Softphone caiu a página com "Esta página não pôde carregar" porque janelas de ferramenta montar dentro ToolDock, que vive em ToolProviders — ...
Use o suporte de tamanho da grade para que os painéis AV preencham a linha
A grade do MUI v7 é baseada em flexbox, por isso o gridColumn sx que eu tinha usado era um no-op — itens renderizados em sua largura natural e deixados vazios e...
Migrar IDs ringtone obsoletos para padrão ao carregar
Se as preferências AV salvas de um usuário referenciam um toque que já não existe no catálogo (por exemplo, «clássico» de antes do catálogo aparado), a aba Toqu...
Digitos do Dialpad agora registrar em dispositivos de toque
Os botões dialpad chamados e.preventDefault() em ambos onTouchStart e Touchend. Isso impede o navegador de disparar o evento de clique sintético que segue um to...
Navegador de máquinas SIP WSS em internal.kamocrm.com (certe)
Os navegadores recusaram a ligação WebSocket para o... com código próximo 1006 porque Traefik estava servindo seu certificado padrão auto-assinado para esse nom...
Presença globo separado para marketing chat ao vivo vs membros
Público Os tickets do widget de bate- papo mantêm o placeholder de org como requestorId; use somente presença de sessão de mídia para essas linhas. Membro de us...
Periódico STOMP presença batimento cardíaco para apoio público
Atualizar Redis TTL para presença de sessão pública para que os agentes vejam o estado online preciso.
Globo usa presença de sessão de mídia para visitantes de marketing
Solicitar sessão de chat público GUIDs em instantâneo de presença; tratar on-line se ambos sessão ou membro solicitante está conectado. Lidar com o envelope de ...
Acompanhe o chat de suporte público por sessão GUID em Redes
Visitantes de marketing usam /ws/public-chat-native sem membroId; tickets ainda Referência ao membro de substituição da organização como solicitante. PRESENÇA ...
Não apagar a atribuição de membros na sincronização de provedores que não possuem metadados
**************************** Sobrescrito incondicionalmente TelefoneExtension.associadoMembro com o que o provedor retornou. FreePBX (e qualquer provedor que nã...
Mostrar o nome do provedor no modo de visualização + extensão própria no dropdown de edição
Dois insectos em... 1. Modo de visualização descartou o UUID bruto — "Instância 32f520b0-347a-..." — porque a lista de instâncias só foi carregada dentro do ha...
Serialize ExtensionDto.atribuídoMemberId como uma string
transborda o alcance de integração segura da JS (por exemplo, 1168485658174423046 viagens de ida e volta como 1168485658174423000 uma vez que um número JSON ati...
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.
