Rezolvați modelul aplicat pentru interogarea orgId opțională cu verificarea calității de membru
Sursa corectă a modelului aplicat și normalizarea conformității în API
Utilizaţi rezoluţia soluţionarului pentru BRANCH TYPE vs MASTER în loc de a deduce din Singură. Normalizarea literalelor de conformitate FALSE/TRUE în modelul a...
Model de model general de propagare conformare și reguli de vârstă modelelor de securitate de tip sucursală
Scrie globals.css înainte de curățare; executați cleanup async
Recomandă furnizarea Actualizează astfel scrieConfigFiles (colore, config, manifest) rulează înainte de curăţarea fişierului. Reîncarcă org de la DB pentru culo...
Aplicați culorile org angajate la Globals.css MinIO
Reîncarcă organizația de la DB la începutul furnizării asinc ScrewConfigFiles vede culorile salvate de PATT / culori (captura controlorului ar putea fi vechi). ...
Mark DNS-verificate domenii personalizate ca isDefault în domeniul API
Din episoadele anterioare: cu un domeniu apex personalizat verificat (de exemplu, kamocrm.com) a primit întotdeauna Domain implicit=null și au fost blocate de l...
Permite branding atunci când utilizatorul este proprietarul org TeamMember
Tema de furnizare și logo / background uploads verificat doar Organizația. proprietar FK; aplicația UI tratează proprietarul organizației ca TeamMember.isOrgani...
Clear user and member FKs before stergere avatar row
Eliminarea unui avatar a eșuat cu o constrângere DB atunci când a fost încă avatarul utilizatorului activ sau o suprascriere specifică unui membru, care se potr...
Rezolvați gazda de foldere fără verificare strictă a DNS
Tema furnizarea necesară esteDnsVerified pentru fiecare domeniu, astfel încât orgi folosind numai subdomeniu implicit kamocrm.com nu a început niciodată munca a...
Publică progresul în furnizarea tematicii pe baza NATS
JetStream CHAT Mesages stream este configurat doar pentru chat.>, astfel încât publică Pentru a *************** validarea fluxului a eșuat și IU a văzut Nici un...
Set EmbRecordState.isActive on witch create-org so orgs.is active is not null
Returnează corpul JSON-safe crea-org în loc de entitatea organizaţiei în serie
Parse crea-org cu obiect simplu Mapper și returnați mesajul Jackson pe 400
Parse crea-org JSON prin demontarea domeniului vrăjitor înainte de cartografierea organizației
Parse create-org JSON fără @RequestBody pentru a evita 415
Primăvara returnează tipul de media nesusţinut atunci când tipul de conţinut lipseşte sau nu acceptat pentru @RequestBody. Citiți octeți și utilizați ObjectMapp...
Configurări nule implicite pentru a NU SPECIFICATE la creare/actualizare
Sari peste actualizarea modelului de securitate atunci când se blochează rol de securitate editează
Citiți drepturile sesiunii ca listă sau moștenire CSV pentru obiectivele membre
KSessionService and SecurityRoleController store rights as List<String> of Role RightType names. MemberSecurityController distribuit pe șir și împărțit pe virgu...
Verificați-dns verifică fiecare etichetă cunoscutăAliases; săriți aplicația/media depreciată în opțional
Evitaţi tranzacţiile care otrăvesc DDL şi Harden multi-pod curse
Precedentul auto-vindecare pune DDL într-o sincronizare @TransactionalAll(). Atunci când un ALTER TABELUL ADD CONTRAINT tras asupra unei constrângeri existente ...
Elimină apelurile de tip getType () de la OrganizationController după organizație Eliminarea tipului
Rejudecarea gărzilorTraduceri incomplete împotriva închiderii contextului de primăvară
Utilizați getOrganizationById WithFatures in ApppAvailability Interceptor
Rezolvă LazyInitializare Excepție pe /api/securitate / plumb și toate alte căi CRM/POS. Interceptor numit org.getFeatures () după încheierea tranzacției; noua m...
Rezolvă fila de membri care arată gol din cauza Hibernate TIP () clasa de bază
Tip hibernat (m) =:tip filtru JPQL întoarce 0 rezultate atunci când legat parametrul este clasa de bază a membrilor (moştenirea JOINED). Acest lucru afectează c...
Allow god-mode users to provision ownerless orgs; prefer FQDNs in domain resolution
Add @Transactional to provision-theme for lazy domain loading; remove hardcoded domain from provision request
Add PATCH /org/{id}/colors endpoint to safely update only color palette fields
Use memberID session key and include creatorType in creatable branch-types response
Use correct session key 'memberID' instead of 'MID'
KSessionService stores member ID under key 'memberID' but both **************** and OrganizationController were reading session.get("MID") which always returned...
Exclude master model from models list; add debug log to child-org creation check
SecurityModelController now filters out the org's master model (identified by org.getMasterModelID()) from the /api/security/models response — it is managed exc...
Read session rights as List<String> names, not CSV of integer IDs
Session rights are stored as a JSON array of RoleRightType name strings. Both **************** and OrganizationController were casting them to String (causing C...
Add org-scoping, password length validation, and code quality improvements to PasswordChangeController
Add @Transactional to DataLoader.run to fix LazyInitializationException on startup
Use JPA entity traversal for grant-all detection (covers dept/job roles)
Filter null rights in buildAppliedRightsWithSources; upgrade shared-lib to 1.5.0
Use core NATS pub/sub for email-verified SSE fan-out
Replaces in-memory ConcurrentHashMap broadcast with NATS core pub/sub so all pods receive verification events regardless of which pod handled the token. Falls b...
Use avatarType field + JDBC for photo URL generation to handle Hibernate proxies
**************** previously used instanceof AvatarPhoto to determine avatar type and cast to read fileExtension. When Hibernate returns a base-class proxy (e.g....
Populate all EMAIL_VERIFICATION template variables
Was sending only {token, code} — template also needs orgName, firstName, verifyLink, and expiryMinutes. Load org and user to build the full vars map, and resolv...
Use subdomain-aware SQL to match findByDomain JPQL logic
Org domain lookup in resendVerification was doing an exact-match query that failed for subdomains stored as child records (e.g. 'api' with parent 'kamocrm.com')...
Correct EmailService URL port in configmap (4203 -> 80)
EmailService K8s service exposes port 80, not 4203. Verification emails were timing out on every registration attempt.
Bypass JPA org lookup to avoid Hibernate cascade flush error
**************** triggers **************** which causes a Hibernate auto-flush. That flush fails because Organization.features was previously replaced with a pl...
Use getReferenceById to avoid cascade orphanRemoval flush error on registration
Loading Organization via findById inside @Transactional caused Hibernate to detect the features collection was de-referenced during auto-flush, throwing JpaSyst...
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ă.