Risolvere il secchio di org subdominio nella propria cartella MinIO
getThemePath() stava riducendo il nome host ad apex+tld per entrambi il tema ospite e la cartella del secchio, così subdomini inquilini come gnosia.demo.kamocrm...
Route NavTop picker attraverso /me /lingua
Il raccoglitore ha chiamato il membro generico PUT, che SystemUserGuard 403s per l'Utente del sistema ha firmato in un sotto-org. La cattura si è registrata sil...
Aggiungi /me /language endpoint che bypassa SystemUserGuard
Il raccoglitore di lingua NavTop non ha fatto nulla per l'utente di sistema firmato in un PUT, *****************************************************************...
Risolvere il secchio di org subdominio nella propria cartella MinIO
getThemePath() stava riducendo il nome host apex+tld (mainDomain.tld) per sia l'host a tema e la cartella del secchio. Per gli inquilini sottodomini come gnosia...
Stop clipping ingressi di colore scuro-variante in ModernColorGroup
Le righe del raccoglitore di colore avevano un wrapper 280px codificato duro all'interno di una griglia 1fr 1fr con overflow: nascosto, quindi l'ingresso è stat...
Trattare la stub dell'abbonamento come no-iscrizione, non errore
L'eredità getCurrentSubscription stub getta dal design in modo da callers cadere di nuovo al percorso non assegnato. StatsManager stava navigando il lancio come...
Ritorno metri vuoti invece di nullo da getCurrentUsage
StatsManager ha reso <UsageMeters uso={null}> quando l'eredità stub risolto a null, schiantarsi su use.meters. Ritorno { metri: [] } così il componente prende i...
Gate La sezione di scorrimento del mio account su CONFIGURE SYSTEM
Nascondi il menu "Il mio account" dai membri che non hanno CONFIGURE SYSTEM così non vedono link (Stats & Costs, Apps & Features, Tipi di ramo, Automation Strea...
Auto-route proprietari di baby-org al loro org consentito
Quando /settings/carico account per un utente che non ha CONFIGURE SYSTEM sul attuale org, il comportamento precedente era un redirect silenzioso a /settings — ...
Utilizzare FQDN completo, non eTLD+1, quando si cattura org per dominio
registrableDomainFromAlias strisce qualsiasi subdominio multi-label (ad es. "gnosia.demo.kamocrm.com") fino al suo eTLD+1 ("kamocrm.com"). Quello era fine per l...
Conservare FQDN completo per sottodomini più profondi di due etichette
organizzato by root() estraeva solo la prima etichetta e le ultime due etichette di ogni nome host traefik. Per il caso comune a due livelli (login.b11capital.c...
Mai cancello subdomini di proprietà di Kamo sulla proprietà di TXT
Bambini che hanno scelto un alias web Kamo (ad esempio gnosia.demo.kamocrm.com) stavano ottenendo "TXT record trovato ma il codice di verifica non corrisponde" ...
Non mostrare sovrapposizione di carico globale per moduli gestiti dal cliente
L'ascoltatore inviato di NavigationInterceptor ha trattato qualsiasi forma il cui form.action era veritiero e metodo=get come navigazione, e chiamato setLoading...
Concedi ai proprietari di org di livello superiore cross-org delete/update access
deleteDomain e updateDomain precedentemente respinto gli amministratori della piattaforma funzionamento su domini di baby-org perché hanno controllato èUserOwne...
Consentire di cancellare per-org *.kamocrm.com sottodomini
La guardia endWith('kamocrm.com") ha bloccato ogni org demo da scambiando il suo subdominio della piattaforma (ad esempio gmosia.demo.kamocrm.com) per un domini...
Pubblico IP 47.181.8.83 per i media esterni
JVB-k1m1 stava pubblicizzando 75.83.113.11 e coturn stava pubblicizzando node's LAN IP via status.hostIP — entrambi rotto esterno WebRTC media ora che il pubbli...
Protezione dei diritti amministrativi + ruoli rivestiti sulla modifica dei modelli
Ora rifiuta. per persistere nell'impostazione NUKE o FORCE NUKE su uno qualsiasi degli ADMINISTRATOR diritti amministrativi del modello (CONFIGURE SYSTEM, MANAG...
Propagate lo stato dell'amministratore del creatore del bambino per l'appartenenza a genitore-org
Quando un utente crea un bambino org diventa il suo proprietario + amministratore (via E' il momento giusto. La loro adesione a PARENT-org, Tuttavia, è tutto ci...
Avvolgere la barra degli strumenti e ridurre la ricerca / data in modo nuovo evento rimane sulla pagina
Barra degli strumenti ha imballato troppo contenuto di larghezza fissa in un unico non-wrapping riga flex; con l'area principale del genitore impostata per over...
Leggi *** da master dopo aggiornamento sessione per evitare replica lag
La correzione precedente aveva /api/user-info chiamata /api/security/session/refresh prima di leggere Redis, ma la lettura è passata attraverso readKsemJsonFrom...
Tenere traccia scheda per nome + sessione di aggiornamento prima di leggere user-info
Due bug di navigazione correlati che entrambi manifestano come "la scheda sbagliata si apre": 1. ImpostazioniVisualizza la scheda attiva di *index*. childrenAr...
Sostituisci quidoc con eco raggruppati in modo da YAML parses blocco letterale
Il corpo /etc/odbc.ini heredoc si è seduto alla colonna 1, che ha detenuto fuori dalla start-up.sh circostante: | literal-block scalar e rotto `kubectl applicar...
Seguire i rimontaggi rclone tramite la propagazione del supporto HostToContainer
Senza la propagazione degli schiavi il baccello cattura il supporto FUSE una volta al avvio contenitore; se rclone-mount. servizio riavvia sull'host, la capsula...
Porta Docs scheda su VIEW DOCUMENTS / MANAGE DOCS SETTINGS
Specchi la posta elettronica + il telefono cancelli scheda. Un membro senza VIEW DOCUMENTS (basic accesso a livello utente) e senza MANAGE DOCS SETTINGS (admin)...
Email Gate + Schede telefoniche sui diritti, gate VOIP config edit, sessione periodica aggiornamento
Aggiunge il diritto mancante in modo da un membro di base senza ACCESS MAIL / ACCESS VOIP non può più vedere le schede Email & Mailbox o Phone Settings da sole ...
Allineare i campi di tipo/nome/TTL spostando l'indicazione TTL a un tooltip
Il campo TTL ha reso il suo 'uso 1 ora se il registrar mostra un l'indicazione a discesa come un paragrafo sotto l'ingresso. Quella colonna è finita più alto di...
La carta SSL smette di rivendicare i record sono verificati prima che siano
La scheda SSL aveva due stati (installazione / completa) in modo che la "installazione" copia ("Tutti i record richiesti sono verificati, siamo installare il ce...
Rimuovi il gap dell'intestazione, ungate subdomains, drop registrar picker
- Spostare DnsProvisioning Pannello interno DnsSetupStudio così il vuoto px:4 pt:3 wrapper intorno a esso (che ha creato una banda di biancospazio sopra l'eroe ...
Terreno sul genitore /setup/dns dopo org creare
Il mago in precedenza ha reindirizzato il creatore a E' il momento giusto. subito dopo POST /api/security/org restituito. Il dominio del nuovo org non ha ancora...
Drop CountryTypeConverter da EmbAddress.country
Il convertitore scrive il nome enum (ad esempio "UNITED STATES") come String, ma ogni tabella che incorpora Embedding Address (orgs, utenti, membri, user addres...
Mostra solo la frase del seme di recupero del conto passo per under-13
Perché: 13+ utenti già forniscono e-mail, telefono e domande di sicurezza come metodi di recupero, rendendo la frase di seme ridondante per loro. I conti inferi...
Scala a 2 repliche per assorbire il traffico di sincronizzazione + runtime
Una singola replica è il collo di bottiglia per il flusso di lavoro di sincronizzazione del dizionario: ogni operaio di gunicorn gestisce una richiesta poi auto...
Bump LibreTranslate per-call timeout fino a 90s; mantenere il singolo traslato retrocompat
Due follow-up per il ritry/failedKeys cambiano: 1. Per-call richiesta timeout era 30s. La produzione ha calli runtime (chat, notifiche, ecc.) colpendo lo stess...
Recuperare gli errori transitori e le chiavi di superficie guasto (non falsi passanti)
Due modalità di guasto sono stati indistinguibili nella risposta, quindi lo script non poteva dir loro a parte e tenuto "tradurre" le stesse chiavi di inglese s...
Alias zh -> zh-Hans così en->zh realmente traduce
LibreTranslate's /languages endpoint pubblicizza cinese sotto il codici specifici della regione "zh-Hans" e "zh-Hant" (mai nudo "zh"), anche se POST /translate ...
Conservare il nome del file originale e il tipo di contenuto sul download dell'allegato
I punti finali (entrambi i punti personali) e controller di posta elettronica condivisa) emettono Contenuto-Disposizione: allegato con nessun parametro nome fil...
Immagini inline rotte, download di allegati e flicker view-pane
- Strip <img> con cid: src nella e-mail sanitizer così immagini incorporate non rendering come un'icona di immagini rotti e nascondere immagini che non riescono...
Guida obiettivi supportati da /languages, non elenco stale
Sono stati supportati i SUPPORTED TARGETS in codice duro, ma sono stati supportati non esistono pacchetti argos pubblici per quelli, quindi ogni en->sw / en->ta...
Goccia non riconosciuta --lavoratori arg causa crashloop
Il libretranslate CLI non accetta --lavoratori, solo il gunicorn processo dentro di esso. Passandolo ha causato il pod a fallire argparse su boot e CrashLoopBac...
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...
Add attachments and event fields to ChatMessageDto; ignore unknown fields
ChatMessageDto was missing `attachments`, `readMemberId`, `msgIdLastViewed`, `dateLastViewed`, `addedMemberId`, `objImgId`, `transitMemberId`, and `isJoin` fiel...
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...
Defects C/D/E — title display name, toolbar layout, header lift
Defect C: Add GET proxy for /sessions/{guid}/members so ChatBox.loadMembers() can populate the SessionMember.name field. ChatTool already uses members[0].name f...
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...
Show upload error toast in Composer when attachments fail
Catches errors thrown by uploadAll() and renders an MUI Alert above the input row. Root cause of Defect 4 was the missing MinIO bucket (imaging-chat-attachments...
Empty Chats tab — frontend already expects {rows} paged shape (no change needed)
The ChatsList component already reads data.rows. Backend fix (shared-lib + MediaService) is the root cause: HAVING CAST(null AS TIMESTAMP) IS NULL did not work ...
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.