Saltar al contenido
KAMOUniverse

Changelog

Qué hay de nuevo.

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

  1. · kamo-shared-library

    Columna de transcripción en la grabación . GrabaciónMetadata

    Añade una columna TEXTO TRANSCRIPT a la entidad de grabación e enhebra una transcripción a través de **************** (con compat. Los constructores para que los que llaman existentes de 5 y 9 agarres no se vean afectados). Populado por el flujo de grabación-finalizar a través de Whisper; creado por la migración de KI.

  2. · MediaService

    Verifique la firma JWT devolv-nav; refrescar el token

    - CanvaJwtVerificer: verifique la firma Ed25519 de correlación contra JWKS de Canva (/conexión/teclas), más aud/exp/tipo; teclas en caché de niño. El devolutiva-nav no se cierra en la importación manual si la verificación falla. - CanvaTokenService: soltar lo ineficaz "Transactional" en los auto-invocados ayudantes de actualización/marcado (Spring Data' per-call tx - el cerramiento por miembro ya corrigió la rotación simbía); aclarar con un comentario.

  3. · KlusterServices

    Hacer susursper-asr independientemente escalable (HPA, multi-nodo)

    Retire el pin de un solo nodo y cambie a una caché por modelo para que las vainas puedan horario en cualquier nodo, y añadir un HPA (min 1 / max 4, CPU 75%, deliberado escala-up dado el modelo lento en frío-starts). susurro-asr es la transcripción compartida backend para las grabaciones de reuniones y grabaciones / mensajes de voz VOIP.

  4. · KlusterServices

    Rebrand Guacamole texto de estado de conexión al cliente de KamoDesktop

    Anérida ************* por lo que el 'Conectando con la guacamole...', la pantalla (y el estado relacionado) lee KamoDesktop.

  5. · MediaService

    Registro de la gestación, retención/tariciones, uso de almacenamiento, tubería sumaria

    - ConocerRéndomeController: interno (X-Internal-Auth) ingest endpoint the jibri final.sh postes terminados de grabaciones. - MeetRecordingService: subidas de grabaciones a por-org MinIO (imagen-meet-grabaciones), Persiste MeetingRecordar metadatos, hace cumplir el cupo de almacenamiento de org (desprecio más antiguo), y cuando postMeetingSummaryHabilitado para ejecutar el oleoducto de resumen: transcribir (EmailService template-summary). - ConocerRecordingRetentionSweep: eliminación programada de grabaciones de la retención pasada. - MeetConfigController: GET / registro-usage para el medidor de almacenamiento de configuración real. - application.yml: conversion/ai/email base URLs de base . . interno auth secret. Requiere (ops): KamoInitializer se postula para crear REUNION-RECORDINGS; la ************* valor debe coincidir en MediaService, jibri, y ConversionService.

  6. · EmailService

    Vars de muestra para la vista previa de la plantilla de reuniones-resumario

    Añade una muestraCasos de Variables para la nueva plantilla de reuniones-resumen para que el mayordomo vista previa UI hace contenido realista.

  7. · kamo-shared-library

    Plantilla canónica de encuentro-resumen

    Añade la plantilla transaccional de "resumenio" (sujeto de marca HTML con El nombre de la habitación y el en bruto de veranoHtml y lo registra en CANONICAL, así que semillas por org. Utilizado por la entrega de resumen de IA después de la reunión. También corrige el El conteo de llaves rane de la prueba de controlador.

  8. · KlusterServices

    Módulo de moderador de Prosody, sar-asr, carga de grabación de jibri

    - Meet-prosody: version-control el ConfigMap custom-plugins (captura el la anulación de la nooperación de la nooperación existente que se creó fuera de banda) y agregue el módulo canónico de mod.token.moderación, habilitado a través de ******************* Hace la reclamación de JWT. Los miembros autorizados se convierten en dueños, los huéspedes/anónimos no pueden agarrar al dueño. - susurro-asr: discurso auto-anfijado de texto (sómetro-susurrador CPU, sin clave externa) para transcripción después de la reunión. - Meet-jibri: finalizar.sh ahora subidas de grabaciones terminadas a MediaService **************** con X-Internal-Auth para que aterristan en MinIO - retención/cuota de la unidad - resúmenes. El secreto es opcional así que jibri aún comienza si se desenmascara.

  9. · ConversionService

    Anotar la transcripción para los resúmenes posteriores a la reunión

    POST /api/conversión/meet/transcribir (X-Internal-Auth): normaliza una subida grabación de reuniones a 16kHz mono WAV a través de un nuevo aditivo FfmpegService ayudante de servicio, lo reenvía al servicio de susurros auto-anfitrión, y devuelve la transcripción. URL de Whisper de kamo.services.whisper.url.

  10. · kamo-internal

    Integración de calendario para las reuniones programadas y el medidor de almacenamiento de grabación real

    - calendarIntegrationEnabled: cuando es, una reunión programada de la casa club también es añadido al calendario del creador (a través del sistema de calendario existente) que lleva el autenticado / meet/unir enlace. Los recordatorios de los participantes siguen siendo manejados por la retender barrender, por lo que no hay emails duplicados para los asistentes. - Configuración de grabación: el medidor de almacenamiento muestra ahora el uso REAL por-org de GET /api/meet/registro-usage (sustiando al marcador de posición removido).

  11. · kamo-shared-library

    MeetingResing entity , repositorio para grabaciones capturadas

    Nueva mesa de REUNION RECORDINGS (org, reunión ref, sala, cubo MinIO / llave de objeto, tamaño, duración, marcas de tiempo capturadas/expiradas, estado de resumen) - el registro padre para un archivo de grabación Jibri terminado, retención/cuota de conducción y post-reunión Tramitación de resumen. La tabla se crea en la próxima carrera KamoInitializer.

  12. · kamo-internal

    Aplicación de marketing, centro de configuración, materiales de Canva

    Hacer de Marketing una aplicación de primera clase habilitado para org y enviar la Canva-powered Experiencia de materiales. Aplicación: - AppType.MARKETING mirror, Organization.isMarketing getter - navev de marketing por puerta (navRegistry) - secciones de derechos (permissionAppSections, SecurityRoleManager) en organización.isMarketing - Tarjeta de comercialización en FeaturesManager (/settings/account?tab=apps) Ajustes: - nuevos /settings/caracteres/centro de marketing (Proveedores de Redes Sociales / Canva) - mover a los proveedores de redes sociales fuera de la configuración de CRM en Marketing - 3 ubicaciones de nav actualizadas (configuraciones de aterrizaje, configuraciónMenu, icono de configuraciónButton); repoint SocialTimeline enlace estado vacío Canva: - CanvaIntegrationManager configuración de configuración de canva ProviderDef en la plataforma Registro de OAuth (o logo) - /api/canva/* proxies (estatuto, inicio de conexión, diseños, exportaciones, exportación-proxy, desconexión) - MediaService - /marketing/materiales: cuadrícula de la biblioteca (imagen MATERIALES assoc), subida, Create-in-Canva, Importación de-Canva, de retorno-nav auto-import

  13. · ConversionService

    Correos de vídeo-marco de vídeo para materiales de marketing

    Canva MP4 exporta (y cualquier carga de vídeo) saltarse la ruta Docs PDF y conseguir un una miniatura de fotograma de póster de ffmpeg en lugar de fallar. - ********************** rama de la categoría VIDEO - ****************

  14. · MediaService

    Canva Connect OAuth - diseños/export backend de vuelta

    - CanvaApiClient: Autorización PKCE, cambio de token/re-revocar, usuarios, diseños (crear/lista), puestos de exportación, byte vals - CanvaTokenService: tokens por miembro cifrado (PlatformSecretCipher), Actualidad proactiva de un solo vuelo (los tokens de refresco de Canva son de un solo uso/rotatorio) - CanvaOAuthController (permit-all): conectar la intención de conectar /start /callback, aterrizaje en el navegón - CanvaController (austodio): estado, conectar-start, crear/listas de diseños, exportación (create-poll-cache), byte export-proxy, desconexión

  15. · kamo-shared-library

    Integración de Canva . Marketing como una aplicación viable para org

    - **************** . plataforma Canva Connect registro de clientes - ImageAssocType.MATERIALS (13, imágenes-materiales) . org . org . . . . . . . . . . . . . . **************** bajo ServiceType.MARKETING - ServiceType.MARKETING (24) . COMPLETED/Activado para que se convierta en una aplicación real (FeatureController auto-provisionaciones auto-disports en lo que va de org, como CRM) - entidad de CanvaConnection - repo: per-miembro cifrado (access-refresh) tokens

  16. · KlusterServices

    Habilitar Guacamole json-auth SSO - KamoDesktop remarca

    - JSON-SECRET-KEY (opcional) en guacamole desde el secreto compartido de escritorio-sso permite la extensión guacamole-auth-json adivinada contra la que los enlaces diod-SSO validan. - extensión de la marca de kamo (título=KamoDesktop, kamocrm logo de favicon) construido a partir de de escritorio/guacamole/branding/ en un jar, enviado como una configmap binario y semilla en GUACAMOLE-HOME a través de un initContainer. - CI crea la clave de firma compartida en ambos espacios de nombres (escripto-sso para guacamole, guac-sso for SecurityService) del secreto de GUAC-SIGNING-KEY; nunca cometido.

  17. · kamo-internal

    Iconos de KamoDesktop solo para Dios (Linux y Windows) abriendo sesiones de autoconexiones

    Dos iconos nav de Analytics, mostrados sólo a los miembros deselegables (es Dios añadido a NavGateContext). Cada uno busca un enlace SSO de corta duración de SecurityService y abre el KamoDesktop puerta de entrada en una nueva ventana, conectada a su instancia. Utiliza el compromiso ******************* marcas.

  18. · SecurityService

    KamoDesktop SSO punto de ficha para los miembros de dios

    GET **************** (sólo elegible para la dama) mentas a Básica de 5 minutos de guacamole-auth-json (HMAC-SHA256 - AES-128-CBC, por extensión de la extensión formato de cable) y devuelve una URL de conexión automática para el KamoDesktop Puerta de entrada. Claves de firmas . Contraseña RDP inyectada del secreto guac-sso; nunca comprometido (seguro en blanco: SSO permanece inhabilitado hasta que se configura).

  19. · kamo-internal

    Nombres de habitación con posadas, formato de nombre de habitación, reuniones de calendario Kamo, recordatorios de inicio; Configuración de i18n

    - useMeeting/MeetingDialog: los nombres de las habitaciones son ahora el nombre de org token por tan dos orgs nunca pueden chocar en la misma conferencia de Prosody, y honrar a los org's roomNameFormat (RANDOM vs DISPLAY-NAME-RANDOM usando el alias del miembro). - Conocerdo (calendario): "Kamo Meeting" de la sala genera una habitación de org-scoped y establece la URL del evento en el enlace OTK de /meet/unin click-time OTK, así que calendario Los destinatarios de los recordatorios se firman como miembros verificados. - MeetReminderPopup: se suscribe a /topic/meet/reminder/.MememberId (MediaService barredora) y muestra una tostada de "recomenamiento" con un botón Unirse; montado en PresenceWrapper en el chat compartido WS. - se encuentra con pestañas de configuración: sustituir las cuerdas de tostadas/erros inglesas codificadas con las teclas de la siguiente-inde aquí() **********

  20. · MediaService

    Recordatorio de inicio de reunión programado .

    - MeetingReminderSweep: Midor programado que dispara un tiempo real "a partir de la reunión" recordatorio a los miembros invitados en (inicio, recordatorioMinutesAntes) en **************** luego transiciona la reunión SCHEDULED-ACTIVEIVE a dedupe. Reuniones de más de una hora después de la transición se hacen sin una recordatorio (sin spam de relleno trasero). El cliente construye el vínculo de unión autenticado de su propio origen. - ************* ahora honra a invitadoLinkExpiryHours: una reunión más antiguo que la ventana configurada de la org (anclada en el inicio programado, de lo contrario creación) se trata como no carnítulo (0 = nunca expira).

  21. · kamo-internal

    Mostrar disponibilidad de miembros en la lista de chats; renombrar pestaña de nombre a Directorio

    1:1 filas de chat ahora emergen la presencia en vivo de la contraparte. de la misma manera que la pestaña Directorio hace el mismo usoAdisponibilidad / usoFuentes de presencia y los mismos colores/etiquetas que MemberItem (punto de la letra mayúscula, pulsando cuando en línea, gris cuando está fuera de línea), con una punta de herramienta. Las conversaciones grupales mantienen a los "alguien" en línea" avatar punto; filas sociales/ de apoyo no cambian. La pestaña de los Miembros se renombra a "Directory" (sólo valor de 18n), que también se aclara la colisión de nombres con el grupo de chats "Miembros" sub-tab.

  22. · KlusterServices

    Tasificado escritorio remoto de KubeVirt . Guacamole gateway

    Añade una pila de escritorio remoto completa, aplicada GitOps a través del flujo de trabajo de despliegue: - KubeVirt y CDI instalado a la hora de la implementación ( URLs de liberación de cuadro) - escritorio-1: Kubuntu 24.04 VM, 8 vCPU / 16Gi / 500Gi Disco de bloques Longhorn, máscara net (clúmulo nativo DNS), sesión de KDE xrdp; instalación de cloud-init Chrome, Código VS, NetBeans, Temurin JDK 21-17, Cabeza, Kate, LibreOffice y elimina Firefox - Apache Guacamole (guacamole . guacd . . . . . . . . . . . . . . . . . . . . . . . . . . desktop.kamocrm.com; guacd runs hostNetwork en k1m1 para que pueda WoL-broadcast y RDP directamente en la LAN 192.168.4.0/22 mientras todavía llega a la VM a través de ClusterFirstWithHostNet DNS - PC con Windows LAN (192.168.4.44, MAC f4:4d:30:62:8a:68) añadido como conexión con Guacamole nativa Wake-on-LAN (paquete de magia en la conexión, 30s espera) - Equipaje de borde: Traefik TLS - límite de escritorio-tarifa apretada - cabezales de seguridad, Además de Guacamole incorporada por prohibición de la fuerza bruta - auto-cert: desktop.kamocrm.com añadido al espejo STATIC-DOMAINS . cross-ns cert-gest issues/remitientes tls-desktop-kamocrm-com en el escritorio ns - Credenciales: 'sage' de usuario; contraseña inyectada en CI secret DESKTOP-PASSWORD en tiempo de despliegue (envsubst/sed . Secreto imperativo) Nunca comprometido

  23. · kamo-internal

    Sub-tabs para grupos de chat, recuerda pestaña de última apertura

    La lista de chats filtrado por una fila de chips de pílrdera multiseleccionados que miraban hacia fuera de lugar debajo de la pestaña Chats. Reemplacen por una barra de sub-tab de una sola selección (una pestaña por grupo: Miembros del equipo / Miembros / Social / Apoyo) con estilo para coincidir las pestañas miembros/Chats de padres, por lo que la lista del grupo seleccionado llena la totalidad área de contenido. - Single activeBucket en lugar de un conjunto de cubos activos; el servidor trae ahora tira sólo de la categoría seleccionada. - Fallas a los miembros del equipo, y persiste la pestaña de última apertura por miembro (a través de dispositivos) a través de la tienda de ui-preferencias (chats claveActiveBucket), que daating the primero buscar hasta que la pestaña guardada se resuelva para que se cargue directamente.

  24. · kamo-internal

    Explique cuando el correo electrónico no esté configurado; componga la puerta

    La bandeja de entrada /messages anteriormente hizo su caparazón completa incluso cuando el org no tenía proveedor de correo electrónico o el miembro no tenía buzón, fallando silenciosamente cada Llama de la API. Añadir un uso compartidoEmailEmailConchador de disponibilidad que resuelve si el correo electrónico es utilizable y, en caso negativo, por qué (el proveedor no configurado vs. no buzones) y si el miembro actual puede autoserviar la solución en función de sus derechos. - MessageBrowser ahora muestra un elegante EmailNotConfigurado panel en lugar de bandeja de entrada vacía, con copia de la CTA que se adaptan a la razón y a la del miembro derechos de derechos (enlace a la configuración del proveedor de correo electrónico para MANAGE-EMAIL-SETTINGS, o a su propia ficha para MANAGE.EMAIL-ACCOUNTS; diferencárselo a admin). - MailButton deshabilita "Compar nuevo correo electrónico" hasta que el correo electrónico esté completamente listo, con un tooltip específico de la razón; NavToolButton gana soporte de desactivado/toherramienta de elementos. - Ancla la regla de gitigno de los .messages/o gitignore a la raíz de repo para que se detenga también Ignorando aplicaciones/componentes/mensajes/ (que en silencio dejó caer archivos nuevos allí).

  25. · kamo-internal

    Lista de chats de todos tipos . atención de la pestab del navegador

    Chats sub-tab ahora enumera a miembros, grupo, apoyo y conversaciones sociales juntos, en primer lugar, con un filtro multiseleccionado (Team Members / Miembros / Social / Soporte; los dos primeros utilizan las etiquetas personalizadas de la org). Equipo-Miembros vs Miembros se divide por miembro hompartienteType; filas de apoyo mostrar si usted o la otra parte es el agente; cada fila abre su ventana de herramientas nativa (chat / soporte / social). Añade TabAtentar: una insignia de favicon, documento parpadeo.title.title cuando allí son mensajes invistos de cualquier tipo de chat (conto rojo) o un titular de aceptación pendiente (Amber . . . . . . . . . . . . . . . . . . . . . . Lee el existente UnreadContext - LeadAlertContext, por lo que no hay nuevo backend.

  26. · MediaService

    Alimentación de chats unificada en sesiones de miembros/apoyo/sociales

    GET /api/media/sessions/chat ahora acepta un filtro de "categories" (chat, apoyo, social; default all) y devuelve uno a nivel mundialmente más reciente-reciente-primero, fusión de las consultas por especie. Cada fila lleva: - sessionType (CHAT-SUPPORT-SOCIAL) Miembros[].memberType para que el cliente puede dividir las conversaciones internas en Equipo-Miemisos vs Miembros, - ticketId . supportRole (AGENT-REQUESTOR - soporte es bidíble) para filas de apoyo, y proveedor de conexiónTito para filas sociales, Así que cada fila abre su ventana de herramientas nativa.

  27. · kamo-shared-library

    Paged consultas de apoyo

    alimentación para que la lista de Chats de Chats del Centro de Interacción unificada pueda incluir todo tipo: - APOYO (TYPE-ID=2): sesiones en las que el miembro es el agente asignado O el solicitante (también devuelve el boleto id id al identificador asignado para la fila). - SOCIAL (TYPE-ID=3): sesiones sobre conexiones sociales propiedad del miembro organización.

  28. · kamo-internal

    Terminar las acciones de encabezado de la vista de plomo . callbacks

    - Encabezado: Llamada dividida en Llamada (Trabaja)/Call (Personal) abriendo el softphone (escondido cuando el miembro no tiene extensión registrada), el correo electrónico abre el compositor, Texto - .com/texts, Note movido a la izquierda con una regla y parpadeos hasta una nota se coloca desde la última reasignación. Quitar el botón de la tarea. - Estado: suelte el menú inválido de estado de cambio y el botón de estado de edición roto; añadir una fila de STATUS . SUB-STATUS que requiere elegir un sub-estatuto y sólo permite Actualizar cuando cambia. - Retorno de llamada: diálogo (fecha/hora y zona horaria . comment), una lista pendiente/debara de plazo en la pestaña detalles con indicaciones con la marca-contactada/cancela, y leadsApi . proxy rutas para el horario/lista/resolver.

  29. · EmailService

    endo interno para crear/cancelar el evento de calendario de un miembro

    POST /api/internal/calendar/eventos (X-Internal-Auth gated) resuelve miembro - . usuario - calendario primario (creando un valor predeterminado si es necesario) y crea un evento. Utilizado por SecurityService para reflejar las llamadas de plomo en el calendario de un miembro.

  30. · SecurityService

    Principales puntos de endo de callback (esquema/lista/resolve)

    Nuevo controlador **************** servicio: persiste el callback, publicaciones de programación/resulta notas en la corriente de medios de comunicación del líder, y refleja la llamada en el calendario del miembro de programación a través de EmailService's endo del calendario interno (mejor esfuerzo).

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