Salta al contenuto
KAMOUniverse

Changelog

Cosa c'è di nuovo.

Ogni miglioramento alla piattaforma, come si spedisce.

  1. · SecurityService

    Includere la descrizione org in config.json

    Aggiungi campo descrizione per costruireConfigJson() e passare org.Descrizione() da writeConfigFiles() così il config.json a tema trasporta l'org descrizione per frontends da usare nei meta tag HTML.

  2. · kamo-internal

    Elenco dei biglietti di colore globo da richiesta o connessione chat

  3. · MediaService

    Aggiungere la ricerca della presenza del richiedente per gli agenti della lista dei biglietti

  4. · kamo-internal

    Aggiungi includonoCompany al mercato popup e companyName a lead

    Aggiungi/modificare il mercato (LeadMarketManager): - Controllo radio "Nome Compagnia Track" / "Solo Individuale" (richiesto) - Predefiniti per disattivare il nuovo mercato; pre-riempite sulla modifica - Validato e inviato come inclusoCompany in creare/aggiornamento richiesta Leads datagrid (LeadManager): - La colonna aziendale mostra l'aziendaName per i lead da includere i mercati aziendali - Mostra "No specificato" quando includonoCompany=true ma il nome è vuoto - Spettacoli "—" per mercati dove includonoCompany=false/null - Ricerca rapida (AG Grid QuickFilter) include automaticamente i valori aziendali Crea il modulo di piombo (CreateLeadClient): - Rende condizionalmente Azienda Nome campo di testo quando mercato includonoCompany=true - Campo è facoltativo (max 50 carboni), cablato in carico di pagamento di presentazione tramite leadApi leadApi: azienda Nome mappato attraverso creareAvviare e aggiornareLead richieste

  5. · InitializerService

    Aggiungi le colonne company e company name

    LeadCompanyColumnRunner (Order 40) aggiunge idempotently: - lead markets.include company (BOOLEAN, nullable) — traccia se un mercato richiede il nome dell'azienda sui lead - lead.company name (VARCHAR(50), nullable) — memorizza il nome dell'azienda a il livello di piombo quando il mercato ha inclusoCompany=true

  6. · SecurityService

    L'esposizione include le risposte di input-config e market-config dell'azienda

    Tutti e due. E poi... ora includere la bandiera includereCompany in modo che il frontend sa se mostrare campo nome azienda sulla creazione di piombo.

  7. · kamo-shared-library

    Aggiungi includereCompany a LeadMarket e companyName a Lead

    - LeadMarket entità ottiene include company (Boolean, nullable) - L'entità di piombo ottiene company name (String, max 50, nullable) - LeadMarketDTO, CreateLeadMarketRequest, UpdateLeadMarketRequest porto includonoCompany - LeadDTO porta companyName ed espone includonoCompany all'interno MarketInfoDTO - No, no. portare la societàName - I cavi LeadMarketService includonoCompany su creare/aggiornamento - LeadService fili societàName su creare / aggiornare e lo preserva attraverso le conversioni di tipo ipotecario

  8. · kamo-internal

    Mostra il percorso del tipo di vendita in Add Lead sottotitoli

    Appendere il tipo di vendita del mercato e Sub-Tipo alla linea "Adding to" in modo da la forma rispecchia le etichette utilizzate nel popup Edit Market E' il momento giusto. Rendering come "Aggiunta a {Market} (Servizio > Mortgage Residenziale)" quando un sottotipo è set, "Aggiunta a {Market} (Servizio)" quando solo un genitore è impostato, e "Aggiunta a {Market}" quando non è impostato nessun tipo di vendita.

  9. · kamo-internal

    Unified PhoneSdk che supporta RingCentral + sip.js (FreePBX)

    L'amo softphone utilizzato per istantanare il telefono centrale-web incondizionatamente, che ha gettato su qualsiasi forma di credenziali FreePBX perché che SDK è codificato duro Il formato di provisioning WSS di RingCentral. - Nuova interfaccia PhoneSdk definisce una superficie diagnostica del fornitore (avviamento, arresto, Invitare... più un PhoneSdkSession con... - RingCentralPhoneSdk avvolge ringcentral-web-phone, preservando l'esistente Comportamento RC. - SipJsPhoneSdk avvolge sip.js (UserAgent + Registerer + Inviter/Invitation), collega l'audio remoto tramite la connessione peer negoziata, supporti in-dialogo re-INVITE per trattenere/mantenere, e si riferisce per il trasferimento. - crearePhoneSdk sceglie l'adattatore da creds.provider (RING CENTRAL, FREE PBX, KAMO PBX). - useSoftphone ora drive SDK unificato e superfici il vero errore SDK testo in registrazioneErrore invece del generico 'Phone SDK non riuscito a inizializzare la stringa. - Aggiunge la dipendenza sip.js@0.21.2.

  10. · VOIPService

    WSS-aware SIP credenziali per softphone del browser

    Il endpoint /api/voip/sip/credentials ora restituisce le credenziali un lato del browser SIP stack può effettivamente utilizzare: trasporto WSS, dominio pubblico e un URL wsServers. - SipController risolve il membroVoipConfig, convalida VOIP è abilitato e viene assegnata un'estensione, poi percorsi per la specifica del membro istanza (non primaria dell'org). Restituisce descrittivo 409 quando il membro non è configurato piuttosto che produrre credenziali vuote. - SipInfo guadagna wsServers per SIP-over-WebSocket; SipCredentials Risultato guadagni provider così il frontend sceglie l'adattatore SDK giusto (RingCentral WebPhone vs SIP.js per FreePBX/KamoPBX). - FreePBXProvider deriva il dominio SIP dalla base configurataUrl e default wsServers a wsss:// <host>:8089/ws. Per-instance overrides (sipDomain, sipWsServer, sipWssPort, sipTransport) letto da configJson coprire distribuzioni divise in cui SIP termina su un altro hostname o Traefik termina TLS a /ws sul porto 443. - PhoneProviderFactory analizza i nuovi campi e feed di configurazione opzionale loro in un record SipTransportConfig su FreePBXProvider. - RingCentralProvider etichetta le sue credenziali con provider=RING CENTRAL.

  11. · KlusterServices

    Aggiungi il trasporto WSS WebRTC per i softphone del browser

    Chan pjsip di Asterisk ora lega un trasporto WebSocket semplice su 0.0.0.0:8089 E Traefik termina la TLS all'indirizzo. così kamo-internal può registrare i softphone del browser sopra la wildcard esistente cert senza gestire certs all'interno del baccello. - configmap-k1m1.yaml: start.sh scrive pjsip.transports custom.conf con Trasporto WS e pjsip.endpoint custom post.conf con webrtc=yes overrides per le estensioni esistenti (8080, 2523), pernottate al trasporto WS. - service.yaml: esporre la porta 8089 (sip-ws) sul servizio freepbx così il nuovo IngressRoute può mirare; il coperchio è su hostNetwork in modo che questa mappa per porto dell'ospite k1m1 8089. - ingressroute-ws.yaml: HostRegexp + PathPrefix(/ws) alla priorità 100 percorsi WebSocket aggiorna a freepbx:8089 *senza* la catena kamo-middlewares — che la catena include la compressione, che avrebbe corrotto i frame SIP-over-WS.

  12. · SecurityService

    Aggiungi /names endpoint di ritorno id→ nome per tutti i membri indipendentemente dallo stato

    I filtri endpoint di by-department per il solo TeamMembers attivo, ma l'estensione assegnazioni possono fare riferimento ai membri di base o ai membri inattivi. Uso / nomi per ID→noma risoluzione in cui la copertura conta più dello stato di attività.

  13. · kamo-internal

    Aggiungi modulo di piombo a /leads/new

    Refactor Aggiungi Piombo da un pannello multi-tab in una rotta dedicata a /leads/new quindi può essere collegato direttamente. Il mercato attuale è passato attraverso come ?marketId= e pre-selezionato. Mercato di piombo, venditore e prodotto sono ora necessari; il contatto richiede almeno uno dei primi/ultimo/preferito nome e uno di e-mail o telefono. Mortgage campi sottotipo e qualsiasi mercato campi di forma personalizzata contrassegnati èDisplayOnIntake sono resi in linea. Su successo, reindirizza a /leads/view/{id}.

  14. · SecurityService

    Aggiunga... punto

    Resi venditeTipo, subTipo, e personalizzatiForms per un mercato da marketId così il modulo Aggiungi piombo può rendere i campi sottotipo e l'assunzione di moduli personalizzati senza prima creare una pista.

  15. · kamo-internal

    Aggiungi Display su Intake toggle, sbloccare automaticamente quando necessario è abilitato

  16. · kamo-internal

    Aggiungi isDisplayOnIntake ai tipi FormField TypeScript

  17. · kamo-shared-library

    Coerce isDisplayOnIntake=true quando è necessario=true in CustomFormService

  18. · kamo-shared-library

    Aggiungi isDisplayOnIntake per creare/aggiornamento richiesta DTO

  19. · kamo-shared-library

    Expose isDisplayOnIntake in FormFieldDTO

  20. · kamo-shared-library

    Aggiungi la colonna IS DISPLAY ON INTAKE a FormField entità

  21. · kamo-internal

    Collegare il nome del membro assegnato alla pagina delle impostazioni del telefono

  22. · kamo-internal

    Aggiungi la visualizzazione dei nomi dei membri e unssign pulsante per la scheda di estensioni per-instance

  23. · kamo-internal

    Mostra i nomi dei membri e aggiungi un'azione Unassign alla scheda estensioni di livello org

  24. · kamo-internal

    Configurazione del cavo VOIP per provider + selettori di estensione con l'esecuzione dell'assegnazione

  25. · kamo-internal

    Aggiungere DTO digitati, metodo API senza firma e aggiornare MembershipPermissionsTab VOIP tipi

  26. · VOIPService

    Aggiungi l'assegnazione del DELETE endpoint a VoipExtensionsController per admin unassign

  27. · VOIPService

    Aggiungi MemberVoipConfigController per il membro VOIP config con l'assegnazione dell'estensione

  28. · kamo-shared-library

    Aggiungi i metodi di query findByAssignedMemberId a PhoneExtensionRepository

  29. · kamo-internal

    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. MessageBrowser legge window.location.search nel suo pizzico usoAprimizzatoreState per ripristinare activeMailbox prima del primo render, e spinge gli aggiornamenti URL tramite router.sostituisci su ogni evento di scambio di mailbox. CartellaSidebar legge il stesso URL params dopo ottenereAccessibleMailboxes risolve così il dropdown riflette la selezione restaurata.

  30. · kamo-marketing

    Add Flowroute to integrations hub page

Il tuo universo ti sta aspettando.

Aggiungi i prodotti quando sei pronto: nessuna migrazione, nessun nuovo login, nessuna richiesta di pagamento.

Gratis per sempre — nessuna carta di credito richiesta