Rezolvați găleată subdomeniu-tenant org în propriul dosar MinIO
getThemePath () reducea numele gazdei la maxim+tld pentru ambele tematici gazdă și dosarul găleată, astfel chiriași subdomeniu ca Gnosia.demo.kamocrm.com încărc...
Traseu de picker NavTop prin /me/limbă
Culegatorul numit membru generic PUT, care SystemUserGuard 403s pentru utilizatorul sistemului a semnat într-un sub-org. Captura conectat în tăcere, astfel încâ...
Adaugă/me/limbă care ocolește SystemUserGuard
Culegatorul de limbi NavTop nu a făcut nimic pentru Utilizatorul Sistemului semnat într-o Sub-org: Put ***************** ruleaza SystemUserGuard primul, care 40...
Rezolvați găleată subdomeniu-tenant org în propriul dosar MinIO
getThemePath () reducea numele gazdei la apex+tld (mainDomain.tld) pentru Atât gazda tematice și dosarul găleată. Pentru chiriași subdomeniu ca Gnosia.demo.kamo...
Nu mai tăia intrările de culoare dark-variant în ModernColorGroup
Rânduri de cules culori a avut un ambalaj hardcoded 280px într-o grilă 1fr 1fr cu Deversare:ascuns, astfel încât intrarea a fost tocat pe coloane înguste. Folos...
Tratează cotorul de abonament aruncat ca ne-subscripție, nu eroare
Moștenirea a luaCurrentAbonare ciot aruncă de proiectare astfel încât apelanții cad înapoi la calea învechită. StatsManager a ieşit la suprafaţă. "Nu pot încărc...
Returnează contoarele goale în loc de nul de la getCurrentUsage
StatsManager redat <UtilizareMeters={null}> atunci când ciot moștenire rezolvat la nul, crashing pe utilizarea.metri. Întoarcere { metri: [] ] astfel încât comp...
Poartă secțiunea mea diapozitiv-out cont pe CONFIGURE SISTEM
Ascunde meniul "Contul meu" de la membrii cărora le lipseşte CONFIGURE SISTEM nu văd link-uri (Stats & Costs, Apps & Features, Sucursale types; Automatizare Str...
Proprietarii autodirecționați de copii-org către org-ul lor autorizat
Atunci când /setări / sarcini cont pentru un utilizator care nu are CONFIGURE SISTEM pe org curent, comportamentul anterior a fost o redirecționare silențioasă ...
Utilizați FQDN complet, nu eTLD+1, atunci când aduceți org după domeniu
registrableDomainFromAlias benzi orice subdomeniu multi-etichetă (ex. "gnosia.demo.kamocrm.com") până la eTLD+1 ("kamocrm.com"). Asta a fost. fin pentru baza AP...
Păstrați FQDN complet pentru subdomenii mai adânc decât două etichete
organiza by root() extragea doar prima etichetă și ultimele două etichete din fiecare nume de gazdă Traefik-logged. Pentru cazul comun pe două niveluri (login.b...
Niciodata sa nu porti subdomenii detinute de Kamo pe proprietatea TXT
Orgi pentru copii care au ales un alias Kamo web (de exemplu, gnosia.demo.kamocrm.com) au fost obtinerea "TXT înregistrare găsit dar codul de verificare nu se p...
Nu afișa supraplaja globală de încărcare pentru formularele manipulate de clienți
Ascultătorul de la NavigationInterceptor a tratat orice formă a cărei forma.acţiune a fost adevăr şi metodă=get ca o navigare, şi numit setLoading(true) on the ...
Acordă proprietarilor de org la nivel înalt eliminarea/actualizarea accesului
ștergeDomeniu și actualizareDomeniu respins anterior administratori platforme care funcționează pe domenii pentru copii-org, deoarece au verificat esteUserOwner...
Permite ștergerea per-org *.kamocrm.com subdomenii
FinalsWith(".kamocrm.com") garda blocat fiecare org demo conversia subdomeniului platformei sale (de exemplu, gmosia.demo.kamocrm.com) pentru domeniu personaliz...
Reclamă noul IP public 47.181.8.83 pentru medii externe
JVB-k1m1 a fost publicitate 75.83.113.11 și coturn a fost publicitate Node lui LAN IP prin statut.hostIP că WAN public este 47.181.8.83.
Admin drepturi esențiale + roluri de reînsămânțare la editare șablon
Acum refuză. să persevereze o setare NUKE sau FORCE NUKE pe oricare dintre ADMINITRATOR drepturile administrative esențiale ale modelului (CONFIGURE SISTEM, MAN...
Propaganda copil-org-creator admin statutul de membru părinte-org
Atunci când un utilizator creează un copil org ei devin proprietarul său + admin (vi Nu-ţi face griji. Membrii lor părinte-org, Cu toate acestea, este orice a f...
Înfăşuraţi bara de unelte şi micşoraţi căutarea/data, astfel încât noul eveniment rămâne pe pagină
Bara de unelte ambalată prea mult conţinut fix într-un singur ambalaj flex rând; cu zona principală părinte setat pentru a deborda: ascuns, dreapta secțiunea (N...
Citește *** de la maestru după sesiune de reîmprospătare pentru a evita lag replica
Fixarea anterioară a avut /api/user-info call /api/security/session/refresh înainte de a citi Redis, dar citire a trecut prin cititKsem JsonFromRediswithretry c...
Track tab după nume + reîmprospătare sesiune înainte de a citi utilizator-info
Două bug-uri de navigare legate care se manifestă atât ca "fila greșită deschide": 1. SetăriView urmărit fila activă de *index*. copiiArray poate se recompune ...
Înlocuiți eredoc cu ecouri grupate astfel încât YAML literal bloc parses
Corpul/etc/odbc.ini eredoc a stat la coloana 1, care s-a desprins din în jurul startup.sh: din ConfigMap. Comută la grupuri de echo Fiecare linie rămâne în int...
Urmați remontări rclone prin propagarea montantului HostTo Container
Fără propagarea sclavilor, capsula capturează muntele FUSE. Pornirea containerului; dacă rclone-month. service restartează pe gazdă, pod Continuă să arate spre ...
Fila Docs Gate on view DOCUMENTS / MANAGE DOCS SETTINGS
Oglinzile e-mail + telefon file porti. Un membru fără OWER DOCUMENTS (de bază acces la nivel de utilizator) și fără MANAGE DOCS SETTINGS (admin) nu mai vede Doc...
Email poarta + File telefonice privind drepturile, VOIP poarta de configurare editare, sesiune periodică de reîmprospătare
Adăugați lipsa de dreptul de purtare astfel încât un membru de bază fără access MAIL / ACCES VOIP nu mai pot vedea filele Email & Mailbox sau Setări telefonice ...
Aliniază câmpurile de tip/nume/TTL prin mutarea indiciilor TTL către un tip de instrument
Câmpul TTL l-a făcut să folosească 1 oră dacă registratorul arată o dropdown" indiciu ca un punct de mai jos de intrare. Acea coloană s-a încheiat. mai înalt de...
Cardul SSL încetează să pretindă că înregistrările sunt verificate înaintea lor
Cardul SSL a avut două state (în total / complet) astfel încât "Install" copie ("Toate înregistrările necesare sunt verificate, suntem instalarea certificatului...
Eliminați decalajul antet, desface subdomenii, picatura registrator
- Mutare DnsProvisioning Panou în interiorul DnsSetupStudio astfel gol px:4 pt:3 folie în jurul ei (care a creat o bandă de spațiu alb deasupra eroului atunci c...
Teren pe /setup /dns părinte după org crea
Vrăjitorul a redirecţionat creatorul către Nu-ţi face griji. imediat după ce POST /api/security/org a revenit. Domeniul noii orgi nu are DNS încă, astfel încât ...
Drop CountryTypeConverter din EmbAddress. country
Convertorul scrie numele enum (de exemplu, "UNITED STATES") ca un String, dar fiecare masă înglobând EmbAddress (orguri, utilizatori, membri, user adreses, acco...
Afișați numai Pasul expresiei de recuperare a contului sub 13 ani
De ce: 13+ utilizatorii oferă deja e-mail, telefon, și întrebări de securitate ca metode de recuperare, ceea ce face fraza de semințe pas redundant pentru ei. S...
Scalează la 2 replici pentru a absorbi sincronizarea + traficul pe timp de rulare
O singură replică este blockneck pentru fluxul de lucru sincronizare dicționar: fiecare muncitor de gunicorn se ocupa de o cerere apoi porneste automat (~5-10s ...
Bump LibreTranslate per-call timeout to 90s; păstrați un singur-tradus înapoi-compat
Două follow-up-uri la retry/failedKeys schimbare: 1. Cererea de apel a durat 30 de ani. Producţia are apelanţi în timp util (chat, notificări etc.) lovind acel...
Erorile tranzitorii și cheile eșuate ale suprafeței (nu falsificați trecerea)
Două moduri de eșec au fost imposibil de distins în răspuns, astfel încât scenariul nu le-a putut spune în afară și a păstrat "traduce" aceleași chei pentru lim...
Alias zh -> zh-Hans so en->zh de fapt traduce
Obiectivul final al libreTraducerii /limbile face publicitate chinezilor sub coduri specifice regiunii "zh-Hans" și "zh-Hant" (niciodată goale "zh"), chiar dacă...
Păstrați numele original și tipul de conținut la descărcarea atașamentului
Criteriile de evaluare (ambele personale) și controlorii de căsuță poștală comună) emiteau conținut-Dispoziție: atașament fără parametru de nume de fișier și ti...
Imagini de linie rupte, descărcări de atașament, și pâlpâire pană de vizualizare
- Strip <img> with cid: src in the e-mail sanitizer so incorporated images don't reda ca o pâlpâire rupt-imagine pictogramă, și ascunde imagini care nu reușesc ...
Condu ţinte susţinute din /limbile, nu lista vechi
Sw/ta/etc. au fost sprijinite, dar nu există pachete de argouri publice pentru acestea, astfel încât fiecare en->sw / en->ta cerere de traducere lovit pod libre...
Drop de nerecunoscut - muncitorii arg care cauzează crashiploop
Libretranslate CLI nu acceptă -- muncitori, doar gunicorn Procesul din interiorul ei o face. Trecerea a cauzat pod să nu argparse pe boot și CrashLoopBackOff (1...
Publish NATS CREATE eveniment după tranzacție se angajează să stabilească cursa de atașament imagine
Mesajul NATS a fost publicat în interiorul corpului @Transacţional, ceea ce a însemnat beneficiarii ar putea primi evenimentul CREATE și solicita imaginea prin ...
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 ****************
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.