Permitir que SWITCH MODEL reinicie uma sessão para Auto
handleSwitchModel sempre com modelId e errou no null, então uma sessão nunca poderia ser revertida para a seleção automática do modelo no meio do chat. Processa...
Aceitar X-***-Token para clientes móveis no OTKPreAuthFilter
por-tab sessão id como X-***-Token (combinando **************** Quando presente (e sem X-OTK), resolva a sessão de forma não-consumidora e defina o mesmos atrib...
Rota /api/email + /api/suporte através da máquina api
(EmailService) e Suporte (MediaService, mesmo upstream que /api/media) foram não roteado → 404. Adicione ambos os encaminhamentos e corrigir e-mail. service.url...
Agência desencadeada pelo Steward-AUS executar proxy
Adiciona POST **************** — o mordomo "Corra AUS" desencadeia falta o console somente para leitura. Gated no operador (GD); organizationId e membro atuante...
Prioridade explícita para que a rota de atualização OTA ganhe a rota tema geral
O Traefik classifica por comprimento de texto de regras; a rota geral do tema /public/ é mais longa, Por isso, a injecção do cabeçalho nunca correu. prioridade:...
Cabeçalhos de expo-updates auto- hospedados para Mobile Copilot OTA
expo-protocol-version:1 + expo-sfv-version:0 cabeçalhos de resposta que o Expo-updates cliente requer e estático MinIO não pode emitir. Caminho mais longo prefi...
FornecedorOrder + FornecedorOrdenarEvento entidades para WS3 fornecedor-order espinha
A ordem de registo de terceiros de Greenfield. SCRA). Ordem de Fornecedor = ordem assincronizada parcial- WORM (ClosingArtifact idiom: opaco fornecedorKey/exter...
Data própria do documento de carimbo para o relógio de frescura (ativação WS1)
Após a extração da visão, propagar a própria data efetiva do documento Periodend for banking/broker/retirement, employment.payPeriodend Para pagamentos) ao depu...
Consuma @ kamo/* libs compartilhadas, exclua cópias duplicadas da Web
kamo-internal importa agora os pacotes compartilhados TS originalmente semeados (um - avatarUrlTransform → reexportações @kamo/media-core (getAvatarSized Url, t...
HipotecaAmortização — mensal P&I de condições de empréstimo (apoio WS6)
O único componente PITI não armazenado no empréstimo. Padrão de amortização completa fórmula P·r·(1+r)^n/((1+r)^n−1); taxa zero degrada-se para linha reta; não ...
EncerramentoProntidãoAvaliador — portão transparente de nível de empréstimo
Revela as obrigações de um empréstimo até à questão do financiamento do défice de fim a fim análise levantada ("serviço o empréstimo todo o caminho para o finan...
QualifyingRatioEngine — a pedra chave dti reprodutível (WS6)
Compõe os quatro núcleos (renda, passivo, PITI/DTI, reservas) em UM QualifyingSnapshot: rendimento qualificado, dívida mensal reconciliada, montado PITIA, DTI f...
ReservasCalculador — margens de avaliação dos activos elegíveis → meses PITIA (WS6)
Derivados reservam meses a partir de ativos reais com margens de avaliação padrão da agência — depósitos líquidos 100%, corretagem 70%, aposentadoria adquirida ...
PitiDtiCalculator – conjunto PITI + DTI frontal/back (WS6)
Núcleo de rácio puro completando o trio DTI com ResponsabilidadeReconciliador + núcleo de rendimento: PITIA = P&I + impostos + HOI + HOA + MI + inundação; frent...
QualifyingIncomeCalculator — base + núcleo variável (WS5)
Núcleo de rendimento puro/determinado: base salarial = menor conservador provas disponíveis (paystub / W-2 / VOE); variável = média de 2 anos com Declínio da gu...
Responsabilidade Reconciliador — Regras de inclusão no pagamento das agências (núcleo WS6)
Computador puro/sem estado que transforma cada responsabilidade no pagamento mensal que conta contra DTI, com uma fundamentação citada: excluído omitido/pago, l...
Especificações de quantidade de período explícito para os sucessores delta
RequisitosQuantidade ganha uma lista de períodos explícita (+ deltaJson builder); quando presente é o conjunto necessário, para que um sucessor possa ser "apena...
****************como a única fonte chave do período
Adiciona períodoKeyFor(date) para que o write-path (satisfier stamping) e o Os períodos-chave do avaliador de cobertura são idênticos; o avaliador agora deleita...
Primitivos da cobertura do período para a coleção de documentos do período
A base pura e aditiva da coleção de conhecimento do período (doc 06 §4) — o primeira fatia do banco-declaração "colete apenas os meses que ainda não tenho" Cons...
Substituir o chat bifurcado com o conteúdo hospedado <kamo-chat> embed; apagar o widget de proxy legado
Troca o chat AI/live-suport React (PublicChatWidget + AiChatPanel + LiveSupportPanel + as rotas proxy /api/chat/** do servidor) para o hospedado, auto-tema <kam...
Aceitar o cabeçalho X-***-Token nas minhas redes + todas as redes
getMyNetworks/getAllNetworks apenas leu o request-attr OTK ou o cookie ***, — não há org para além da primária trocada de dispositivos sempre carregada, e a org...
I18n as etiquetas de identidade de software LabelManager via next-intl
Substituir cordas literais por... chaves (adicionado ao dicionário de tradução). Inglês backback cobre locais pendentes de tradução.
Adicionar o QR de instalação (APK auto- hospedado) à página Configurar a Aplicação Móvel
Instalar/Inscrever a opção: "Instalar" mostra um QR para a versão assinada APK no novo telefone pode baixar + sideload; "Inscrever-se" mantém o fluxo OTK com se...
Web Chat Integration design personalizer + visualização ao vivo
Adiciona uma janela de Personalização à página Integração de Conversas Web: um formulário de editor (cor, cópia, disposição, comportamento, prompt de IA) à esqu...
Página de Integração de Web Chat — lista, criação, trecho (BFF + UI)
Núcleo de fase 2 da página de configurações de integração do Web Chat: proxy de rotas BFF para o Phase-1a MediaService CRUD, um cliente digitado e o /settings/f...
Kamo-register homenageia software auth logo + nome
- DynamicMetaLoader: ler identidade de software + seletores de autenticação de config.json, resolver tab title, persistir auth logo/name state to sessionStorage...
Kamo-login homenageia o logo de autenticação do software + título da aba
- DynamicMetaLoader: ler identidade de software + seletores de autenticação do config.json, definir tab title from soluted name (authNameBrandSource), persistir...
Identidade de software do LabelManager UI + título interno da aba
- Informação da empresa: nome do software/curto nome + nome do login/registro + seletores de título de tabulação - Branding: uploads de logos completos/simples ...
3 estágios org orientação a bordo (criar → terminar DNS → entrar)
Generalize o herói de primeiro-org em um único painel de orientação consciente de palco relativa à contagem de orgs do membro (de /api/security/org/my-networks)...
Solução dupla empresa/software + entrega + consumo
- Organization.ts: entregar identidade de software + seletores por superfície via OrgContext - Marca: (+ vitest, 8 casos) - ThemeLogo: LogoSoftware/logoFullSoft...
Tipos de upload de logotipo de software + config.json bake
- uploadLogo: interruptor explícito de teclas de objectos com rejeição padrão para que um upload de software nunca pode bater no logotipo da empresa.svg - copyF...
Adicionar colunas de branding em branco do software à Organização
Persistir campos de branding de software via patchOrganização whitelist
Primeiro-org herói CTA para membros na plataforma org
Mostrar um herói a bordo no topo da plataforma de lançamento em casa convidando Membro da plataforma KamoCRM (não membro da equipa) que ainda não criou um Org i...
Endpoint de credenciais TURN-REST para o softphone móvel
GET /api/voip/turn/credentials mentas creds de coturna efêmera (HMAC-SHA1 over "<expiry>:<memberId>" com o ético-auth-secret compartilhado) tão nativo/celular W...
Expor por-org primárioCor + URLs de logotipo em /my-networks
Cada linha de org agora carrega cor primária (Organização.colors.colorPri, '#'-prefixo para igualar config.json) e logo derivadoUrl/logoSimpleUrl (tema.< domíni...
Tornar WebChatIntegration create() @Transactional (sem chave órfã na falha do salvamento de integração)
ID de integração de web-chat de instantâneo no visitante de suporte + ticket
Resolve o WebChatIntegration criandoKeyHash (inabilitado-filtrado, consistente com a resolução bootstrap()/AI-prompt) uma vez dentro createSupportSession e cari...
Prompt de IA público por integração + atribuição de sessão
Atualize a cachoeira do sistema público-chat-prompt de per-org para por integração: PublicAiChatController agora lê o X-Public-Chat-Key-Hash cabeçalho (nulable)...
GET /api/public-chat/bootstrap gateway route
Adicionar endpoint bootstrap que reutiliza o proxy existenteWithAuth pipeline (validação chave + origem opt-in + âmbito PUBLIC CHAT + limite de taxa + X-Public-...
Resolução de configuração de bootstrap de conversas públicas
Adiciona um GET interno ************* que resolve um WebChatIntegração por X-Public-Chat-Key-Hash e retorna sua resolução configuração do design/comportamento (...
Fio opcional mediaservice-push secret para credenciais FCM / APNs
Monta a conta de serviço FCM JSON + APNs .p8 a partir de um 'mediaservice-push' opcional secreto em /etc/kamo/push e define o APNs chave-id/team-id do mesmo seg...
Ícone de co-piloto bem cortado + entrada NavPri nua
Adicionado um icon.png aparado (o glifo preenche ~ 82% do quadro) e aponta para a casa pílula, entrada NavPri, guia Interaction Center, e QR centro nele. Descas...
WebChatIntegração CRUD (chave de menta + integração, org-scoped)
API de gerenciamento voltado para org para a guia de configurações de web-chat da Fase 2. Ligado criar, conta o PublicChatApiKey subjacente (mesma abordagem cha...
Adicionar colunas de atribuição WEB CHAT INTEGRATION ID ao visitante/ticket/ai-session
WebChatEntidade de integração + repo + DTO + configuração de design padrão
Adicionar pontos de entrada "Access Copilot Mobile App" em casa + NavPri
Ambas as superfícies enviam um evento 'open-interaction-center' que o NavTop ouve para abrir o Centro de Interação na guia Configurar aplicativo móvel. Home mos...
Senha-gate do QR, guia de linha única, cabeçalho logo- esquerda, código de 10 minutos
- O membro deve voltar a inserir a sua senha (verificado pelo servidor via /api/mobile-access-otk, que menta o OTK apenas no sucesso) antes que o QR é revelado ...
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.