Resolver os direitos dos membros como uma verdadeira cascata em vez de NUKE-sempre-wins
Direitos eficazes foram calculados dobrando cada fonte (papéis, departamento, trabalho título, membro) em um mapa onde NUKE sempre ganhou. Isso significa que um...
Reverter a segurança Prestador de auto-indicação; membro de auto-cura direitos aplicados
Duas questões da segurança: 1. Enter-as-System-Membro falhou com "Nenhum membro da organização provedor de segurança" para cada criança org. Todos os orgs de s...
Atualizar o status do provedor quando o popup do OAuth fechar
O provedor agora redireciona para o callback api-gateway (uma origem diferente), Por isso, a sua mensagem pós-messagem não pode passar na verificação de origem ...
Passagem pública para e-mail chamada de provedor OAuth
Avançar GET ************* para o Serviço de Email sem sessão (strips auth, sem redirecionamento seguindo), espelhando o retorno de chamada RingCentral OAuth. Es...
Reencaminhamento público fixo + retorno de chamada de entrada
O email da plataforma OAuth (Microsoft 365 / Google / Zoho) não tinha público válido redirecionar URI: o redirecionamento foi derivado da máquina request, que e...
Servir o editor de e-sign PDF para qualquer documento convertido, incl PDFs nativos
O editor de e-sign (DocumentEditor → PdfCanvas / PageThumbnailSidebar) abre qualquer documento convertido, não apenas arquivos carregados através do fluxo sig-t...
My Docs usa MY DOCS ordinal (3), não enum id (4)
A infraestrutura resolve ImageAssocType via `valores()[assocType]` (índice ordinal) e persiste @Enumerado(ORDINAL). Cada superfície de imagem passa pelo ordinal...
Converter documentos desduplicados para que a edição do e- sign esteja habilitada
Quando os bytes de um arquivo carregado correspondem a um ImgDat existente, o caminho de desdup (registro-existente) reutilizou que dat verbatim e nunca executo...
Devolver 200 todos Falso para recursos de org não configurados
GET /api/voip/capacidades lançadas ProviderNotConfiguredException (422) quando um org não tinha provedor de telefone, registrando um erro de console vermelho em...
Parar 404/422 erros de console para nav não personalizado e sem telefone orgs
Leia o endpoint de coleta de ui-preferências (sempre 200) para o navLayot carga em vez da única chave GET, que 404s quando um membro tem nunca customizou seu na...
Proactivamente fornecer aliases de navegador (media.*)
O mecanismo de descoberta log-scan nunca pode iniciar o alias 'media': ele é apenas contactado pelo navegador através de um subrecurso WebSocket/XHR (SockJS /ws...
Gate lead contact-info por atribuição + novos direitos de privacidade
Espelho dos três novos direitos de CRM. Na página principal detalhe, máscara / bloqueio o Contato Primário, Endereço de Correio e Campos de Endereço de Propried...
Forçar os direitos de privacidade de contato-info
getAllLeads agora retorna o LeadListDTO magro e esconde leads não atribuídos de membros sem VER UNASSIGNED LEADS. getLeadById contato máscaras info (estado pres...
Lead contact-info direitos de privacidade + lean list DTO
Adicionar três direitos de CRM (161-163): "Atribuído a Outros: Ver/Editar Lider Informações de contato" e "Ver Chumbos não atribuídos". Adicionar LeadListDTO — ...
Interpretar o bloqueio LAST EDIT AT como UTC para expiração epoch-millis
dbNow () agora retorna o relógio de parede DB- UTC (agora):: timestamp), então recupera o absoluto instantânea com toInstant(UTC) em vez da zona padrão JVM — ma...
DbNow () cast now()->:: timestamp (TIMESTAMPTZ->Instant breaked LocalDateTime)
SELECT now() retorna TIMESTAMPTZ, que Hibernate materializa como java.time. Instantânea e não pode ser lançado para o tipo de retorno LocalDateTime declarado — ...
Enviar o tipo de membro dos caminhos /member e /team
/team Signups create a TEAM MEMBER (criado PROSPECT, pendente ativação admin); /member As inscrições criam um MEMBRO. RegisterFlow leva um membroType prop forne...
/time cria um TEAM MEMBER (PROSPECTO), /member cria um MEMBRO
Registro público agora homenageia o membroDigite o site do registro enviado (do /membro vs /team path): /team cria um TEAM MEMBER — como PROSPECT, então um admi...
Filtro do agente mostra nome de membro + extensão do telefone, não e- mail
O dropdown do Agente rotula cada companheiro de equipe com seu e-mail porque o carregador ler primeiroNome/último Chaves de nome que a infra- estrutura nunca en...
Expor extensão de telefone de membro da equipe em membros da equipe-contratantes
O filtro /leades Agent precisa da extensão do telefone de trabalho para as opções de etiqueta como "Nome (ext 8080). A extensão já existe no membro da equipe (g...
O popup do request-suport mostra tópicos compartilhados do pai-org
Apontar o tópico de criação de tickets para o novo /api/suporte/tópicos/endpoint disponível (org próprio + tópicos compartilhados pelos pais) para que os usuári...
Surface pai-org temas compartilhados no popup request-suport
Os usuários do Child-org não puderam ver os tópicos de suporte compartilhados de seus pais (atribuirToOwnOrg=false) ao solicitar suporte, porque o popup somente...
Corrigir a pesquisa de tópicos invertidos
A consulta do tópico child-org filtrada na atribuiçãoToOwnOrg=TRUE (somente para o próprio org) quando deve retornar tópicos compartilhados com orgs de crianças...
Novas orgs de crianças herdam a segurança dos paisProvider
Ao criar uma org infantil a partir do kamo-internal, defina a segurança da nova orgProvider para segurança do pai orgProvider (a org em que é criado) em vez de ...
Mostrar o aviso ligado à conta em ?linked=1
Quando o registo liga uma conta existente a uma nova org, redirecciona aqui com ?linked=1. Mostrar "Você já tem uma conta Kamo — nós adicionamos esta organizaçã...
Lidar com a resposta ligada à conta para os utilizadores existentes
Quando o e- mail introduzido já pertence a uma conta activa, a infra- estrutura liga isto org a ele e retorna CONTON LINKED. Roteie esses usuários diretamente p...
Ligar membro/equipe-member create + UI Prospect-gate
- Adicionar as rotas de proxy POST falta /api/security/members/create e /criar-equipe-membro (estes 405'd antes, para que a criação nunca chegou à infra- estrut...
Reutilizar usuários existentes, espelho para segurançaProvider, gate team-member sign-in
Reutilização (sem contas duplicadas para a mesma pessoa): - MemberCreateController agora reutiliza um usuário existente por e-mail pessoal CASO-INSENSIVEMENTE (...
SegurançaProvider espelho de associação + reutilização / patch base
- Espelha um utilizador para a segurança do orgProvider org como membro de base (deduped; no-op quando o org segura-se ou o usuário já está lá). Apoia a regra d...
Envie o nome de host do registante no corpo para que a conta caia sob o org direito
O org resolvido estava disponível no cliente, mas nunca foi enviado para a infra-estrutura — a org foi transmitida apenas implicitamente via X-Forwarded-Host, q...
Ficheiro contas novas sob a org do domínio, não o kamocrm
/register ligou a nova org do membro ao Host de solicitação, mas o sinal org nunca sobreviveu ao salto: kamo-register proxies cada inscrição para o compartilhad...
Resolver org-by-domain com um alias mais profundo
- Não. domínio exato match, então solte o rótulo mais profundo uma vez (register.optionone.com -> optionone.com) assim, um subdomínio de registro/marcação de pe...
Parar a agitação do viewport nos navegadores com barras de rolagem clássicas
Em máquinas cujo Chrome utiliza barras de rolagem que consomem layout (não sobreposição), as páginas de login/recuperação se agitaram com ambas as barras de rol...
Guia de Tarefas de Fio para infra- estrutura real + excluir ação + contagem ao vivo
Adiciona as rotas do proxy seguinte para /leades/{id}/tarefas[/{taskId}] (as tarefas da aba addTask/updateTask/completeTask calls foram 404ing), uma ação delete...
Tarefas principais API REST + TAXA CHANGED em tempo real
Implementa a infraestrutura que a aba /leades/view Tasks já estava chamando, mas isso nunca existiu: GET/POST/PUT/DELETE **************************** (LeadTaskC...
Entidade responsável pelas tarefas de acompanhamento
Retorna a aba /leads/view Tasks (anteriormente um stub somente de frontend sem persistência). O LeadTask (tabela LEAD DASK) reflete a forma do frontend TaskIte...
Datagrid em tempo real + live view com bloqueios de edição por painel
/leaders grid está agora totalmente ao vivo sobre websocket (NATS→STOMP): linhas adicionar/remover/atualizar contra o filtro ativo automaticamente e as células ...
Org-guarda a subscrição /topic/leaders/rt/{orgId} em tempo real
Subscribe guarda Cross-tenant para o novo tópico líder em tempo real, espelhando o existente /topic/social/feed guard: um membro só pode subscrever o seu própri...
Per-pane edit-lock REST API + varredor de salvamento automático
Adiciona /api/security/leades/{id}/locks * * * * * * Apoiado por LeadLockService: reserva exclusiva por painel, batimentos cardíacos de rascunho que redefinir u...
Publicação NATS em tempo real + entidade edit-lock por painel
Publique eventos de liderança em org- scoped no security.leades.rt.{orgId} (criado/atualizado/ apagado com chaves de campo alteradas, o histórico foi aplicado) ...
Remover a seção "Não disponível para você"
Pare de aparecer nav apresenta um membro carece de acesso. A Navegação A página de layout listou todas as opções de navegação ocultas como fichas bloqueadas; de...
Endpoints genéricos de byte recusam documentos do MLOS por parte (vault/empréstimo)
Os parâmetros genéricos do byte de imagem (download / stream / bulk-download / thumbnail) e a agregação de aglutinantes autorizado apenas em org + um numérico L...
Integrar as abas primárias no cabeçalho nas páginas restantes do Estilo A
Seguimento da varredura Style A→B, cobrindo páginas que não passam ConfiguraçãoVer: - /kb: KbNavBar torna- se um cabeçalho de herói gradiente com os Artigos/Re...
Centralizar a snackbar de status de produtos fornecedores no topo
A pílula de estado de salvamento/atualização usou a âncora padrão do MUI (inferior à esquerda, não AnchorOrigin set) para que ele renderizou fora do centro. Ânc...
CreatePair é idempotente para o par primário (para duplicar o EmprestadorPairs)
createPair é o único chamador do assistente 'assegurar o mutuário primário', mas incondicionalmente inserido um novo par cada chamada, então um autosalve concor...
Relocalizar as barras de contagem de fundo no cabeçalho através das páginas sociais, importações
Aplica o tratamento de fornecedores-tab para as superfícies de configurações de CRM irmão standalone "x • y" barra sumária na parte inferior já não come página ...
Não serve documentos soft-deletados em /stream e /bulk-download
getDocumentMetadata (usado pelo fluxo + caminhos de bytes de download em massa) não filtrar linhas destruídas da forma como o downloadDocument faz, e uma remoçã...
Mover a contagem de fornecedores/produtos acima das ações do cabeçalho, atualização inferior-align + Adicionar Fornecedor
Recaptura a página imobiliário a barra de resumo de fundo standalone usado para Ocupar — a linha "x fornecedores • x produtos" agora empilha acima da ação botõe...
Integre abas primárias no cabeçalho da página (Estilo B) nas páginas Estilo A
Cada página do gradiente-herói que renderizou suas abas primárias em uma carta separada abaixo do cabeçalho agora os torna dentro do próprio cabeçalho gradiente...
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.