Coerce isDisplayOnIntake=true quando è necessario=true in CustomFormService
Aggiungi isDisplayOnIntake per creare/aggiornamento richiesta DTO
Collegare il nome del membro assegnato alla pagina delle impostazioni del telefono
Aggiungi la visualizzazione dei nomi dei membri e unssign pulsante per la scheda di estensioni per-instance
Mostra i nomi dei membri e aggiungi un'azione Unassign alla scheda estensioni di livello org
Configurazione del cavo VOIP per provider + selettori di estensione con l'esecuzione dell'assegnazione
Aggiungere DTO digitati, metodo API senza firma e aggiornare MembershipPermissionsTab VOIP tipi
Aggiungi l'assegnazione del DELETE endpoint a VoipExtensionsController per admin unassign
Aggiungi MemberVoipConfigController per il membro VOIP config con l'assegnazione dell'estensione
Aggiungi i metodi di query findByAssignedMemberId a PhoneExtensionRepository
Persist casella di posta attiva nei param di query dell'URL
Cambiare le caselle di posta aggiorna l'URL (?mailboxType, ?mailboxId, ?mailbox) così rinfrescante il browser ripristina la stessa casella di posta. MessageBrow...
Show accurate provider connection status from isConnected field
Replaces the old logic that showed "Connected" for any provider with no sync error (including brand-new providers that were never tested). New three-state badg...
Persist connection test result to isConnected field
- test() endpoint saves isConnected=true/false to DB after every health check - update() resets isConnected to null when configJson changes (credentials may h...
Add isConnected field to VoipProviderInstance
Nullable Boolean: null = never tested, true = last test passed, false = failed. Requires KamoInitializerService schema migration to add IS_CONNECTED column.
Mostra banner di offerta attiva con conto alla rovescia dei millisecondi dal vivo
Possiede il server di promozione attivo sulla home page e rende un HeroOfferBanner tra la sottotena e il callout gratuito. Il banner mostra la quantità di scont...
Cavo Disponibile / Interruttore non disponibile per eseguire il backup e correggere il bug di presenza OFFLINE
- Rinominare Paused/Active chip a Disponibile/Non disponibile in NavTop - Prestare la disponibilità iniziale sul montaggio e perseverare con le nuove API me/ava...
Add isAvailable to by-department risposta and me/availability endpoints
Live distintivo illeggibile + rimbalzo sul nuovo messaggio agente
- Mantiene LiveSupportPanel montato fuori schermo mentre il widget è minimizzato (solo quando esiste una sessione di supporto) in modo che l'abbonamento STOMP r...
Trasmissione contante in sospeso + non letto su agente leggere & visitatore invio
- Ora deleghe a... Il conto e' cosi'. riflette sessioni con messaggi e decrementi non letti dei visitatori quando agente chiama markAsRead. - Un nuovo pubblico....
Conto non letto + helper di ricerca per sessione
Aggiunga il navtop. SupportButton badge può contare i biglietti di supporto che in realtà hanno bisogno attenzione (hanno messaggi di visitatori non letti) inve...
Aggiungi colonna posizione per ticket datagrid
Leggi E' il momento giusto. direttamente dal SupportTicketDTO (ora snapshot sull'entità del biglietto tempo di creazione — nessun viaggio extra rotondo). Bandie...
Geo visitatore istantaneo sull'entità dei biglietti
Aggiunge VISITOR IP ADDRESS, VISITOR COUNTRY CODE, VISITOR COUNTRY NAME, VISITOR CITY, colonne VISITOR SUBDIVISION. Catturato alla creazione di biglietti quindi...
Aggiungi /ws/public-chat-native plain WebSocket endpoint accanto a SockJS
Registra un secondo endpoint STOMP senza SockJS a /ws/public-chat-native che il frontend può connettersi con un WebSocket nativo (brokerURL) senza bisogno la li...
Per-ticket unread badge + 'solo nuovi messaggi' filtro
- La lista dei biglietti mostra un distintivo di chat-bubble con il conteggio non letto accanto a biglietto # ogni volta che la sessione ha messaggi più nuovi d...
Trasmissione conta unread ad agente sul messaggio del visitatore
Dopo che un visitatore invia un messaggio di supporto, spingere gli ultimi incontri non letti Il carico di pagamento per la lista dei biglietti dell'agente. bad...
Includere sessioni SUPPORT TICKET in query di appartenenza non letta
findChatMembershipsByMemberId ora restituisce i membri sia per CHAT e SUPPORT TICKET tipi di sessione, in modo che il per-membro esistente infrastruttura (getUn...
Produzione fail2ban con carceri PJSIP e stato persistente
- Aggiungi fail2ban-configmap.yaml con le prigioni [asterisk] e [freepbx-web], escalation del divieto incrementale (1h→24h→30d soffitto), LAN ignoraip, e un fil...
Add resetHasAttachmentsForFolder query to ConversationRepository
Allows sync to reset stale has_attachments flags before re-indexing so corrected MIME detection can rebuild the field from actual attachment data.
Integrate Coqui TTS with norman voice (VCTK p267)
- Deploy coqui-tts server (VCTK VITS model, CPU-only) as ClusterIP service on port 5002 with model cache at /var/lib/coqui-tts on k1m1 - Inject coqui_tts.agi ...
Add LAN DNS pod for split-DNS on k1m1
Deploys a dnsmasq pod with hostNetwork on k1m1 that listens on 192.168.4.22:53. Overrides pbx.k1.kluster.kamocrm.com -> 192.168.4.22 so LAN phones reach the PBX...
Schede di configurazione della piattaforma (Generale / VOIP & SMS / System User / Advanced)
Wraps ********************************************************************************** in ImpostazioniView con quattro schede: - Generale: panoramica della p...
Lavoro di sincronizzazione VOIP globale (intervallo regolabile)
VoipGlobalSyncCategoria professionale zecche ogni minuto e, su ogni zecca, legge il SystemConfiguration singleton per decidere se una sincronizzazione globale è...
Endpoint System-config + platform-overview
Superficie di configurazione a livello di piattaforma, recintata dal proprietario di alto livello esistente guardia (tappeggi SystemUserConfigController richied...
Per-instance controller delle risorse + org aggregato + sincronizzazione interna
CRUD (estensione / utenti / dispositivi / segreteria): - VoipExtensionsController a... - VoipUsersController a /api/voip/instances/{id}/users - VoipDevicesContr...
Multi-instance provider refactor + full FreePBX + Flowroute SMS
Core model change: one org → many VoipProviderInstances (was: one per org). Every provider API call is now instance-scoped. PhoneProvider interface: - New meth...
Multi-instance telefono/SMS provider migrazione
Esegue dopo Hibernate ddl-auto:aggiornamento crea nuovi tavoli (VOIP PROVIDER INSTANCE, BULK TEXT PROVIDER INSTANCE, PHONE EXTENSION, PHONE END USER, PHONE DEVI...
Multi-instance telefono / fornitore SMS fondazione schema
- Rinomina VoipProviderConfig → VoipProviderInstance; drop UNIQUE(org id), aggiungere ista name, config json, last sync at, last sync error. - Rinomina BulkText...
Deploy FreePBX 17 + ponte Jigasi SIP su k1m1 e k2m1
FreePBX (tiredofit/freepbx:17-latest) funziona con hostNetwork così SIP/RTP preserva i veri IP client, pinned one-per-node tramite nodeSelector. SIP su 5060 UDP...
Piattaforma-admin view, paginazione, ricerca dal vivo, filtri, logo org
Gli amministratori della piattaforma (proprietario di org di livello superiore) ora vedono ogni org del sistema tramite il nuovo /api/security/org/all-networks ...
Aggiungi GET /api/security/org/all-networks per gli amministratori della piattaforma
I proprietari di org di livello superiore possono ora prendere tutte le organizzazioni nel sistema con informazioni relative al chiamante. Org dove il chiamante...
Sottotitoli nell'editor di modelli di sicurezza + pulizia
- L'editore di modelli di sicurezza su... in quattro sottotitoli: Generale (Informazione base, Visibilità, Chi può creare, Impostazioni della piattaforma, Confi...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
