Saltar al contenido
KAMOUniverse

Changelog

Qué hay de nuevo.

Cada mejora de la plataforma, a medida que se envía.

  1. · BillingService

    Reescribe BillingService alrededor de BillingGroups

    Elimina el nivel de org **************** controladores, servicios y DTO. Introduce: - BillingGroupControllermontes grupos, miembros, suscripciones, licencias, métodos de pago y facturas en /api/facturación/grupos. - BillingGroupService (ciclo de vida - Grupo por defecto - línea base gratuita), BillingGroupMemberService (ejactuación de un solo grupo por miembro), BillingGroupSubscriptionService (Stripe sync con retroceso a FREE-DEFAULT en cancel/lapse), **************** BillingGroupInvoiceService, LicenciaService (prioridad de autodesactivación - reactivación inversa-prioritaria). - PlanCatalogService . PlanCatalogController en ******************* - StripeWebhookService consumiendo suscripción / factura / pago-método eventos. - DerechosInvalidadores editoriales de reinavización de señales de invalidación. - PlatformAdminService . PlatformAdminController devolviendo rodillos per-org.

  2. · kamo-shared-library

    Reemplazan facturación a nivel de org con modelo de BillingGroup

    Presenta a BillingGroup, BillingGroupMember, BillingGroupSubscription, BillingGroupLicense, BillingGroupPaymentMethod, BillingGroupInvoice, y Destrucciones de BillingGroConfig (todas ellas en el marco de comercio compartido/facturación/cocinero). Deja caer la antigua BillingSubscripción / BillingCustormer / BillingConfig / BillingPaymentMethod / BillingInvoice / BillingCredit / BillingUsageSnapshot entidades totalmente, cada org ahora obtiene un Grupo por defecto con un GRATIS-DEFAULT Suscripción de KamoCRM como referencia. Añade SeguridadModelCommerceMarket enlaza vincular modelos de seguridad a los mercados de comercio con la habilitación porcopio.

  3. · SecurityService

    Línea de miembros del Centro de Interacción utiliza títulos de trabajo

    Reemplazar el título de RBAC por trabajoTítulo Oficial, se le da la vuelta a JobTitle título del catálogo para TeamMember, y el miembro de la etiqueta de miembro de base registros en el campo de funciones de carga útil por departamento.

  4. · kamo-internal

    Campo oficial de empleo para los miembros del equipo en la tarjeta de posición de mi perfil

  5. · kamo-shared-library

    Añadir TeamMember.jobTillatleOta de la cadena opcional (60 chars)

  6. · SecurityService

    Exponer y persistir trabajoTítulo Oficial para los miembros del equipo en perfiles y API de seguridad de miembros

  7. · KlusterServices

    Utilo ECDSA P-256 para especificaciones de certificado cert-gerente y migrar RSA

  8. · kamo-shared-library

    Agregar encontrarTeamMemberById para una resolución de equipo fiable

  9. · kamo-shared-library

    Tipos de rama de carga con modelos de seguridad por org id

  10. · kamo-shared-library

    Cache-Control opcional en la carga de objetos

    Utilizado por el aprovisionamiento temático para globals.css y config.json instruct browsers y proxies para revalidar en lugar de servir objetos ranos en la caché.

  11. · SecurityService

    ThemeRevision en encabezados de config y caché sobre activos temáticos

    Emitir temaRevisión (epoch ms) en config.json en cada escritura; set Cache-Control en config, globals.css, y las subidas de sitio.webmanifest para revalidar los alijos de borde.

  12. · kamo-shared-library

    Añadir ************* para la limpieza de avatar

    Utilizado al eliminar un avatar para que el miembro anúe la referencia a la misma fila puede ser despejado antes de borrar.

  13. · kamo-internal

    Asistente despejeDeseoStorage en nueva creación vía ?fresh=1

    Navegue de Network para crear con ?fresh=1, desnudar la consulta y utilizar un candado de corta duración para que React Strict Mode no restablezca un viejo borrador antes persist corre. Wizard draft vive en sesiónStorage (no localStorage).

  14. · kamo-shared-library

    Políticas de cumplimiento de alcohol/tabaco/mafuegos

    - Columnas de la entidad y predeterminación de la entidad de los QUIENDO-ETIJELíficos - DTO y ChildOrgSecurityModelService crear/actualizar la normalización - AppliedModelforcementEl servicio aplica políticas a las banderas de la ATF infantil y edades de singleton

  15. · SecurityService

    Expong las políticas de cumplimiento de la ATF en modelos y tipos de sucursales creadora

    - OrganizaciónControla de aplicación modelo de aplicación de la ley antes de las afirmaciones de edad - SecurityModelController y MasterModelController aprueban campos de políticas - BranchTypeController incluye políticas en /branch-types/creatable

  16. · kamo-internal

    Asistente de cumplimiento de las políticas de modelos de seguridad

    - Tipos de sucursales API mapea políticas de alcohol/tobaco/-armas en el estado del asistente - Paso dinámico de cumplimiento: omitido de nav cuando el modelo fija todo ATF y edades - La edad y la ATF solo se controlan cuando se han desproporunado o múltiples opciones de edad - La reseña muestra sólo campos por los que el usuario fue impulsado; Configuración de Cumplimiento de Títulos - Ajustes: radios de política de la ATF en rangos de edad de miembros permitidos (modelo de seguridad) - Enviar utiliza eficazCienciaParamisión para valores aplicados

  17. · SecurityService

    Alinear KnownAliases con DNS y auto-cert (add mail, play, apps, letr; aplicación de caída, medios)

  18. · kamo-marketing

    Mostrar estado en vivo con enlace de cambio y conteo diario

    Reemplaza la cuenta atrás y la copia de registro con una "Ahora en vivo" compacta llamando, mantenga el enlace de cambio, y siempre muestre el conteo de cambios de hoy de la API después de que se carga. Previsualización de actualizaciónLas cadenasBanner a través de los locales.

  19. · SecurityService

    Hacer RoleRightsSyncService totalmente auto-curación en cada bota

    Agregar o eliminar un RoleRightType no debe exigir de nuevo ejecutar KamoInitializerService. syncAll() ahora ejecuta tres fases en cada startup: 1. Limitaciones de curación - bajar todas las restricciones de CHECK a todos los derechos que se deben a todos los derechos mesa y asegurar que existan las dos limitaciones únicas requeridas por la información. Hibernate hornea valores enum en las restricciones CHECK en la tabla de CREATE el tiempo y nunca los actualiza, y la "UniqueConstraint" sólo entra en vigor en CREATE TABLE, por lo que ambos van a la deriva cada vez que evolucionan los enums. Enumerado ya hace cumplir valores válidos en la capa de Java. 2. Borrar los derechos huérfanos de la Libertad con ETA DE DONDE derecho. NO IN (current enum) en las seis tablas de la derecha: orgole.rights, **************** relaciones derechas, member-rights-applied, job-title-rights, dept-rights. Maneje tanto el int ORDINAL como el almacenamiento de nombre enum. 3. Añádase derechos que faltan y sin cambios; se basa en las limitaciones únicas garantizado en la fase 1. Idempotente, seguro de volver a correr. Añadir/eliminar valores enum ahora requiere sólo reiniciar SecurityService.

  20. · kamo-internal

    Añadir la Configuración de la Administración de Plataformas - org plan grants, eventos, catálogo de plan

    - Nuevas páginas bajo /settings/plataforma (guardada por hasPlatformAdminAccess): - / organizaciones - listar todos los planes org, subvención/modificar/revocar COMP con razones - /eventos, alimentación de auditoría de **************** - /planos de catálogo de sólo lectura incluyendo planes internos (esPublic=false) - useUserInfo: deriva haPlatformAdminAccess de esGodModeActive () OR (equipoMember.isOrganizationOwner AND organization.isTopLevel) - facturaciónApi: espacio de nombre de la plataforma (listOrgs, grantPlan, modifyGrant, revokeGrant, listPlans, listEventos) - Cabeza X-God-Mode-Active cuando local se establece la bandera de Storage - /api/billing proxy: forwards X-God-Mode-Active de cliente a BillingService - Configuración del centro de configuración deStatusWindow: nuevo grupo "Gestric de Plataforma" - BillingManager: banner de plataforma-propietario reemplaza la forma de Stripe para org de primer nivel (conectado en /settings/cuenta como la ficha de facturación) - FeaturesManager: "Platform Owner" cabecera interna y actualización suprimida CTAs cuando org es de primer nivel y la subestunda actual es COMP - Clase de organización / OrgNetwork / PublicProvider: add isTopLevel; eliminar campo de "tipo" y los consumidores sobrantes en la página de la red - relación gerente - Retirar despreciado OrganizationType.ts

  21. · BillingService

    Añadir Controlador PlatformAdmin , servicio para subvenciones del plan de compensación

    - PlatformAdminController at /api/billing/plataforma (nivel de clase .PlatformAdminOnly) - GET /orgs, GET /orgs/EorgId. - POST /orgs/orgIdá/grants, PATCH-DELETE /orgsio/-orgIdá/grants/-subId. - GET /plans (incluye esPublic=false) - GET /events - PlatformAdminService: subvención crea la suscripción COMPRecord, cancela activo previo sub, emite SuscriptionEvent ************* 5s idempotency - PlatformAdminOnly HandlerInterceptor: permite la OR-mode-activo de diod-moactiva (TeamMember.isOrganizationOwner AND Organization.isTopLevel, re-leído de DB) - SuscripciónRenewalScheduler: COMP se cancela al expirar (COMP-EXPIRED) y nunca llama a Stripe - BillingAdminService: MRR/ARR agregación excluye el pagoMethod=COMP - Largos ids expuestos como String (CockroachDB unique-rowid precision)

  22. · InitializerService

    Semilla Organization.isAoptor para el plan de autocompcomp de kamocrm y OWNER-UNLIMITED

    - DataLoader: drop OrganizationType arg de createOrg, set isTopLevel=true on kamocrm - KamoCRMAgeReqUpdateRunner . prueba: match on IS-TOP-LEVEL = TRUE en lugar de TYPE - OrganizationTypeRemovalRunner: idempotente ALTER TABLE DROP COLUMN tipo DROP - PlatformOwnerPlanSeeder: idempotentemente asegúrese de que el plan OWNER-UNLIMITED, propiedad de kamocrm, cubra todas las funciones y tenga una suscripción COMP permanente para sí mismo

  23. · kamo-shared-library

    Añadir Organization.isTopLevel, PaymentMethod.COMP, tipos de eventos COMP-*; eliminar OrganizationType enum

    - Organización: sustituir el campo muerto por la bandera de la plataforma y la identificación de los propietarios de la plataforma - PagoMethod: añadir COMP para becas de plataforma-admin gratuito (no Stripe) - SuscripciónEventType: añadir COMP-GRANTED, COMP-REVOKED, COMP-EXPIRED, COMP-MODIFIED - OrganizationRepository: add findFirstByTopLevelTrue() - OrganizationService: drop setType() call; los campos son impulsados por isTopLevel

  24. · kamo-internal

    Ocultar el botón de cancelación de sucríbate para el org original del usuario en la página de red

  25. · SecurityService

    Set orgOriginal en el registro y la exposición esOriginalOrg en mis redes

  26. · kamo-shared-library

    Añadir campo orgOriginal al Usuario para rastrear org de registro

  27. · kamo-internal

    Solicitante de los miembros apoya la calificación de los derechos y la vista de entradas de doble modo

    - NavTop: mostrar SupportButton para cualquier derecho de apoyo (agente o miembro) - SupportButton: portón de cada elemento desplegable a la derecha . Crear/Ver entradas, Solicitar Webinar, Mis Webinars se muestran sólo cuando se mantiene la derecha - SupportTicketListTab: dual-mode - agentes ver mesa llena con tema filtro y desgarro asignado a mí; los miembros-requesores ven su propio boletos solamente (creadoByMe=true), columnas simplificadas, Entradas Nueva CTA - soporte/page.tsx: entradas de la puerta/Mis pestañas Webinars/Analytics por derecha - Páginas de configuración (cuenta, departamentos, integraciones, operaciones): Añade CONFIGURE-SYSTEM redireccional guard; configuración de tablero Mi cuenta sección cerrada por CONFIGURE-SYSTEM

  28. · kamo-shared-library

    Añádan los derechos de apoyo a los miembros-petanores (133-136)

    Añade cuatro nuevos derechos de APOORT para los miembros no agentes: ******************* (133) - CREATE-SUPPORT-TICKET (134) - REQUEST-WEBINAR (135) - VIEW-MY-SCHEDULED-WEBINARS (136)

  29. · kamo-internal

    Eliminar filtros de columna de los miembros y las pestañas de los miembros y miembros del equipo

  30. · kamo-internal

    Añadir botón Sincronización de Derechos a SecurityRoleManager para orgs de alto nivel

    Button sólo es visible cuando la organización.hasParent es falso. Llamadas POST /api/security/roles/sync-rights luego recarga la tabla de roles.

Tu universo está esperando.

Comience gratis en minutos y agregue productos cuando esté listo, sin migración ni nuevos inicios de sesión.

Gratis para siempre: no se requiere tarjeta de crédito