Permite /dominio/sprefijo de ruta en el tema IngressRute para CORS
El tema de la configuración en theme.kamocrm.com/domain/... no fue igualado por el reglas de ruta existentes (sólo /púbidas/ y /internal/ fueron permitidas), po...
Eliminar las cabeceras de CorsFilter y desnudar las cabeceras CORS en la pasarela
WebConfig.java definió un segundo frijol CorsFilter compitiendo con CorsConfig.java's frito, arriesgándose a que la cabecera duplicada escriba. Lo eliminaron po...
Eliminar el frijol CorsFilter duplicado causando doble encabezado de Acceso-Control-Allow-Origin
El explícito frijol CorsFilter causó un segundo filtro CORS junto a Spring El soporte de CORS integrado por Seguridad (que utiliza CorsConfigurationSource). Amb...
Eliminar declaraciones debug console.log y añadir rutas faltas
Eliminar toda la tala temporal de depuración debug añadido durante el rastreo de WebSocket de ChatBox, TicketChat, MemberItem, ChatTool y useChatWebSocket; añad...
Evitar encabezado de mensajer a la expansión de la columna en direcciones largas
El niño flexible izquierdo de la cabecera no tenía ni cabeza de rap, tan largo correo electrónico irrompible direcciones en From/To/Cc obligaron a crecer su anc...
Hoist ChatWebSocketProvider por encima de ToolProviders
ToolDock (y sus ventanas de herramientas como SupportTicketWindow - TicketChat) es montados dentro de ToolProviders, que se encuentra ABOVE PresenceWrapper en e...
Drop Shadow DOM en el renderr de correo electrónico tan desbordado-x-auto incendios
Shadow DOM fue la causa raíz. Amplio contenido de correo electrónico (mesas de ancho fijo) dentro del árbol de sombra pintado más allá del huésco sin contribuir...
Alignar ChatWebSocketSocketCamino de importación de contexto para igualar al proveedor
TicketChat y ChatNotificationListener importaron el contexto a través de la 'A/app/contexts/...' alias mientras PresenceWrapper (el proveedor) lo importa a trav...
Consola temporal.log para rastrear la ruta de suscripción TicketChat STOMP
Añade los registros de consola en cada etapa de la tubería de suscripción (fuma de efecto, de guardia pass, suscríbete() llamada, attachSessionSubscription, cli...
Contención de host host en la sombra de la fuerza con estilos en línea. contienen: diseño
Desbordamiento de clase en la sombra que el huésped no ganaba de forma fiable contra la sombra ':host y todo: inicial reset, tan amplio correo electrónico conte...
Desplazase amplio contenido de correo electrónico dentro de la sombra DOM, no fuera
Los intentos anteriores de añadir desbordamiento-x-auto a los antepasados DOM enciendense no podía atrapar amplio contenido de correo electrónico porque el árbo...
Utilícese getHasAttachments() para que coinpare tipo envoltorio booleano
************* es un Boolean (enero), así que Lombok genera getHasAttachments() no esHasAttachments(). Estos últimos sólo existe para booleano primitivo. Utilíce...
Expanda el escaneo del repositorio de JPA para incluir paquete de comercio
La nueva biblioteca compartida de kamo trae **************** que requiere **************** (in com.kamo.z.shared.commerce). MediaService sólo escaneado donotmod...
Restaurar importación de HashMap en ChatWebSocketController
El refactor anterior eliminó la importación de HashMap pero el mangoTyping método todavía construye un HashMap para la carga útil del evento de mecanización, ca...
Añadir min-w-0 al contenido de email div por lo que desbordamiento-x-auto fuegos
Sin min-w-0, el hijo flexible-co predeterminado min-width:auto se resuelve min-contenido, dejando que las tablas de correo electrónico amplian el div más allá d...
Eliminar la llamada de connect duplicadoStomp en sendMessage
Cuando el primer mensaje crea una nueva sesión, enSessionCreated actualizaciones accesorios que desencadena useEfect para llamar connectStomp. La llamada en lín...
Crean proactivamente consumidor NATS en creación de sesión para evitar pérdidas de mensajes
Anteriormente el consumidor de presión NATS JetStream sólo se creó cuando un cliente STOMP enviado /app/chat/suscribirse. Con DeliverPolicy.Nuevo, cualquier men...
Cerrar brecha de reconexión causando mensajes caídos en tiempo real
Retirar de la versión de uso de suscripciónEfecto deps despojos de efecto en TicketChat y ChatBox. Anteriormente, cada WebSocket reconnect desencadenó el efecto...
Permitir al usuario del sistema gestionar la marca de org y arreglar el logo auth
- Añadir bypass del usuario del sistema como primer guardia en canManageOrgBranding así que plataforma Usuario del sistema tiene control completo de marca sob...
Contener desbordamiento horizontal en vista de correo electrónico panele a 3a columna
- Añadir el desbordamiento-x-escondiado a MessageContenedor exterior de navegador como límite duro - Añadir el desbordado-x-oculto a la columna 3 envoltorio y d...
Falla la producción en cárceles de PJSIP y estado persistente
- Añadir fall2ban-configmap.yaml con [asterisk] y [freepbx-web] jails, Escalada de prohibición incremental (1h-24h-30d techo), LAN ignoreip, y a personal pe...
Sustitúyase Coqui TTS por Piper TTS (es-nor-medium)
El modelo de Coqui VCTK no tiene altavoces nombrados y reemplazado por Piper TTS que tiene la voz exactamente norman [mediana]. Piper binary (3 MB) y modelo (60...
Restarce halagos despreciablesEn sincronización y acumularse correctamente
- Restablecer has.attachments=false al comienzo de la sincronización a granel por lo que los valores reales rane de vieja detección de mal positivo MIME se de...
Añadir resetHasAttachmentsForFolder consulta a ConversationRepository
Permite la sincronización para restablecer las banderas de los adjuntos rane antes de volver a indexar La detección corregida de MIME puede reconstruir el campo...
Integrar Coqui TTS con voz norman (VCTK p267)
- Implemente servidor de coqui-tts (modelo VCTK VITS, solo CPU) como servicio de ClusterIP en el puerto 5002 con caché modelo a /var/lib/coqui-tts en k1m1 - I...
Pre-populado DES en respuesta/adelar y arreglar el envío deAddress
- DraftMessage ahora lleva de Drresss para que fluya de openNewMessage a través del compositor - MessageBrowser almacena el correo electrónico activo de buzón...
Soporte deAddress anúnse en envío
Añade FromAddressSquest a EmailSendSpedido para que el frontend pueda especificar que alias/comb compartidos/mailbox dirección para enviar. SmtpOnlyProvider aho...
Añadir LAN DNS pod para split-DNS en k1m1
Despliegue una pod dnsmasq con hostNetwork en k1m1 que escucha en 192.168.4.22:53. Sobre-eschugas pbx.k1.kluster.kamocrm.com - 192.168.4.22 Así que los teléfono...
Añada local-DNS / LAN cliente RTP fix
Teléfonos en la misma LAN que k1m1 connect a través de DNS dividido (dominio se resuelve a 192.168.4.22 internamente). Sin local-net, Asterisk todavía anuncia e...
Persista brujería contacto=memory fix y bloquear el escáner SIP en startup.sh
- Inyecct [res-pjsipi] contact=memory en sorcery.conf antes de que comience Asterisk; el sorcery-astdb SQLite backend falla silenciosamente todos los contacto...
Contenido de subtab rellena ancho de área de contenido completo
Suelta la restricción centrada de máx. ancho (estaba 920 / 1200 / 680 / 720 dependiendo en la pestaña) en SubTabShell. La página ya vive dentro del contenido de...
Arreglas de fijación de acceso y haAttachment falsos positivos
Tres correcciones para EmailImapService: 1. a Envelope: control multiparte estrecho a multipartes/sólo mezclado . Los correos electrónicos HTML-text (multip...
Añadir botón de descarga a la sección de archivo de fijación de vista clásica
La vista clásica (MessageBrowser) tenía su propia lista de adjuntos que era faltar el botón de descarga. Sólo se arregló la vista de conversación Anteriormente....
Añadir com.kamo.z.shared.commerce a EnableJpaRepositorios escaneo
**************** (requerido por **************** en la biblioteca compartida) vive bajo com.kamo.z.shared.commerce, pero no incluido en el escaneo del repositor...
Disqueo adecuado, acolchado y logotipos del proveedor
Disparación / espaciamiento: - Las seis pestañas (Proveedores, Extensiones, Usuarios telefónicos, Dispositivos, Voicemail, Salud) Ahora envuelva su contenido ...
Nombre de campo correcto y tipo en getDesdirDirectras de respuesta
Backend estaba enviando clave de 'email' pero frontend esperaba 'dirección', y envió el tipo de "shared-mailbox" cuando el frontend esperaba 'com compartida'. T...
Cargarse DE direcciones de buzones y alias accesibles
Sustituye al endpoint de endo roto getFDeAddreses() (que envió 'email' en lugar de 'address') con getAccessibleMailboxes () - listaMemberAliases (), combina la ...
Utilice la sintaxis DROP INDEX CASCADE compatible con CockroachDB
CockroachDB rechaza ALTER TABLE ... DROP CONSTRAINT para las restricciones de la UNIQUE con: sin implementar: no puede dejar caer la restricción de UNIQUE "u...
Suelta VOIPService especulación de repo
Por convención del proyecto (.md archivos no se envían con servicios).
Incluir com.kamo.z.shared.commerce en el escaneo de repositorio
La última kamo-shared-library propagates **************** (donotmodify.dao.services) que tiene una dependencia de constructor de ******************* ********** ...
pestañas de configuración de la plataforma (General / VOIP & SMS / Usuario del Sistema / Advanced)
Envuelve ************* en SettingsView con cuatro pestañas: - General: vista general de la plataforma de sólo lectura - orgs totales, servidor telefónico activ...
Añadir el botón de descarga de adjunto y desparparar marca-tal como lectura
- Añadir un botón de icono de descarga a cada fila de adjunto para que los usuarios puedan forzar un descarga de archivos en lugar de sólo abrir en una nueva ...
Trabajo global de sincronización VOIP (intervalo a laminación-tunable)
VoipGlobalSyncJob se marca cada minuto y, en cada garrafa, lee el SystemConfiguration singleton para decidir si se debe una sincronización global: - Si voipSync...
Sistema-config . platform-overview endpoints
Superficie de configuración de ancho de plataforma, cerrada por el propietario de alto nivel existente guardia (parejas SystemUserConfigController's requireTopL...
Controladores de recursos por insperance . org aggregate .
Recurso de instancia CRUD (extensiones / usuarios / dispositivos / buzón de voz): - VoipExtensionController en ************* - VoipUsersController at /api/voip/...
Refactor del proveedor multiinstancia . Gratis completo de FreePBX . Flowroute SMS
Cambio de modelo básico: un org . muchos VoipProviderInstaces (era: uno per org). Cada llamada API de proveedores ahora es de tipo de ejemplo. Interfaz PhonePr...
Migración del proveedor de telefonía multiinstancia/SMS
Ruta después de Hibernate ddl-auto:update crea nuevas tablas (VOIP-PROVIDER-INSTANCE, BULK-TEXT-PROVIDER-INSTANCE, PHONE-EXTENSION, PHONE-END-USER, PHONE-DEVICE...
Fundación de esquema de sistema de telefonía multiinstancia/proveedor SMS
- Renoname VoipProviderConfig . VoipProviderInstancia; drop UNIQUE(org.id), añadir instance-name, config.json, last-sync.at, last-sync.error. - Renombre BulkTex...
Muévete al anfitriónPath de MinIO (rclón FUSE) a local /var/lib/pbx
MinIO vía rclone FUSE no admite POSIX chmod o symlink() lo requiere el sistema de módulos de FreePBX. Cambió todo FreePBX y MariaDB los volúmenes de hostPath de...
Envoltura fwconsole/amportal vía php para MinIO FUSE hostPath
/var/lib/asterisk está respaldado por MinIO a través de rclone FUSE que no soporta POSIX chmod, por lo que los scripts de fwconsole no se pueden hacer ejecutabl...
Como lo que ves enviaste?
Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.