나이와 ATF에 대한 명예 보안 모델
API의 Parse boolean 준수 리터. 시대의 드롭다운을 구축 정상화 된 화이트리스트 토큰과 숫자 AgeReq ids; 전체보기를 피하십시오 모델 목록은 알 수없는 토큰 만 나열합니다. 콘텐츠 플래그를 숨기기 알코올 / 담배 / 화재가 적용 된 모델에 의해 고정됩니다. 문 읽기 ...
정확한 적용 모델 소스 및 API에서 규정 준수
대신 BRANCH TYPE 대 MASTER에 대한 해결자 해상도 사용 BranchTypeID 혼자. 적용 모델에 FALSE/TRUE 준수 리터럴을 정상화 JSON 설정.
적용된 모형 근원 해결책 및 수락 정책 정상화
Expose resolveAppliedModelWithSource 그래서 호출자는 활성 모델인지 알고 지점 유형 또는 마스터 fallback에서 왔습니다. 지도 FALSE/TRUE/0/1 수락 NOT ALLOWED/ALLOWED는 아이 org 보안 모델에 대해.
Cache-bust 테마 CSS 및 자산을 통해 ThemeRevision
No-store를 가진 Fetch config; globals.css와 favicon URL에 v=themeRevision 추가 그래서 브라우저 드롭 stale은 각 조항 후 테마를 캐시.
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...
이메일 provider domains 기본 설정이 없는 경우 org domains로 돌아가기
KamoMailDomainValidator는 403 의 orgs에 대 한 어려운 실패 org domains의 DNS 인증 도메인은 아니지만 이메일에 추가하지 않습니다. 공급자 도메인 등록. 첫 번째 활성을 사용하는 fallback을 추가하십시오. DNS 인증, 최고 수준의 org dom...
사용 getMemberIdString() NavTop에서 int64 정밀도 손실을 방지하기 위해
getMemberId()는 CockroachDB unique rowid를 JS 번호로 변환합니다. truncating ID > MAX SAFE INTEGER (예 : 1168485658174423046 → ...000). 이미 getMemberIdString()에 대한 모든 NavTop...
도메인 API의 isDefault로 DNS 인증 도메인 표시
*.kamocrm.com subdomains만 표시되어 있으므로 orgs 확인 된 사용자 정의 apex 도메인 (예 : kamocrm.com) 항상 defaultDomain=null과 사서함 만들기에서 차단되었습니다.
Avatar UUID 문자열을 회원 PUT로 전송, parseInt하지
Avatar ID는 UUIDs입니다. ParseInt는 NaN 또는 truncated 값을 생성하므로 회원 avatar 업데이트는 새로 고침 후 건너 뛰거나 잘못되었습니다. 문자열 ID 사용 업로드, 아바타 크리에이터, 회원 탭 저장, 계정 탭 선택.
사용자가 org 소유자 TeamMember 인 경우 브랜드 허용
테마 제공 및 로고 / 배경 만 확인 된 조직. 이름 * FK; app UI는 TeamMember.isOrganizationOwner로 조직 소유자를 대우합니다, 다른 것. 둘 다를 가진 Align 허가는, 새로운 형태를 올려서 좋습니다 프로퍼런스.
Avatar 행을 삭제하기 전에 사용자 및 회원 FKs를 취소
Avatar를 삭제하면 여전히 활성 사용자 avatar 또는 회원 별 override가되었을 때 DB constraint로 실패했습니다. 이는 사용자가 stale 레코드를 제거 할 수 없었던 끊긴 MinIO blobs를 일치시킵니다.
HTTP 오류를 처리하고 UI를 재설정
Await POST /provision-theme 후 브랜드 및 배경 저장; 비-202 API 오류를 표시하고 패널을 삭제합니다. 회사소개 배경은 이렇게 websocket 국가는 브랜딩 같이 재시동합니다.
엄격한 DNS 검증 없이 테마 폴더 호스트를 해결
필요한 테마 제공은 모든 도메인에 대해 인증, 그래서 orgs 만 사용 기본 kamocrm.com subdomain 결코 동기화 작업을 시작하지 (400, STOMP). 어떤 활성 도메인으로 돌아 가기, 다음 {alias}.kamocrm.com.
잃어버린 진행을 방지하기 위해 POST 전에 STOMP를 연결
WebSocket은 진정한 규정이 될 때만 시작되었습니다. 같은 차례로 화재; 동기화 백엔드는 STOMP 구독하기 전에 게시 할 수 있습니다. org id가 알려져있을 때 연결; 실행이 UI를 재설정 할 때 범 세션 카운터.
Core NATS의 릴레이 테마 제공
Match SecurityService 핵심 출판 : Dispatcher와 구독 security.theme.provision.* 대신 JetStream (스트림은 채팅을 포함).
Core NATS의 테마 제공 진행
JetStream CHAT MESSAGES 스트림은 채팅을 위해 구성된다.> 단지, 그래서 게시 to **************** 스트림 검증 및 UI 보기 계속. Connection.publish를 사용하여 SupportNotificationService.
보안 org API 및 테마 WS에 대한 문자열 org ID 사용
getOrgId() coerced orgID 와 Number(), corrupting int64 Cockroach ID 에 /api/security/org/{id}/* URL(404/failed save). getOrgIdString 추가(), LabelManager에서 사용 하 고 문...
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 프록시는 콘텐츠 협상 실패를 유발할 수 없습니다.
JSON Content-Type 및 표면 스프링 오류 필드를 정상화
JSON proxy body를 위한 단일 application/json header를 강제하십시오; org 노선은 항상 그것을 놓으십시오. Map 문제 Details title/detail in createOrganization errors.