Ir para o conteúdo
KAMOUniverse

Changelog

O que há de novo.

Cada melhoria para a plataforma, como ele envia.

  1. · BillingService

    Reescrever BillingService em torno de BillingGroups

    Apaga o nível de org. Controladores, serviços e DTOs. Apresenta: - BillingGroupController grupos de montagem, membros, assinaturas, licenças, métodos de pagamento e facturas em /api/billing/groups. - BillingGroupService (ciclo de vida + grupo padrão + linha de base gratuita), BillingGroupMemberService (execução de um grupo por membro), BillingGroupSubscriptionService (Stripe sync with fallback to FREE DEFAULT Em caso de cancelamento/lapso), BillingGroupInvoiceService, LicenceService (prioridade de auto-desativação + reativação inversa-prioridade). - PlanCatalogService + PlanCatalogController - StripeWebhookServiço que consome eventos de assinatura / fatura / método de pagamento. - DireitoInvalidator publicando Redis sinais de invalidação. - PlatformAdminService + PlatformAdminController retornando roll-ups per-org.

  2. · kamo-shared-library

    Substituir faturamento de nível org pelo modelo BillingGroup

    Apresenta BillingGroup, BillingGroupMember, BillingGroupSubscription, BillingGroupLicense, BillingGroupPaymentMethod, BillingGroupInvoice, e BillingGroupConfig entidades (todas sob comércio compartilhado/billing/billinggroup). Descarta a antiga inscrição de faturamento / BillingCliente / BillingConfig / BillingPagamentoMétodo / BillingFactura / BillingCredit / BillingUsageSnapshot entidades inteiramente — cada org agora recebe um Grupo Padrão com um FREE DEFAULT Assinatura KamoCRM como base. Adiciona a junção de segurançaModelCommerceMarket ligar os modelos de segurança aos mercados de comércio com a viabilização por âmbito.

  3. · SecurityService

    Linha de membros do Interaction Center usa títulos de tarefas

    Substituir o título do papel do RBAC pelo trabalhoTitleOfficial, backback para o JobTitle título do catálogo para membro da equipe, e o membro do rótulo para membro da base Registos no campo de funções da carga útil do departamento.

  4. · kamo-internal

    Campo oficial do título do trabalho para membros da equipe no meu perfil Cartão de posição

  5. · kamo-shared-library

    Adicionar coluna de texto opcional TeamMember.jobTitleOfficial (60 caracteres)

  6. · SecurityService

    Expor e persistir no trabalhoTitleOfficial para membros da equipe em APIs de perfil e segurança de membros

  7. · KlusterServices

    Usar o ECDSA P-256 para especificações de certificado de gerenciador e migrar RSA

  8. · kamo-shared-library

    Adicione findTeamMemberById para uma resolução confiável do TeamMember

  9. · kamo-shared-library

    Carregar tipos de ramos com modelos de segurança por org id

  10. · kamo-shared-library

    Controle de cache opcional ao enviar o objeto

    Usado por provisionamento de tema para globals.css e config.json instruir navegadores e proxies para revalidar em vez de servir objetos em cache.

  11. · SecurityService

    ThemeRevision em cabeçalhos de configuração e cache sobre ativos do tema

    Emit themeRevision (epoch ms) in config.json em cada gravação; set Cache-Control em config, globals.css e site. webmanifest faz uploads de caches de borda revalidate.

  12. · kamo-shared-library

    Adicione ************* para limpeza avatar

    Usado ao remover um avatar para que o membro sobreponha referenciando a mesma linha pode ser limpa antes de excluir.

  13. · kamo-internal

    Limpar sessão de assistenteStorage on new create via ?fresh=1

    Navegue da Rede para criar com ?fresh=1, retire a consulta e use um Bloqueio de curta duração para React Strict Mode não restaurar um rascunho antigo antes Persistir nas corridas. O rascunho do assistente vive em sessãoStorage (não localStorage).

  14. · kamo-shared-library

    Políticas de conformidade álcool/tabaco/armas de fogo

    - CHILD ORG SECURITY MODELS colunas e entidades padrão MEMBRO SELECT - DTO e ChildOrgSecurityModelService create/atualize normalization - AppliedModelEnforcementService aplica políticas para bandeiras ATF crianças e idades únicas

  15. · SecurityService

    Expor políticas de conformidade ATF em modelos e tipos de filiais creatáveis

    - OrganizationController aplica aplicação de modelo antes das afirmações de idade - SegurançaModelController e MasterModelController passar campos de política - BranchTypeController inclui políticas em /branch-types/creatable

  16. · kamo-internal

    Assistente de conformidade das políticas de modelo de segurança

    - Tipos de ramo API mapeia políticas de álcool/tabaco/armas de fogo em estado assistente - Passo Dinâmico de Compliance: omitir de navegação quando o modelo corrige todos os ATF e idades - Idade e ATF controles apenas quando MEMBRO SELECT ou múltiplas opções de idade - A revisão mostra apenas campos para os quais o usuário foi solicitado; - Configurações: Rádios de política ATF sob Faixas de Idade dos Membros Permitidos (modelo de segurança) - Enviar usa EficazComplianceForSubmit para valores aplicados

  17. · SecurityService

    Alinhar conhecidosAliases com DNS e auto-cert (add mail, play, apps, sign; drop app, mídia)

  18. · kamo-marketing

    Mostrar estado ao vivo com link changelog e contagem diária

    Substituir a contagem regressiva e a cópia de inscrição com um compacto "Agora AO VIVO" chamada, manter o link changelog, e sempre mostrar a contagem de mudanças de hoje da API depois de carregar. Actualizar a antevisãoAs cadeias de caracteres Banner entre locais.

  19. · SecurityService

    Fazer RoleRightsSyncService totalmente auto-cura em cada inicialização

    Adicionar ou remover um RoleRightType nunca mais precisa ser executado KamoInitializerService. syncAll() agora executa três fases em cada inicialização: 1. Restrições de cura — solte cada restrição de verificação em cada direito tabelar e garantir que as duas restrições de upsert-necessário único existem. Hibernate ajusta valores de enum em restrições de verificação em CREATE TABLE tempo e nunca atualizá-los, e @UniqueConstraint só faz efeito na TABELA CRIAR, por isso ambos derivam sempre que enums evoluem. @Enumerado já impõe valores válidos na camada Java. 2. Excluir os direitos órfãos — DELETE WHE right type NOT IN (current enum) em todas as seis mesas de apoio à direita: Org role rights. membros direitos, membros direitos aplicados, job title direitos, dept direitos. Lida com o armazenamento de int ORDINAL e STRING enum-name. 3. Inserir direitos em falta – inalterados; depende das restrições únicas na fase 1. Idempotente – seguro para re-run. Adicionando/removendo valores de enum agora requer apenas reiniciando o Serviço de Segurança.

  20. · kamo-internal

    Adicionar configurações da administração da plataforma — subvenções do plano de org, eventos, catálogo do plano

    - Novas páginas em /settings/platform (guardado por hasPlatformAdminAccess): - /organizações — listar cada org, subvenção/modificar/revogar planos COMP com razões - /eventos - alimentação de auditoria de **************** - /plans — catálogo apenas para leitura, incluindo planos internos (isPublic=false) - useUserInfo: deriva hasPlatformAdminAccess from isGodModeActive () OR (equipeMember.isOrganizaçãoOwner AND organization.isTopLevel) - faturamentoApi: espaço de nomes da plataforma (listaOrgs, GrantPlan, modifyGrant, revogarGrant, listPlans, listEvents) + X-God-Mode-Active cabeçalho quando localStorage flag set - /api/billing proxy: encaminha X-God-Mode-Active de cliente para BillingService - Configurações hub + ConfiguraçõesStatusWindow: new "Platform Administration" group - BillingManager: banner de plataforma-proprietário substitui formulário Stripe para org de topo (ligado em /settings/conta como guia de faturamento) - FuncionalidadesManager: cabeçalho "Plataforma Proprietário — Interno" e atualização suprimida CTAs quando org é de nível superior e sub atual é COMP - Classe de organização / OrgNetwork / PublicProvider: adicionar isTopLevel; remover campo 'tipo' morto e os restantes consumidores na página de rede + relação gerenciador - Remova Organização DeprecadaType.ts

  21. · BillingService

    Adicionar PlatformAdmin controller + serviço para subsídios comp plano

    - PlatformAdminController em /api/billing/platform (classe-nível @PlatformAdminOnly) - GET /orgs, GET /orgs/{orgld} - POST /orgs/{orgId}/grants, PATCH'DELETE /orgs/{orgId}/grants/{subId} - GET /plans (inclui isPublic=false) - GET / Events - PlatformAdminService: Grant cria assinatura COMPRecord, cancela ativo anterior sub, emite SubscriçãoEvent **************************** Idempotência 5s - @PlatformAdminOnly + HandlerInterceptor: permitir o modo deus-ativo OR (Membro da equipe.isOrganizaçãoProprietário E Organização.isTopLevel, re-lede de DB) - AssinaturaRenovalScheduler: A filial COMP cancela no final do prazo de validade (COMP EXPIRED) e nunca chama Stripe - BillingAdminService: A agregação MRR/ARR exclui pagamentoMethod=COMP - IDs longos expostos como String (precisão original rowid do CockroachDB)

  22. · InitializerService

    Seed Organization.isTopLevel for kamocrm and ONDER UNIMITED self-comp plan

    - DataLoader: drop Organization Digite arg de createOrg, set isTopLevel=true on kamocrm - KamoCRMAgeReqUpdateRunner + teste: correspondência em IS TOP LEVEL = VERDADEIRO em vez de TIPO - OrganizationTypeRemovalRunner: idempotent ALTER TABLE DROP COLUNN type - PlatformOwnerPlanSeeder: garantir de forma imediata que o plano ONDER UNIMITED possui o kamocrm, cobre cada recurso e possui uma assinatura permanente do próprio COMP

  23. · kamo-shared-library

    Adicionar tipos de eventos Organization.isTopLevel, PaymentMethod.COMP, COMP *; remove Organization Tipo enum

    - Organização: substituir campo 'type' morto por 'isTopLevel' para identificação do proprietário da plataforma - PagamentoMétodo: adicionar COMP para subsídios gratuitos de administração de plataforma (sem Stripe) - AssinaturaEventType: adicionar COMP GRANTED, COMP REVOKED, COMP EXPIRED, COMP MODIFIED - OrganizationRepository: add findFirstByIsTopLevelTrue() - OrganizationService: drop setType() call; os campos agora são movidos pelo isTopLevel

  24. · kamo-internal

    Ocultar o botão de cancelamento da assinatura da org original do usuário na página de rede

  25. · SecurityService

    Definir orgOriginal em registro e expor isOriginalOrg em minhas redes

  26. · kamo-shared-library

    Adicionar orgCampo original ao usuário para rastrear o registro org

  27. · kamo-internal

    Direitos de suporte para membros-requerentes e visualização de tickets em modo duplo

    - NavTop: mostrar SuporteButton para qualquer direito de suporte (agente ou membro) - SuporteButton: gate cada item dropdown à direita - Criar / Ver tickets, Pedido Webinar, Meus Webinars mostrados apenas quando a direita é realizada - SuporteTicketListTab: modo dual — agentes ver tabela completa com tópico filtro e alternância atribuída a mim; membros- solicitantes vêem o seu próprio apenas tickets (criado por mim=verdadeiro), colunas simplificadas, Novo ticket CTA - support/page.tsx: gate Tickets/My Webinars/Analytics tabs by right - Páginas de configuração (conta, departamentos, integrações, operações): adicionar proteção de redirecionamento CONFIGURE SYSTEM; painel de configurações Minha conta Secção fechada por CONFIGURE SYSTEM

  28. · kamo-shared-library

    Adicionar direitos de apoio aos membros-requerentes (133-136)

    Adiciona quatro novos direitos para membros não-agentes: - ******************* (133) - CREATE SUPPORT TICKET (134) - PEDIDO WEBINAR (135) - VER MY SCHEDULED WEBINARS (136)

  29. · kamo-internal

    Remover filtros de colunas das páginas de membros e membros da equipe

  30. · kamo-internal

    Adicionar botão Sync Rights ao SecurityRoleManager para orgs de nível superior

    O botão só é visível quando o organization.hasPaint é falso. Chamadas POST /api/security/roles/sync-rights então recarrega a tabela de papéis.

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