Saltar al contenido
KAMOUniverse

Changelog

Qué hay de nuevo.

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

  1. · kamo-internal

    Pestaña Integración de chat web - lista, creación, snippet (BFF .

    Fase 2 núcleo de la pestaña configuración de integración de chat web: Rutas BFF proxying a la Fase-1a MediaService CRUD, un cliente mecanografiado, y el /settings/cara características/chat donde un org enumera integraciones, crea una (nombre de los orígenes del sitio web requerido - IA/Support), y consigue el crudo llave del sitio y el fragmento incrustable una vez. Personalizador de diseño y preparación Las listas de verificación son fases posteriores.

  2. · kamo-register

    Kamo-registro de honores software auth logotipo

    - DynamicMetaLoader: leer la identidad del software y los seleccionadores de config.json, resolución Título de pestaña, persist auth logo/nombre estado de sesiónStorage - brand.ts . ThemeLogo: registrar logotipos de auto-foseguir la identidad auth-logo (reactiva) - useAuthName: nombre de registro de texto (landing . flu) sigue la identidad de auth-name, reactivo en carga de configuración temática; cae de nuevo a empresa

  3. · kamo-login

    Kamo-login honra software del logo auth del título de la pestaña

    - DynamicMetaLoader: lea la identidad de software . auth selectors de config.json, pestaña de conjunto Título de nombre resuelto (authNameBrandSource), persiste auth-logo state to sessionStorage - brand.ts ThemeLogo: logotipos de login auto-follow the auth-logo identity (company/software), volver a-resuelto en la carga de configuración del tema; no se necesitan cambios en el lugar de llamada

  4. · kamo-internal

    LabelManager software identity UI . título de pestaña interna

    - Información de la empresa: nombre/short-name . . . nombre de registro . - Branding: cargaciones de logotipos completos/sencillos, paseos por anulado y per-tierra Selectores de identidad (marca de agua, navpri, logotipos de login/registro) - superficies legales forzadas comunicadas como siempre empresa (documentos/email/factos/factos/etc.) - disposición: pestaña interna del navegador se resuelve a través de la interfaz de TabBrandSource

  5. · kamo-internal

    Orientación de a bordo de org de 3 etapas (crear . . . . . . . . . . . . . . . .

    Generalizar al héroe de primera or en un panel de guía de una sola etapa con las llaves sobre el conteo de propiedad del miembro de la categoría DNS (de /api/security/org/my-networks): crear no posee ningún niño org - lanzamiento de primera org de marca blanca (/network/create) dns posee 1, DNS no verificado - configuración de dominio de acabado (/setup/dns?orgId=..) ingresa 1, DNS completa - ingresa (enter- as OTK - internamente. Una vez que tienen un segundo org, ningún panel muestra que conocen las cuerdas. Gastos de DNS espejo la regla de la página de red exactamente (dominio personalizado && domainSetupComplete===false; a *.kamocrm.com org no necesita DNS). Cada etapa consigue su propia familia de acento (personas/trabajo/crmier), icono y copia; CTA es un enlace para crear/dns y una asnívica entrar en acción para la etapa lista. Falla a salvo (sin panel) en cualquier error de llegada.

  6. · kamo-internal

    Doblado de la empresa/software de resolución de entrega

    - Organization.ts: entregar identidad de software - selectores per-superficie a través de OrgContext - brand.ts: **************** (vitest, 8 casos) - ThemeLogo: logoSoftware/logoFullSoftware variantes - NavPri: logotipo de navpri . texto siga el selector de logotipos de software interno - AntecedentesMarca de Agua . Backdrop: marca de agua honsifica la identidad del software (ambos caminos)

  7. · SecurityService

    Logotipo de software de los tipos de carga

    - uploadLogo: object-key explícito switch **************** con el rechazo por defecto por lo que un software cargar nunca puede clobber el logo.svg de la empresa - copyFolder: conservar los logotipos de software cargado en la re-copia de plantillas - config.json: identidad de software para hornar - selectores de superficie auth-surface para iniciar sesión/registrar - pruebas: UploadLogoObjectKeyTest, construir estuches de softwareConfigJson

  8. · kamo-shared-library

    Añadir a la Organización las columnas de marca blancas de software

  9. · kamo-shared-library

    Campos de marca de software persista a través de patchOrganización Lista blanca

  10. · kamo-internal

    Primer héroe de CTA para los miembros de la plataforma org

    Muestra a un héroe de a bordo en la parte superior de la plataforma de lanzamiento de casa invitando a un Miembro de KamoCRM-plataforma (no un miembro del equipo) que aún no ha creado un niño org para girar su primera organización de marca blanca. Un prominente Botón de CTA y un enlace en línea 'haz clic aquí' enlazan ambas ruta a /network/crear, y la copia apunta a la nav de "Mis ábranas" de arriba. Cádita en userInfo.memberType === MIEMBROS .organ.isTopLevel; stays ocultos a menos que /api/security/org/my-networks confirme que no tienen hijos org, y falla a salvo (escondido) en cualquier error de llegada. Sigue el Instrumento Lenguaje de diseño de panel (acento de las personas, kglass, operador-etiqueta, casa flexibilida, reducida-modazada). Cadenas en casa.firstOrg.

  11. · VOIPService

    TURN-REST credenciales endpoint para el softphone móvil

    GET /api/voip/turn/credentials mentas credos de coturno efímeros (HMAC-SHA1 sobre "Eexpiry:--memberId" con el estático-auth-seret compartido) tan nativo/celular WebRTC puede transmitir a través de 47.181.8.84:3478. Auth a través del mismo X-***-Token el SIP usos endpoint; devuelve configurado:false (sóloSTUN) cuando el secreto está ausente. Wires KAMO-TURN-SECRET del *** existente (opcional).

  12. · SecurityService

    Expirar las URLs de logotipo de /my-networks

    Cada org fila ahora lleva primariaColor (Organization.colors.colorPri, 'A'-prefijo para coincidir config.json) y logotipo derivadoUrl/logoSimpleUrl (tema.-domain-/public/ logotipos y los colores borde de cabeza hejales per-org.

  13. · MediaService

    Snapshot web-chat integration id en el visitante de soporte - ticket

    Resuelve la WebChatIntegration mediante la creación deKeyHash (perseguido filtrado, coherente con la resolución de arranques ()/AI-prompt de resolución) una vez en createSupportSesion y estampa su identificación tanto en PublicChatVisitor y SupportTicket para la atribución por sitio web. Null/carbotaHash o ninguna integración habilitada para a juego deja las columnas nulas.

  14. · AIService

    Atribución pública de IA por integración rápida

    Actualizar la cascada de chat público-prompt de la cascada per-org a Perintegración: PublicAiChatController ahora lee el X-Public-Chat-Key-Hash cabecera (nullable) reenviada por APIService y lo pasa a ************* que resuelve el WebChatIntegración por hachís y prefiere su aiSystemPrompt sobre el AiOrgSettings default, cayiendo de nuevo al símbolo genérico. El resuelto AiChatSession también está estampado con webChatIntegrationId para atribución estable que sobrevive a la rotación clave. Extirpó la cascada en una resolución estática y probada por unidadPrompt ayudante (integración-ganas / org-fallback / genérico-fallback / en blanco manipulación).

  15. · APIService

    GET /api/public-chat/bootstrap ruta de la pasarela

    Añadir endpoint bootstrap que reutiliza el proxy existenteWithAuth tubería (validación de la clave - origen opt-in - Ámbito de aplicación de PUBLIC-CHAT - límite de tarifa X-Public-Chat-Key-Hash) y proxies al endpoint de arranque de MediaService.

  16. · MediaService

    Public-chat bootstrap config.

    Añade un GET interno ************* que resuelve a WebChatIntegration de X-Public-Chat-Key-Hash y devuelve su resolución design/hayvior config (llenado por defecto a través de WebChatDefaultConfig.merge Así que una llave sin fila de integración todavía hace que el widget de hoy). Se vuelve a la org activa de PublicChatApiKey cuando no se integra existe; 404 cuando el hash de la llave no se resuelve en absoluto.

  17. · MediaService

    WebChatIntegration CRUD (mints key . integración, org-scoped)

    API de gestión orientada a org para la pestaña de configuración de chat web Phase-2. Encendida crear, mentilla el PublicChatApiKey subyacente (mismo enfoque de clave-gen como PublicChatKeyController) junto a la fila de WebChatIntegration y devuelve la clave en bruto una vez. list/get/update/delete son org-ownership comprobado; actualización de la caché (Task-5) bootstrap cuando designConfig o cambios habilitados.

  18. · kamo-shared-library

    Añada las columnas de atribución de WEB.CHAT.INTEGRATION.ID al visitante/ticket/ai-sesión

  19. · kamo-shared-library

    La entidad WebChatIntegración . repo . DTO . . . . . . . . . . . . . . .

  20. · kamo-internal

    Añadir los puntos de entrada de "Access Copilot Mobile App" en casa . NavPri

    Ambas superficies despachan un evento de "interacción-centro-interacción" que NavTop escucha para abrir el Centro de Interacción en la pestaña Configuración de la aplicación móvil. Casa muestra a píldora etiquetada bajo los controles de papel pintado; NavPri muestra un icono del logotipo debajo de la píldora de ensayo (etiqueta cuando se expande, punta de herramienta cuando colapsa). Ambos cerrados por el ALLOW.MOBILE-ACCESS.

  21. · kamo-internal

    Puerta de contraseña la pestaña QR, una sola línea, cabecera logo-izq., código de 10 minutos

    - El Miembro debe volver a entrar en su contraseña (servidor-verificado a través /api/mobile-access-otk, que vacia la OTK sólo en el éxito) antes de que se revele la QR - previene a alguien en una computadora ya firmada de agarrándola. - QR/OTK ahora vive 10 minutos (600s); la cuenta atrás y vuelve a cerrar. - Etiqueta de pestab obligada a una línea; logotipo movido a la izquierda del título para salvar el espacio vertical; quié la píldora 'Configuración para'.

  22. · SecurityService

    POST **************** puerta Mobile Copilot QR

    Verifica la propia contraseña del llamante (passwordEncoder.matches contra la de su sesión usuario) sin cambiar nada. Utilizado por la ruta móvil-acceso BFF BFF para el configuración QR sólo se acuña después de confirmar la contraseña.

  23. · kamo-internal

    Configuración de la pestaña Acceso Móvil - QR para instalar - auto-configuración de piloto móvil

    Nueva pestaña 3a en NavTopPanel (aprobada por ALLOW-MOBILE-ACCESS derecho): muestra una marca QR codifica un enlace profundo OTK de corta duración (kamocopilot://configure) que firma la miembro en su teléfono y predetermina la aplicación al org actual. Actualiza automáticamente el OTK antes de la expiración; diseño MUI pulido con el color principal de la org. Añade

  24. · kamo-shared-library

    Añadir ALLOW.MOBILE.ACCESS (167) derecho general para Mobile Copilot

    Nuevo RoleRightType (servicioType=null - grupo general) bando el 'Setup Mobile Accede a la pestaña interacción-centro. RoleRightsSyncService lo llena a todos los papeles en SecurityService reinicio; aparece bajo Permisos Generales en el editor de roles.

  25. · AIService

    Avión público per-org, desapamiga humana sin proveedor, anon tapa diaria de mensajes

  26. · kamo-shared-library

    Añadir una consulta de conteo de uso para la cuota de chat web pública

  27. · APIService

    Verificar *** PoW al borde de la sesión pública crear (aplicado cuando la carga útil presente)

  28. · MediaService

    Busca clave APIService inmediatamente en la llave de chat público desfachate/delete

  29. · MediaService

    Persist crear hash clave en el visitante de la chat pública - entrada para atribución

  30. · kamo-shared-library

    Añadir el mensajete de la vía públicaCap a AiOrgConfiguración para anon web-chat quota

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