I materiali e la linea temporale sociale prendono i diritti, non solo la proprietà
MANAGE MATERIALS e MANAGE SOCIAL MEDIA hanno contato come imposto nell'audit ed ogni il sito era un file .tsx. Alle loro spalle 29 endpoint controllano la propr...
Il promemoria della riunione è una notifica, non un popup del proprio
La spazzata ha pubblicato un evento su misura su /topic/meet/reminder/{memberId} che uno Snackbar dedicato ha disegnato nell'angolo dello schermo. Quel popup er...
La lista dei biglietti sopravvive a un indicatore rotto
Il letto non letto ha lanciato e ha preso l'intera lista dei biglietti con esso — la pagina è tornata vuoto, che è un risultato molto peggiore di una pagina sen...
La lista dei biglietti segna gli stessi elementi che il badge conta
conteForMember ha dimensionato un set costruito privatamente, quindi la lista non aveva modo di chiedere che i biglietti erano in esso e approssimato invece — h...
Un biglietto non può mai essere risposto dal membro che l'ha allevato
Una conversazione di sostegno ha due lati — qualcuno che chiede e qualcuno risponde — e nulla ha imposto che fossero persone diverse. Un membro ACCEPT SUPPORT T...
Inviare un allegato in uscita al punto finale il suo tipo appartiene a
Ogni allegato sociale è uscito attraverso il mittente dell'adattatoreImage, che su Telegramma è /sendPhoto. Un PDF o una zip postata là è respinto da provider, ...
Dichiarare il segreto dell'oggetto-storage il ConfigMap non porta più
La chiave MinIO è stata spostata dal ConfigMap nella minio-app-credentials segreto, ma l'invFrom che forniture è stato applicato solo al vivo dispiegamento — ma...
Smettere di spedire una credenziali condivisa come predefinito config
La password condivisa della piattaforma è stata cotta come il fallback per DB PASSWORD e MINIO ROOT PASSWORD, così ha vissuto in questo repo e nell'immagine cos...
Assegnare a mano non deve consumare lo stato PRE TICKET
assegnareAgent e riassegnareAgent set ASSIGNED incondizionatamente, che tranquillamente fatto una richiesta di chat impossibile convertire in seguito — convertP...
Convalida a chi può essere consegnato un biglietto a mano
assegnareAgent e riassegnareAgent ha controllato solo che l'id ha risolto a un membro. Assegnazione aggiunge quel membro alla sessione di chat del biglietto, qu...
Auto Assegnazione offre il biglietto, non lo alloca
Auto Assegnazione pagine ogni agente di supporto disponibile e va al primo che accetta. È stato implementato come "silenziosamente scegliere l'agente meno impeg...
Eseguire la strategia dell'argomento per chat widget troppo
Una chat aperta nel widget web è la stessa unità di lavoro di una archiviata all'interno app, ma questo percorso ha saltato completamente la strategia di assegn...
Metti anche il tipo di sessione sul frame di attività
La trasmissione non letto/ATTIVITÀ è pubblicata per ogni tipo di sessione e non ha portato di cui. La lista delle chat, non avendo nulla su, digitato un non vis...
Dire al cliente quale tipo di conversazione è arrivato un messaggio
Ogni membro di una sessione media riceve la notifica del messaggio in arrivo e Assegnare un biglietto di supporto rende l'agente un membro della sessione del bi...
Una chat dal vivo viene rivendicata attraverso il popup, mai assegnato
Routing chat richieste attraverso round-robin era il modello sbagliato e ha rotto il cosa doveva sistemare. Un biglietto assegnato lascia la coda reclamabile (S...
Smettere di assegnare guasti distruggendo il biglietto che li ha attivati
Routing un nuovo biglietto ha funzionato all'interno della transazione di creazione, quindi qualsiasi cosa ha colpito ha rotolato il biglietto indietro con esso...
Percorso una richiesta di chat attraverso la strategia di assegnazione dell'argomento
Una richiesta di chat di supporto è archiviata come PRE TICKET e creareTicket saltato incarico per quelli diretti. La guardia è stata scritta per il widget web-...
Smettere di rinnovare il TTL condiviso per gli utenti idle
Questo servizio mantiene la propria copia di KSessionService, e ha slid il TTL su ogni lettura. Ottenere SecurityService da solo quindi non ha risolto nulla: ka...
Fail un carico morto in pochi minuti invece di tenerlo per un'ora
connessioneUploadTimeout è il SILENCE tollerato tra le letture, non un bilancio per il Tutto il trasferimento. L'installazione a un'ora per 'match Traefik' conf...
Smettere il timeout di connessione di Tomcat 60s uccidendo un lungo caricamento
Un 2 GiB chat allegato fallito dopo quasi quattro minuti di trasferimento di successo con MultipartException che avvolge un nudo SocketTimeoutException, e il me...
Nominare il vero dialetto di Cockroach, e rapporto agente eleggibilità onestamente
Cattura OptimisticLockException, il tipo 40001 realmente avvolge come
Correzione della recensione: hibernate-core's*******************************************************************************************************************...
Prendere il tipo di eccezione il conflitto di rivendicazione lancia in realtà
Correzione di revisione rotonda 2: il livello di dichiarazione 40001 (il caso comune, rilevato all'interno esegui Aggiorna() piuttosto che a commit) superfici c...
Ritorno 409 su ogni gara di rivendicazione persa, aggiungere percorso di reclamo manager
La revisione del round 1 fissa il punto finale del reclamo di accettazione-popup: - una razza perduta ordinaria (il perdente èClaimableBy già falso post-commit)...
Scansiona i repository di posta elettronica DepartmentService ora ha bisogno
MediaService CrashLooped su ogni capsula da condiviso-lib 1.5.0: DepartmentService è un @Service, quindi il jolly @ComponentScan("com.kamo") lo costruisce qui s...
Accettare il filtro del provider timeline come param ripetuti
Il client web ha inviato ?providers=facebook,x come un valore CSV. Una virgola in una query VALUE deve viaggiare in %2C, e un hop che re-encodes trasforma quell...
Invia email di messaggio mancato all'account utente, non la casella di posta org
L'avviso esisteva per dire "hai un messaggio in attesa, firma e leggerlo", ed era consegnato alla casella di posta questa organizzazione ha assegnato il membro ...
Dare ad ogni agente un distintivo vivo invece di un proprietario un conteggio non letto
Il distintivo nav e /support?tab=tickets ha risposto a diverse domande. La pagina elenca ogni biglietto nell'org; il badge ha contato messaggi di chat non letti...
Gettare client SEND per gli argomenti sorvegliati, e riparare la costruzione a HEAD
TWO THINGS, entrambi di cui fermare MediaService principale dalla spedizione. 1. principale non compila. MediaController: 1361 chiamate Che non esiste. Il meto...
Annunciare un messaggio una volta, quando è tutto
Entrambe le chiamate che terminano la costruzione di un messaggio dopo la riga vengono salvate ora dicono createMessage non annunciarlo: MediaController allega ...
Memorizzare gli allegati attraverso la pipeline dedup invece di un oggetto per upload
Attachments ha scritto il proprio oggetto "imgId>/ <fileName>" su ogni upload, bypassando il content-addressed store interamente — lo stesso logo-draft.png atta...
Scansione dei repository MFA condivisi
MfaEnrollmentService è un @Service in kamo-shared-library, quindi la wildcard @ComponentScan("com.kamo") in questa applicazione lo costruisce se questo servizio...
Harden il kubectl download contro l'egresso sfacciato [skip ci]
dl.k8s.io sopra l'ingresso del corridore cade in modo intermittente metà del trasferimento: curl: (56) OpenSSL SSL read: decryption fail or bad record mac che f...
Montare il cert live per-host invece del segreto jolly scaduto
Il contenitore init cert-converter ha costruito il suo tastiere PKCS12 da wildcard-kamocrm-com, un segreto multi-SAN legacy che cert-manager orfano quando il su...
Rifiutare gli agenti di vendita cross-org; ampliare la cache boottrap bus
venditeAgentId è stato perseverato dal corpo di richiesta incontrollato, quindi un cross-org o agente abbagliante id potrebbe essere memorizzato su una WebChatI...
Escludere i membri non ACTIVE dalla partecipazione alla chat & routing
Un membro non attivo deve apparire come un membro o essere mirato come, un partecipante live chat. Porta ogni percorso di chat sul condiviso-lib E' il momento g...
Creare WebChatIntegration() @Transactional (nessuna chiave orfana sul guasto dell'integrazione-salvata)
Risolvere membro del sistema pubblico-chat per-org (drop hardcoded snadjafinia alias)
creareSupportSession, crearePublicTicket, e la notifica del proprietario aiutanti tutti hanno risolto il "membro del sistema" dell'org tramite un codice nome ut...
Smettere di mettere i contenuti dei messaggi nelle e-mail di messaggio mancato
Rimuovere il messaggioPreview computation, il libro principale PREVIEW scrivere, e il messaggioAnteprima variabile del modello; rilasciare la preferenza include...
Persist bandiere di pollice programmate-materiale tramite aggiornamento mirato
Stesso indipendente-entity orfanoRemoval problema come il canale di conversione: la spazzata senza testa ha tenuto un ImgDat staccato e salvare()/merge() cascad...
Caricamento di registrazione in corso di elaborazione MediaService
MinIOStorageService.upload lancia un'eccezione controllata che ingerisce() nè catturato o dichiarato — costruire la rottura sulla parte superiore della isGuest ...
MeetingParticipant.isGuest() (è stato ottenutoGuest, non compila); ridefinisce il trascritto al generico endpoint
MeetingParticipant espone èGuest() (ottenimento booleano primitivo), non ottenereGuest(). Indirizzi anche la chiamata di trascrizione sommaria al /api/conversio...
Persist ha invitato i partecipanti, far rispettare MANAGE MEET SETTINGS, drop double-invite path
- createMeeting: i membri invitati sono numerici ID fiocchi di neve, non stringhe UUID — li instrada attraverso lungoToUID come il creatore. Precedente UUID. Fr...
Utilizzare il servizio MinIO cluster DNS; drop deprecated WireGuard/CGNAT IPs e k2m1/k0m1 in pensione
Pubblicare NATS CREATE evento dopo la transazione si impegna a risolvere la gara di allegato immagine
Il messaggio NATS è stato pubblicato all'interno del corpo @Transactional, che significava i destinatari potrebbero ricevere l'evento CREATE e richiedere l'imma...
Serialize attachments in WS relay and message history; allow attachment-only sends
Three bugs fixed: 1. ChatSessionSubscriptionManager was building the STOMP messageMap manually and omitting attachments, sourceLanguageId, readMemberId, msg...
Fix NPE in getChatSessions from Map.of() rejecting null nextcoder
java.util.Map.of() throws NullPointerException when nextcoder is null (no more pages). Replace with HashMap that accepts null values. Also wrap entire handler i...
Fix upload 500 (missing EmbRecordState) and empty chats tab (Timestamp cast)
Defect A: ChatAttachmentService.upload omitted **************** causing a NOT NULL violation on imgs.is_active. Added the default recordState. Also hardened Cha...
Prefer usernameAlias over User.name in memberDisplayName
Switches display name priority to: Member.usernameAlias → User.name → User.alias → User.username. Also includes the paged query dispatch fix from the previous c...
Use split First/After queries for chat sessions paged endpoint
Addresses empty Chats tab by dispatching to ****************
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.