Ir para o conteúdo
KAMOUniverse

Changelog

O que há de novo.

Cada melhoria para a plataforma, como ele envia.

  1. · kamo-shared-library

    Lead hipotecário transporta finanças de mutuário (renda, crédito, preço de compra, entrada de pagamento, saldo de refi/cash-out)

    Surge o existente **************** e acrescenta quatro colunas declaradas para LeadClaimMortgage; fios DTOs (ler/atualizar/criar), o registro de campo de histórico e LeadService criar+atualização. Estes são os fatos do mutuário CLAIMED/ESTIMADO (firewalled do URLA verificado), dando o agente de empréstimo uma rica imagem pré-1003 do portal do mutuário.

  2. · SecurityService

    O membro do processo envia como org bg + gate por novos direitos

    - Novo ImageResizeClient executa uploads de fundo de membros através do SAME pós-processamento como org backgrounds (POST **************** e armazena o resultado como .wepp. - ThemeBackgroundController: autorizar todos os cinco objetivos pelos novos direitos - GESTÃO OWN BACKGROUND IMAGES para o seu próprio membro, ********************************************************************************** para outro membro (um superset; bypass deus-modo). Leituras resolvem o alvo usuário do membro para que os administradores possam listar/servir imagens de outros; uploads armazenam sob o usuário do membro alvo. - Novo GET /teme-backgrounds/active retorna slideshow do próprio membro da sessão URLs de imagem (vazio => org fallback) para a camada de fundo global. Direitos auto-seed na inicialização via RoleRightsSyncService (necessita da nova compartilhamento de lib, que os clones CI). Não é necessário executar o KamoInitializer.

  3. · kamo-internal

    Gate My-Perfile backgrounds pelos novos direitos + slideshow membro/org

    - Gate the My Profile "Antecedentes e Tema" seção por MANAGEM OWN BACKGROUND IMAGES (Eu) / **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** (outros); deixe um background-admin abrir o perfil de outro membro. - Persista na escolha org-vs-próprio através da bandeira de cada fundo éInSlideshow (org => nenhum ativo, próprio => todos ativos) — nenhuma mudança de esquema; a heurística de busca agora deriva a opção de imagens activas para corresponder ao que a apresentação de slides serve. - OrgSlideshowLayer prefere os fundos ativos do membro (GET ****************Falha-soft) e volta para o org backgrounds. Nova rota proxy fina / ativa.

  4. · kamo-shared-library

    Adicionar Gerenciar Direitos próprios / Outros Fundo Imagens (Grupo Geral)

    Adiciona GESTÃO OWN BACKGROUND IMAGES (165) e ************* (166) para RoleRightType, serviceType null para que eles pousem nas configurações gerais Grupo (espelha o precedente STATE LICENSING * OWN/ALL). Porta o por- membro recurso de imagens de fundo no meu perfil. Anexar apenas a versão; inalterada.

  5. · SecurityService

    Notificar o locatário atribuído quando o mutuário de um empréstimo docs são todos recebidos

    Fogos LOAN DOCS REAdy LO nos pontos de satisfação ao lado do mutuário DOC COMPLETE. Resolve o LO via loanFile -> **************************** -> Membro; self-guarded ao empréstimo que está sendo inteiramente coletado, um LO atribuído, e um email resolvível.

  6. · kamo-shared-library

    LOAN DOCS READY LO modelo canônico — notificação atribuída LO quando os documentos de um empréstimo estão todos em

  7. · kamo-internal

    Atribuir um agente de empréstimo a um acordo da secção de origem

    A seção Loan Originator somente para leitura agora tem um colhedor de loan-officer + Atribuir, chamando PUT **************** no nível de transação (herdada por todos os empréstimos infantis). Ao atribuir-lhe re-fetches o aplicativo assim a projeção ao vivo reflete imediatamente o nome/NMLS/licença estatal da LO. Escondido uma vez congeladas (na forma original). Isto torna todo o originador gerido pelo sistema operacional — antes isto não havia maneira de definir a atribuição, de modo que os campos LO sempre projetado vazio. (Novas cadeias de UI em linha até um passe i18n, correspondendo ao aviso existente da seção.) Verificado: tsc -- noEmit clean.

  8. · kamo-internal

    Campos de configuração do provedor para o acesso de correio na nuvem

    Adicione as entradas de configuração que o solucionador do EmailService lê para autenticar a nuvem caixas de correio: - Google Workspace: chave de conta de serviço (JSON) para IMAP de delegação de domínio. - IceWarp: host de correio, senha de correio de serviço, segurança de transporte. - Exchange (on-prem BASIC/NTLM): host de correio, senha de correio de serviço, transporte segurança.

  9. · EmailService

    Roteie todas as mensagens de provedores de nuvem através de IMAP/SMTP com OAuth2 (XOAUTH2)

    Provedores de nuvem (Microsoft 365, Exchange Online, Google Workspace, Zoho, IceWarp) Mas o resolvedor nunca credenciais IMAP/SMTP povoadas para eles, então cada pasta/mensagem lida foi lançada MailboxNotConfiguredException -> a tela "e-mail não configurado" (por exemplo, org optionone no M365). KamoMail só funcionou porque só ele recebeu credenciais (Dovecot interno). Agora todos os provedores passam pelo caminho IMAP/SMTP; O KamoMail está inalterado. - Cartas Credenciais: especificações completas de ligação - ImapStoreFactory + EmailSmtpService: SASL XOAUTH2 (native com.sun.mail) ou básico auth per spec; STARTTLS necessários (falha-fechado) para que tokens nunca transitem cleartext. - MailProviderResolver: fiação credencial por provedor + caixa de correio padrão por membro + Actualização do token OAuth. Tokens M365/Exchange-Online para usar somente aplicativos de clientes-credenciais (outlook.office365.com; **************************** locatário derivado da domínio da caixa de correio; Google usa a delegação de domínio da conta de serviço; Zoho usa o armazenamento do token OAuth; IceWarp/on-prem Exchange usa a autenticação básica da configuração do provedor. - EmailImapService: resolver Enviar/Drafts via RFC 6154 SPECIAL-USE para enviar cópias de terra na pasta nativa do provedor (Gmail [Gmail]/Enviar Correio, Trocar Itens Enviados). - ProviderController: persistir campos de configuração- formulário na configuração criptografadaJson (previamente descartado); capacidades da lista sem cunhar um token. - Removeu os esboços de aviso em tempo real de provedores de nuvem (polling covers em tempo real; sem infra push- webhook). M365/Exchange-Online requer IMAP de Aplicação.AcessoAsApp + SMTP. SendAsApp com o administrador consentimento e New-ServicePrincipal in Exchange Online (escopável por caixa de correio).

  10. · kamo-internal

    Deal-scope um envio de cofre da página de documentos da conta

    A janela de envio agora oferece um seletor opcional "Deal" (a conta transações); escolhendo um selo empréstimoTransactionId so a time-sensitive doc (crédito relatório, extratos bancários) está vinculado a esse negócio e só satisfaz os seus empréstimos — enquanto "Conta em todo o mundo" mantém a reutilização atemporal para documentos de identidade. Completa o modelo de documento de transação de ponta a ponta. Verificado: tsc -- noEmit clean.

  11. · SecurityService

    O envio do Vault pode negociar um documento (empréstimoTransaction Id)

    O envio do cofre agora aceita um empréstimo opcionalTransaction Id, estampado no Documento Membro para que um documento sensível ao tempo (relatório de crédito / extrato bancário) possa ser vinculado a uma transacção específica — o guarda de satisfação aplica-a, em seguida, apenas a Empréstimos. Omitido = reutilização sem prazo de conta (sem alteração). Surgiu no Documento MembroDTO. Verificado: mvn compilar limpo.

  12. · kamo-internal

    Interruptor de fundo por dispositivo — apresentação de slides de fotos de gradiente simples ou org

    Adiciona um interruptor de dois íons no canto superior direito (sob a pílula experimental; sobe para a pílula local uma vez que o teste termina) para escolher o fundo do console: - Gradiente simples (padrão, melhor desempenho) — o cenário de oklab-blob existente. - Org foto slideshow - reutiliza os mesmos ativos temáticos os sites de login / registro use: <themePath>/json/config.json's backgroundImageCount → <themePath>/img/bg/{n}.wepp, pré-carregado com 404s caídos e cruzados (respeitos preferem movimento reduzido; cai de volta para o campo simples se nenhuma imagem resolver). A escolha é salva PER DEVICE no localStorage (use BackgroundMode), não server-side, porque é uma escolha renderização/perf que deve permanecer local. A O Backdrop partilhado honra-o (casa + definições); a opção vive em casa. Cada o ícone tem uma dica. Novas cordas home.background.* enviadas para o dicionário.

  13. · SecurityService

    Congelar o instantâneo do originador na estimativa inicial do empréstimo (Reg Z/TRID)

    Completa o ciclo de vida do originador: uma resolução compartilhadaProjection() agora alimenta ambas as Projecção live read e congelamento (sem deriva). Ao emitir uma divulgação INICIAL LE Set, MortgageDisclosureController congela o empréstimo como origemOriginator – capturas a LO + org + licença de estado projectada para a linha WORM e selos congeladosAt/ congeledState (idempotente; o @PreUpdate guard bloqueia qualquer alteração posterior). Depois disto, org/LO renomear nunca altera com quem o mutuário se originou. Verificado: mvn compilar limpo.

  14. · kamo-internal

    Transação-primeiro gasoduto — Linhas expansíveis PrimeReact

    Substitui a grade de empréstimo plano por uma tabela de dados PrimeReact das TRANSACÇÕES que começam colapsou e expandir IN LOCAL aos seus empréstimos membros (sem gaveta de dois cliques), assim um administrador abre um empréstimo específico diretamente. Colunas-mãe: Transação #, Estado do negócio, Empréstimo(s), Empréstimos, Target Close; linhas de filhos: Empréstimo #, Empréstimo, Propriedade, Quantidade, Situação, Abrir. Empréstimos órfãos render como linhas de empréstimo único. Mantém a pesquisa, filtro de estado, Exportação CSV, Novo, e os pontos de entrada Tabuleiro/HMDA. PrimeReact 10 (MIT). Também commits a especificação de projeto do refator. Verificado: tsc --noEmit + next build ambos limpos.

  15. · kamo-internal

    Re-adicionar a pílula de teste superior-direita (Pílula NavPri de cor)

    Mantém a linha de teste na tira status masthead e re-adiciona uma pílula proeminente no canto superior direito para que o modo de teste de uma org permaneça óbvio. É o NavPri expandido comprimido experimental com suas cores de preenchimento / texto trocado (fundo primário, branco texto/ícone) usando o mesmo ************* rótulo; mostrado Apenas para o pessoal (TEAM MEMBER) com direito a julgamento.

  16. · kamo-internal

    Viver "inserir entre" enquanto arrasta, não apenas drop-to-swap

    Anteriormente, a ordem só mudou na gota, por isso ele leu como troca em um slot. Agora a lista re-flows vive à medida que você arrasta: dnd-kit noDragOver move o arrastado opção para o slot da opção pairado (arrayMove), para que o membro veja exatamente onde pousará entre os outros. useHomeLayout.move avança sua ordem ref síncronamente, os eventos consecutivos de drag-over compõem-se corretamente, salvar bandeira para que a visualização ao vivo skips escreve; a ordem final persiste uma vez em drop via um novo commit().

  17. · kamo-internal

    Comutador de empréstimos de irmãos na vista da aplicação

    Uma transação pode agrupar vários empréstimos; o cabeçalho do aplicativo agora mostra um switcher para saltar entre os empréstimos de irmão do negócio (escondidos para empréstimos individuais) em vez de ser apenas acessível através do gasoduto. Verificado: tsc -- noEmit clean.

  18. · kamo-shared-library

    LoanFileDTO.loanTransactionId (app view sabe seu negócio)

    Surge a transação do empréstimo para que a visão /aplicações possa mostrar/comutar irmão Empréstimos. Verificado: mvn install clean.

  19. · kamo-internal

    **************************** (tipo FE)

    Espelha o campo da infra- estrutura para a coluna Transaction # do gasoduto. Verificado: tsc -- não Emite limpo.

  20. · SecurityService

    Transacção de superfície Número na TransaçãoResumoDTO (Transação de tubulação #)

    A linha do gasoduto por transação agora carrega o número humano da transação. Verificado: mvn compilar limpo.

  21. · SecurityService

    Projeção Originador resolve a licença por estado

    Completa a projeção do originador ao vivo: o StewardLicense da LO atribuído (NMLS MLO) para o estado do PROPRIEDADE DE SUJEITO (de property.endereço.subdivisão, normalizado para ISO-3166-2), um atualmente válido, povoa originadorStateLicenseId. Verificado: mvn compilar limpo.

  22. · kamo-internal

    Arrastar e soltar para reorganizar as opções do launchpad, salvo por membro

    Os membros podem agora reordenar suas opções de casa arrastando, e o arranjo é servidor-side persistido por membro (sobrevives recarrega e segue-los através dispositivos) através do mesmo ui-preferences genérico armazenar o layout nav usa — um novo `homeLayout` chave segurando os IDs de opção ordenados. - useHomeLayout (disponívelIds) carrega a ordem armazenada, mescla-a com a opções atualmente expiradas (novas opções anexar, removidas gota), e persiste Reordena com um POT otimista, debuited **************************** - dnd-kit DndContexto sobre a alvenaria: MouseSensor (5px) + TouchSensor (250ms) então um clique rápido ainda abre um cartão / seu sub-itens enquanto um drag de imprensa rearranja (somente ponteiros, como os navegadores vivos). Reordenar commits ao soltar A queda do alvo toca. Característica fica arrastável={false} assim nativo link-drag Não luta contra o Dnd-kit.

  23. · kamo-internal

    Faça dos Materiais a primeira aba + desembarque padrão; remova Visão geral

    Aba Visão geral removida; Materiais agora é o primeiro. O índice /marketing redireciona para o primeiro aba acessível (Materiais por padrão), então qualquer um que abrir Marketing pousa em Materiais.

  24. · SecurityService

    Projecção do originador vivo — org + LO atribuído, em leitura

    GET /mortgage-apps/{uid} agora sobrepõe uma projeção do originador gerenciado pelo sistema LIVE (computado na leitura, nunca armazenado) a menos que a linha esteja congelada: Organização, e nome do escritório de empréstimo/NMLS/equipeMembro do membro a transação do empréstimo (nome legal via User.EmbNameFull.formatFull(), NMLS via Membro. nmlsId). A identidade em branco é limpa — a secção reflecte apenas o fonte da verdade. Uma linha congelada (LE inicial emitida) é o instantâneo WORM, deixado intocado. Restando para a projeção completa: o StewardLicense por Estado (precisa do sujeito indicar no gráfico da aplicação) e o gatilho de congelamento na emissão inicial da LE.

  25. · kamo-internal

    Seção Originador de Empréstimos é somente leitura / sistema gerenciado

    O cartão Originador de Empréstimos não edita mais dados URLA §9 (a duplicação de Foi uma recaptura. Ele renderiza somente leitura: Projecção LIVE do agente de empréstimo atribuído + org antes do empréstimo inicial Estimativa, em seguida, o snapshot congelado como-originado após (congelado em/congeladoEstado/fonte agora em LoanOriginatorDTO). Remove as entradas editáveis + patch desbotadoOriginador Salvamento automático. Projecção/congelamento da infra-estrutura a seguir (SecurityService).

  26. · SecurityService

    Atribuição de empréstimo-oficial a nível de operações + número de transacção

    assegurarTransactionForApp agora carimba uma transação org-únicaNúmero (TXN-<uid>). Nova ************************* + PUT /mortgage-apps/transactions/ {uid}/empréstimo-oficial define o agente de empréstimo atribuído ao acordo (um Membro.id, herdado por todos os empréstimos a crianças) — a fonte única que conduzirá o sistema gerido EmpréstimoProjecção/snapshot de origem (o original nunca é introduzido à mão). Operador... fechado, org-escoberto.

  27. · InitializerService

    Colunas de origem/transação-primeira (@Order 90)

    Colunas nulas aditivas + índice único de número de transação org para o MLOS originador/refactor de transacção: mlos loan transaction (transaction number + atributed lo *), loan originators (marcadores frios at/congelados state WORM), mlos member document (empréstimo transaction id deal-binding). Idempotente.

  28. · kamo-shared-library

    Origem/transacção-primeiro esquema — atribuição de LO, congelamento de WORM, documentos abrangidos pelo acordo

    Espinha dorsal para o sistema-gerido-originador + transação-primeiro refator (spec 2026-07-08): - LoanTransaction: transactionNumber (org-unique) + atribuitedLoanOfficerMemberId (+ auditoria) — atribuição de LO de nível de transacção que conduz o originador Projecção, herdada por todos os empréstimos para crianças. - EmpréstimoOriginador: congelado/congeladoEstado + @PreUpdate WORM guard — o originador é Projecção LIVE do membro/org atribuído até à estimativa inicial do empréstimo problemas (Reg Z/TRID), então um instantâneo imutável como-originado. EmpréstimoOriginadorDTO expõe congeladoAt/congeladoEstado/fonte (LIVE oSNAPSHOT). - Documento Membro: empréstimoTransactionId deal-binding — a time-sensitive auge doc (relatório de crédito, extrato bancário) é coberto por transações; NULL = conta-timeless. A validade temporal permanece regulada pela Política de Frescura existente (não duplicada). A lógica de projecção/congelamento/atribuição vive no SecurityService (que depende de ambos donotmodify e mlos), não aqui — o núcleo bloqueado permanece desacoplado.

  29. · kamo-internal

    Adicionar filtro de produto dependente do Fornecedor

    Adiciona um filtro de produto à barra de filtro /leades, imediatamente à direita do Filtro de fornecedores. Ele se comporta como o par Status/SubStatus: desativado até um fornecedor é selecionado, suas opções são os produtos pertencentes ao fornecedor, e ele limpa quando o fornecedor muda. O filtro do lado do cliente o estado de predicado e filtro já existia; este fios acima do dropdown.

  30. · kamo-shared-library

    AusEngineClassifier compartilhado — uma fonte de verdade para o mapeamento da agência §8.2

    O programa→engine, run→engine, e decisão→gate mappings foram locais para **************************** A fase de bloqueio dos mercados de capitais AUS precisa da classificação idêntica, e uma porta de crédito justo não deve ter dois cópias que podem derivar. Extrair os três mapeamentos puros para **************************** (interruptores estáticos, exaustivos = Completitude compilada / §8.2 drift guard). Determinador de preços agora delegados para ele; LockStageAusGate de capitais usa o mesmo. Aditivo, sem esquema.

Seu universo está esperando.

Comece gratuitamente em minutos.Adicione produtos sempre que estiver pronto — sem migração, sem novos logins.

Gratuito para sempre — não é necessário cartão de crédito