Salta al contenuto
KAMOUniverse

Changelog

Cosa c'è di nuovo.

Ogni miglioramento alla piattaforma, come si spedisce.

  1. · kamo-internal

    Web Chat Integrazione scheda — elenco, creare, snippet (BFF + UI)

    Fase 2 core delle impostazioni Web Chat Integration scheda: BFF percorsi proxying alla Phase-1a MediaService CRUD, un client digitato e il /settings/features/chat scheda dove un org elenca integrazioni, crea uno (nome + richieste di origine del sito web + modalità AI/Supporto), e ottiene il grezzo chiave del sito + snippet incorporabile una volta. Design personalizzato e prontezza la lista di controllo sono fasi successive.

  2. · kamo-register

    Kamo-Registrati onori software auth logo + nome

    - DynamicMetaLoader: lettura dell'identità del software + selettori auth da config.json, risoluzione scheda titolo, persist auth logo/name stato a sessionStorage - brand.ts + ThemeLogo: registra i loghi auto-seguire l'identità auth-logo (reattiva) - useAuthName: registro nome testo (terraggio + flusso) segue l'identità di nome auth, reattiva sul tema config load; rientra in azienda

  3. · kamo-login

    Kamo-login onori software auth logo + scheda titolo

    - DynamicMetaLoader: lettura dell'identità del software + selettori auth da config.json, set scheda titolo dal nome risolto (authNameBrandSource), persistere auth-logo stato a sessionStorage - brand.ts + ThemeLogo: loghi di login auto-seguire l'identità auth-logo (azienda/software), ri-risolto sul tema config load; nessuna modifica del call-site necessaria

  4. · kamo-internal

    LabelManager software identità UI + scheda interna titolo

    - Informazioni sull'azienda: nome/short-name + nome login/register + selettori a schede - Branding: software pieno/semplice logo uploads, override toggles, e per-superficie selettori di identità (marca, navpri, logo login / registrazione) - superfici obbligatorie comunicate come sempre-compagnia (documenti/email/fatture/etc.) - layout: il titolo della scheda del browser interno risolve tramite internoTabBrandSource

  5. · kamo-internal

    3-stage org guida di bordo (creare → finire DNS → entrare)

    Generalizzare l'eroe di primo-org in un unico pannello di guida di studio sul conto di proprietà-org del membro + stato DNS (da /api/security/org/my-networks): creare — possiede nessun bambino org → lanciare il primo white-label org (/network/create) dns — possiede 1, DNS non verificato → configurazione di dominio di finitura (/setup/dns?orgId=.) entrare — possiede 1, DNS completo → entrare in esso (enter-as OTK → interno. Una volta che possiedono un secondo org, nessun pannello mostra — conoscono le corde. Finanziamento DNS rispecchia esattamente la regola della pagina di rete (personal domain && domainSetupComplete===false; a *.kamocrm.com org non ha bisogno di DNS). Ogni fase ottiene la propria famiglia accento (persone/lavoro/crm), icona e copia; CTA è un link per creare/dns e asincrona entrare in azione per la fase pronta. Fails sicuro (senza pannello) su qualsiasi errore di fetch.

  6. · kamo-internal

    Doppio risolutore aziendale/software + consegna + consumo

    - Organization.ts: fornire identità software + selettori per-superficie tramite OrgContext - No. (+ prova, 8 casi) - ThemeLogo: logoSoftware/logoFullSoftware varianti - NavPri: logo navpri + testo seguire il selettore del logo del software interno - BackgroundWatermark + Backdrop: watermark onora l'identità del software (entrambi i percorsi)

  7. · SecurityService

    Tipo di caricamento del logo del software + config.json pane

    - uploadLogo: esplicito interruttore a chiave per oggetti con il rifiuto di default in modo che un upload software non possa mai clobber il logo aziendale.svg - copyFolder: conservare i loghi del software caricati sulla copia del modello - config.json: cuocere l'identità del software + selettori di auth-surface per il login/register - test: UploadLogoObjectKeyTest, buildConfigJson casi software

  8. · kamo-shared-library

    Aggiungere le colonne di marca del software white-label a Organizzazione

  9. · kamo-shared-library

    Persist software di marca campi via patchOrganization whitelist

  10. · kamo-internal

    Primo eroe CTA per i membri sulla piattaforma org

    Mostra un eroe onboarding in cima alla home launchpad invitando un KamoCRM-platform (non un membro del team) che non ha ancora creato un bambino org per girare la loro prima organizzazione white-label. Un prominente CTA pulsante e un inline 'clicca qui' link entrambi percorso a /network/creare, e la copia punti al 'My {branches}' nav sopra. Gated on userInfo.memberType == MEMBER + Organization.isTopLevel; soggiorni nascosto a meno che /api/security/org/my-networks confermi che non possiedono figli org, e non riesce sicuro (nascosto) su qualsiasi errore fetch. Segui lo strumento Lingua di disegno del pannello (accento della gente, kglass, label dell'operatore, casa easing, ridotto-motion-gated). Strings sotto casa. Primo Ministro.

  11. · VOIPService

    Endpoint delle credenziali TURN-REST per il softphone mobile

    GET /api/voip/turn/credentials mints ephemeral coturn creds (HMAC-SHA1 over " <expiry>: <memberId>" con il comune statico-auth-secret) così nativo/cellulare WebRTC può relè attraverso 47.181.8.84:3478. Auth tramite lo stesso X-***-Token il SIP endpoint utilizza; restituisce configurato:falso (solo STUN) quando il segreto è assente. Fili KAMO TURN SECRET dal *** (opzionale).

  12. · SecurityService

    Expose per-org primarioColore + logo URL su /my-networks

    Ogni riga org ora porta il colore primario (Organization.colors.colors.colors, '#'-prefisso per abbinare config.json) e logo derivatoUrl/logoSimpleUrl (tema. loghi e per-org hex-head colori di confine.

  13. · MediaService

    Integrazione web-chat istantaneo id su supporto visitatore + biglietto

    Risolve la WebChatIntegration creandoKeyHash (abilitato filtrato, coerente con la risoluzione boottrap()/AI-prompt) una volta in creareSupportSession e timbra il suo id su entrambi PublicChatVisitor e SupportoTicket per attribuzione sito web. Null/chiave a righeHash o nessuna integrazione abilitata corrispondente lascia le colonne nulle.

  14. · AIService

    Per-integrazione pubblica AI prompt + attribuzione sessione

    Aggiornare la cascata di sistema-prompt a catena pubblica da per-org a per-integrazione: PublicAiChatController ora legge il Intestazione X-Public-Chat-Key-Hash (nullable) inoltrata da APIService e E' una cosa che non va. WebChatIntegrazione da hash e preferisce la sua aiSystemPrompt sopra AiOrgSettings default, rientrando nel prompt generico. The risolto AiChatSession è anche timbrato con webChatIntegrationId per attribuzione stabile che sopravvive alla rotazione chiave. Estratto la cascata in una soluzione statica, testata unitàPrompt helper (integration-wins / org-fallback / generic-fallback / blank gestione).

  15. · APIService

    GET /api/pubblico-chat/bootstrap gateway route

    Aggiungi un endpoint bootstrap che riutilizza il proxy esistenteCon pipeline Auth (valida chiave + origine opt-in + PUBLIC CHAT portata + tasso-limit + X-Public-Chat-Key-Hash) e proxies al punto finale MediaService bootstrap.

  16. · MediaService

    Risolvetore di configurazione di config di boot-trap

    Aggiunge un GET interno che risolve il problema. WebChatIntegration di X-Public-Chat-Key-Hash e restituisce il suo risolto design/behavior config (default-filled via WebChatDefaultConfig.merge quindi una chiave senza riga di integrazione rende ancora come widget di oggi). Torna all'org attivo di PublicChatApiKey quando nessuna integrazione esiste; 404s quando l'hash chiave non risolve affatto.

  17. · MediaService

    WebChatIntegration CRUD (chiavi chiave + integrazione, org-scoped)

    API di gestione orientabile per la scheda Impostazioni web-chat Phase-2. Su creare, menti il sottostante PublicChatApiKey (stesso approccio key-gen come PublicChatKeyController) accanto alla riga WebChatIntegration e restituisce la chiave grezza una volta. list/get/update/delete sono org-ownership controllato; aggiornare busts la cache (Task-5) bootstrap quando il designConfig o modifiche abilitate.

  18. · kamo-shared-library

    Aggiungi colonne di attribuzione WEB CHAT INTEGRATION ID a visitatore/ticket/aisession

  19. · kamo-shared-library

    WebChatIntegration enti + repo + DTO + configurazione di progettazione predefinita

  20. · kamo-internal

    Aggiungi "Access Copilot Mobile App" punti di ingresso su casa + NavPri

    Entrambe le superfici inviano un evento `open-interaction-center` che NavTop ascolta per aprire il Centro Interazione sulla scheda Impostazione Mobile App. La casa mostra un etichettato pillola sotto i controlli della carta da parati; NavPri mostra un'icona del logo sotto il pillola di prova (label quando espanso, tooltip quando collassato). Entrambi atterrati dal Bene.

  21. · kamo-internal

    Password-gate il QR, scheda singola linea, intestazione logo-sinistra, codice 10min

    - Il membro deve reinserire la propria password (verificata tramite /api/mobile-access-otk, che inganna l'OTK solo sul successo) prima che il QR sia rivelato — impedisce qualcuno in un computer già firmato da afferrarlo. - QR/OTK ora vive 10 minuti (600); conto alla rovescia poi riblocchi. - Etichetta a schede forzata ad una linea; logo spostato a sinistra del titolo per salvare spazio verticale; rimosso la pillola 'Configuring for'.

  22. · SecurityService

    POST # Gate Mobile Copilot QR #

    Verifica la password del chiamante (passwordEncoder. partite contro la sessione utente) senza cambiare nulla. Usato dalla strada BFF mobile-access-otk in modo che il setup QR viene coniato solo dopo aver riconfermato la password.

  23. · kamo-internal

    Impostazione Mobile Access scheda — QR per installare + autoconfigure Mobile Copilot

    Nuova 3° scheda in NavTopPanel (gated by ALLOW MOBILE ACCESS right): mostra un marchio QR codifica un link profondo OTK di breve durata (kamocopilot://configure) che firma il membro nel loro telefono e predefinisce l'app al org corrente. Rifreschi auto OTK prima della scadenza; layout MUI lucido con il colore primario dell'org. Aggiunti

  24. · kamo-shared-library

    Aggiungi ALLOW MOBILE ACCESS (167) diritto generale per Mobile Copilot

    Nuovo RoleRightType (servizioTipe=null → gruppo generale) battendo il 'Setup Mobile Accesso alla scheda centro di interazione. RoleRightsSyncService lo riempie a tutti i ruoli sul riavvio di SecurityService; appare sotto le autorizzazioni generali nell'editor del ruolo.

  25. · AIService

    Per-org pubblico prompt, umano-handoff su nessun fornitore, anon messaggio di cappuccio

  26. · kamo-shared-library

    Aggiungi una query di conteggio di uso anon per quota di web-chat pubblica

  27. · APIService

    Verificare ***** PoW al bordo della sessione pubblica creare (applicato quando payload presente)

  28. · MediaService

    Bust APIService cache di chiave immediatamente su chiave pubblica toggle/delete

  29. · MediaService

    Persist che crea hash chiave sul visitatore della catena pubblica + biglietto per l'attribuzione

  30. · kamo-shared-library

    Aggiungi publicDailyMessageCap ad AiOrgSettings per una quota non web-chat

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