필수 DNS CNAME aliases에서 드롭 메일
KnownAliases에서 메일을 제거하여 더 이상 확인 및 삭제 mail.example.com을 요구하십시오; 새로운 사용자 정의 도메인은 또한 자동 조정을 건너 뛸 메일 아이 alias.
정확한 적용 모델 소스 및 API에서 규정 준수
대신 BRANCH TYPE 대 MASTER에 대한 해결자 해상도 사용 BranchTypeID 혼자. 적용 모델에 FALSE/TRUE 준수 리터럴을 정상화 JSON 설정.
Cleanup 전에 globals.css를 쓰십시오; cleanup async를 실행하십시오
Reorder 프로비저닝 그래서 writeConfigFiles (컬러, 구성, 표시) 실행 배경 파일 정리 전에. 신선한 색상의 DB에서 Reload org. 완료 후 CompletableFuture에서 cleanupExtraBackgrounds를 실행하십시오. 느리거나 붙어있는 Mi...
MinIO Globals.css에 대한 org 색상 적용
DB의 재로드 조직은 동기화 규정의 시작 부분에 writeConfigFiles는 PATCH /colors (컨트롤러 스냅샷에 의해 저장된 색상을 볼 수 있습니다. stale일 수 있었습니다. Null-safe 이차 팔레트; hex 교체 일치 MinIO CSS의 3- 및 6 자리 값; r...
도메인 API의 isDefault로 DNS 인증 도메인 표시
*.kamocrm.com subdomains만 표시되어 있으므로 orgs 확인 된 사용자 정의 apex 도메인 (예 : kamocrm.com) 항상 defaultDomain=null과 사서함 만들기에서 차단되었습니다.
사용자가 org 소유자 TeamMember 인 경우 브랜드 허용
테마 제공 및 로고 / 배경 만 확인 된 조직. 이름 * FK; app UI는 TeamMember.isOrganizationOwner로 조직 소유자를 대우합니다, 다른 것. 둘 다를 가진 Align 허가는, 새로운 형태를 올려서 좋습니다 프로퍼런스.
Avatar 행을 삭제하기 전에 사용자 및 회원 FKs를 취소
Avatar를 삭제하면 여전히 활성 사용자 avatar 또는 회원 별 override가되었을 때 DB constraint로 실패했습니다. 이는 사용자가 stale 레코드를 제거 할 수 없었던 끊긴 MinIO blobs를 일치시킵니다.
엄격한 DNS 검증 없이 테마 폴더 호스트를 해결
필요한 테마 제공은 모든 도메인에 대해 인증, 그래서 orgs 만 사용 기본 kamocrm.com subdomain 결코 동기화 작업을 시작하지 (400, STOMP). 어떤 활성 도메인으로 돌아 가기, 다음 {alias}.kamocrm.com.
Core NATS의 테마 제공 진행
JetStream CHAT MESSAGES 스트림은 채팅을 위해 구성된다.> 단지, 그래서 게시 to **************** 스트림 검증 및 UI 보기 계속. Connection.publish를 사용하여 SupportNotificationService.
Set EmbRecordState.isActive on wizard create-org so orgs.is active is not null
CreateOrganization에 create-org body 를 분산 법인 JsonIdentity를 방지하기 위해 Payload 정보 실패
@RequestBody없이 Parse create-org JSON
Spring Return Unsupported Media Type when Content-Type이 누락되거나 @RequestBody에 허용됩니다. 바이트를 읽고 대신 ObjectMapper를 사용하십시오. APIService/Next 프록시는 콘텐츠 협상 실패를 유발할 수 없습니다.
회원 종료에 대한 목록 또는 레거시 CSV로 세션 권한 읽기
KSessionService and SecurityRoleController 매장 권리 목록<String> RoleRightType 이름. MemberSecurityController는 문자열로 던져서 분할합니다. comma, ClassCast회원 유형 및 회원 액세스 PATCH에 대한...
Verify-dns는 모든 KnownAliases 상표를 검사합니다; 선택에서 deprecated app/media를 건너십시오
DDL 및 harden 멀티 포드 경주를 방지
@Transactional syncAll() 내부 DDL을 넣는다. 알터 때 TABLE ADD CONSTRAINT는 기존의 제약 (일반적인 경우 후 첫 번째 부팅, 또는 멀티 포드 경주에서 파를 잃는), runIdempotent는 Java를 삼키 예외 — 하지만 주변 DB 거래는 낙태 ...
AppAvailability의 getOrganizationByIdWithFeatures 사용 회사연혁
/api/security/leads 및 모든 것에 LazyInitializationException을 해결합니다. 다른 CRM/POS-gated 경로. org.getFeatures()라는 인터셉터 거래 종료 후; 새로운 방법 eagerly fetches 기능 읽기 전용 거래 안쪽에 단일...
Resolve 회원 탭은 Hibernate TYPE() Base-class 문제로 비어 있는 것
Hibernate's TYPE(m) = :type JPQL 필터가 0 결과를 반환합니다. 매개 변수는 기본 회원 클래스 (JOINED 상속)입니다. 이 영향을 회원 구독 종료. findByOrganizationId() +로 교체 exampleof TeamMember filter in J...
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')...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
