60 OTK TTL per soddisfare le finestre, chat/email indipendenti invita che non bloccano sul backend
L'OTK aveva un TTL di 10 secondi. Quando la pagina kamo-meet ha caricato tutti i suoi beni e branding/overrides.js correva per convalidare OTK, era già scaduto ...
Bloccare correttamente il nome del display tramite config override + DOM
L'approccio a tre strati per garantire che il nome sia bloccato per gli utenti autenticati: 1. localStorage flag 'kamo-meet-authenticated' sopravvive il redirec...
Invia chat invita tramite API di sessione di chat esistente, e-mail invita via multipart a EmailService
Chat invita: crea/ottene una sessione di chat via POST /api/media/sessions/chat poi invia l'invito dell'incontro come messaggio di testo in quella sessione. Uti...
Use getServerName() instead of getHeader(Host) for original host resolution
ForwardedHeaderFilter consumes X-Forwarded-Host and adapts getServerName() accordingly, while getHeader(Host) returns the raw HTTP Host which may be a K8s inter...
Bloccare il nome del display tramite il nativo di Meet Nome configurazione per utenti autenticati
- Sidecar config.js ora imposta il testoOnlyName:true quando l'utente ha *** cookie o JWT nell'URL della pagina (detected via referer/cookie headers) - nginx pa...
Send chat invites to correct WebSocket topic /topic/chat/incoming/{memberId}
Was publishing to /topic/chat/member/{id} but kamo-internal subscribes to /topic/chat/incoming/{id}. Also fixed Member entity field access **************** inst...
Invia tutti i campi di incontro (sendChatInvite, sendEmailInvite, customMessage, roomAlias, joinUrl) per backend
Il percorso API Next.js stava spogliando sendChatInvite, sendEmailInvite, usanzaMessage, e stanzaAlias — solo inoltro cameraName e invitareMemberIds. Backend no...
Generare Prosody JWT dalla sessione di OTK e reindirizzare con ?jwt= per un corretto moderatore auth
Il flusso OTK ora: 1. Convalida OTK tramite sidecar → ottiene sessione (memberId, displayName, ecc.) 2. Salva il nome del display a localStorage 3. Chiama /api/...
Applicare il colore nav org a tutta la colonna sinistra pre-misurata, non solo la barra degli strumenti
Target .premeeting-screen (il contenitore completo) e il suo contenuto i bambini del pannello invece di nomi di classe generati. Coperture anche in-meeting tool...
Inoltra IP e User-Agent per eseguire il backend per la registrazione accurata dell'attività dell'account
Le rotte API Next.js non sono state inoltrate X-Forwarded-For, X-Real-IP, o Intestazioni Utente-Agent al backend Java, causando l'attività dell'account per regi...
Use HTTP on port 80 for meet service URL to match other services
The HTTPS endpoint on 8443 causes SSL cert mismatch when routing through K8s internal DNS. All other services use HTTP on port 80.
Rimuovere il vincolo maxWidth da soddisfare le schede delle impostazioni per riempire l'area del contenuto
Mostra MeetingDialog per riunioni per membri invece di bypassare direttamente
Sia MemberItem (Interaction Center) che ChatBox (chat tool window) ora aprire il MeetingDialog con il membro di destinazione pre-selezionato, permettendo utente...
Route meet config API tramite APIService invece di MediaService diretto
Il percorso di incontro/creazione esistente utilizza forwardToApi (APIService), che proxy a MediaService. I nuovi percorsi config/background devono seguire lo s...
Bloccare l'ingresso del nome del display per gli utenti autenticati sullo schermo pre-adesione
I membri autenticati (in arrivo tramite OTK) ottengono il loro nome pre-riempito e bloccato — l'ingresso è impostato per leggereSolo con puntatore-eventi disabi...
Utilizzare i relativi URL BOSH/WS in config.js, aggiungere auth OTK con nome pre-riempire, caricare org CSS per i colori nav
Tre correzioni: 1. config.js URL BOSH cambiato da indirizzo interno cluster a relativo /http-bind (processi anx a Prosody). WebSocket utilizza l'intestazione ho...
Add dnsPolicy ClusterFirstWithHostNet to JVB StatefulSets so hostNetwork pods can resolve cluster DNS
Spostare il pulsante Nuova scheda dopo Chat Now come icon-only, rimuovere il link di note duplicate
La nuova scheda è ora un pulsante icona (senza etichetta) posto a destra di Chat Now. Note rimosse da NavTop poiché è già in NavPri.
Abilita nginx SSI e copia HTML mancante includono file (head.html, base.html, fonts.html, body.html, plugin.head.html)
Meet utilizza nginx Server Side Include per comporre index.html da più file HTML parziali. Senza SSI abilitato e includere i file presente, la pagina rende come...
Utilizzare il corretto URL MediaService (https port 8443) per meet.service.url
Aggiungi annotazioni esplicite @JsonProperty ai campi di visibilità AI KbArticolo
Assicurare Jackson serializza/deserializza aiEnabled, aiVisibleToPublic, aiVisibleToMembers, aiVisibleToTeamMembers con nomi di campo corretti.
Prevenire l'infinito loop di ri-render in MeetingDialog causato da riferimenti di array prop predefinito
L'usoEffect aveva preSelectMembers (defaulting a [])) come dipendenza, creare un nuovo array su ogni rendering e attivare un set infinitoState Ciclo. Fisso util...
Colore del pulsante CHAT per incontrare l'icona usando CSS --color-primary variabile
Sostituire InputProps deprecato con slotProps per la compatibilità MUI 7 in MeetingDialog
Aggiungi isOptionEqualToValue e null safety a MeetingDialog Autocomplete per evitare crash client
Fare Chat Now icona bianco, sincronizzare il badge e-mail con l'elenco dei messaggi, utilizzare CSS color-mix per i colori a tema
- NavTop: modifica il colore ForumIcon a bianco per abbinare Chat Now etichetta - MessageBrowser/MailButton: coordinate WebSocket e-mail di aggiornamento tramit...
Reference *** instead of non-existent turn-secret in Prosody deployment
Semplifica l'utilizzoMeeting per generare OTK e aprire la finestra di riunione direttamente
Backend meeting API endpoints non esiste ancora - skip record di riunione creazione per ora. Aggiungere la gestione degli errori a tutti i gestori di clic per e...
Impostare la fase AppType.MEET a COMPLETED in modo da appare in FeaturesManager
Impostare la fase ServiceType.MEET per COMPLETATO in modo da appare in FeaturesManager
Rimuovere favicon.svg non esistente e connessione optimization da Dockerfile COPY
Aggiungi MEET a FeaturesManager icona/categoria mappe e guardia ChatBox Meet pulsante con isMeet check
Utilizzare fare sistema di costruzione e aggiungere .dockerignore per Meet Meet Docker costruire
Meet utilizza make/webpack, non npm run build. Aggiunto --legacy-peer-deps per conflitti di dipendenza da pari, e .dockerignore escludere node modules da costru...
Rendere le caselle di controllo della visibilità e Allenare i controlli indipendenti AI
Visibilità (Membri, Team Member, Public) controlli che possono accedere all'articolo nella KB UI. Train AI è un gioco separato per l'indicizzazione RAG, non un ...
Preserve upstream X-Forwarded-Host instead of overwriting with own Host
When an upstream proxy (Next.js) sets X-Forwarded-Host to the browser's original host, APIService now preserves it instead of overwriting with its own Host head...
Utilizzare l'URL interno K8s per il routing API per correggere il caricamento avatar per non-KamoCRM org
Il proxy API stava elaborando URL esterni (https://api.{domain}) per ogni org, che ha risolto solo per KamoCRM. Ora utilizza API SERVICE URL env var per diretto...
Re-fetch notes after create/update to show decrypted content in preview
The backend returns encrypted content/contentPlain in POST/PUT responses, causing NoteCard previews to display ciphertext until page refresh. Now re-fetches via...
Disable all auto-link behaviors in KB editor to prevent paste-as-hyperlink bug
The linkExtension singleton from @lexkit/editor retains internal paste handler state across component remounts. Disabling autoLinkUrls, autoLinkText, and linkSe...
Prevent KB editor link extension state leaking between article creates
Move Lexical extensions from module-level singletons into a factory function called via useMemo per component mount, so each new article gets fresh extension in...
Sostituire hardcoded KamoCRM fallback con titolo di organizzazione dinamica
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.