Avatar UUID 문자열을 회원 PUT로 전송, parseInt하지
Avatar ID는 UUIDs입니다. ParseInt는 NaN 또는 truncated 값을 생성하므로 회원 avatar 업데이트는 새로 고침 후 건너 뛰거나 잘못되었습니다. 문자열 ID 사용 업로드, 아바타 크리에이터, 회원 탭 저장, 계정 탭 선택.
사용자가 org 소유자 TeamMember 인 경우 브랜드 허용
테마 제공 및 로고 / 배경 만 확인 된 조직. 이름 * FK; app UI는 TeamMember.isOrganizationOwner로 조직 소유자를 대우합니다, 다른 것. 둘 다를 가진 Align 허가는, 새로운 형태를 올려서 좋습니다 프로퍼런스.
Avatar cleanup에 대한 *********** 추가
Avatar를 제거 할 때 사용하는 회원은 같은 행을 삭제하기 전에 명확하게 할 수 있습니다.
Avatar 행을 삭제하기 전에 사용자 및 회원 FKs를 취소
Avatar를 삭제하면 여전히 활성 사용자 avatar 또는 회원 별 override가되었을 때 DB constraint로 실패했습니다. 이는 사용자가 stale 레코드를 제거 할 수 없었던 끊긴 MinIO blobs를 일치시킵니다.
Org 폴더를 닦지 않고 기본 템플릿
전체 조항 더 이상 복사하기 전에 org 접두사 삭제. 본문 바로가기 public/default overwrites 일치하는 열쇠만; org의 밑에 다른 목표 폴더가 남아 있습니다. 기본 템플릿 소스는 kamocrm-com에서 기본값으로 변경되었습니다.
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 프록시는 콘텐츠 협상 실패를 유발할 수 없습니다.
?fresh=1를 통해 신선한 창조에 명확한 마법사 sessionStorage
네트워크에서 Navigate는 ?fresh=1로 만들고, 조회를 벗고, 사용 Short-lived lock 그래서 React Strict 모드는 이전 초안을 복구하지 않습니다. persist 실행. SessionStorage의 마법사 초안 생활 (localStorage).
JSON Content-Type 및 표면 스프링 오류 필드를 정상화
JSON proxy body를 위한 단일 application/json header를 강제하십시오; org 노선은 항상 그것을 놓으십시오. Map 문제 Details title/detail in createOrganization errors.
SecurityService에 전달된 JSON body용 application/json 설정
업스트림에 restTemplate는 봄과 호환이 되는 Content-Type을 남길 수 있었습니다 @RequestBody, 원인 415. 익지않는 몸을 읽는 후에, 강제 APPLICATION JSON 페이로드가 JSON처럼 보입니다.
Alcohol/tobacco/firearms 준수 정책
- CHILD ORG SECURITY MODELS 열 및 엔티티티티 기본값 MEMBER SELECT - DTO 및 ChildOrgSecurityModelService create/update 정상화 - AppliedModelEnforcementService는 아동 org ATF 플래그 ...
모델 및 creatable 지점 유형에 ATF 준수 정책 노출
- OrganizationController는 연령 증명 전에 모델 시행을 적용합니다. - SecurityModelController 및 MasterModelController 패스 정책 필드 - BranchTypeController는 /branch-types/creatable에 있는 ...
보안 모델 정책의 규정 준수 마법사
- 지점 유형 API지도 알코올 / 담배 / 방화 정책 마법사 상태 - 동적 준수 단계 : 모델이 모든 ATF 및 연령을 고정 할 때 nav에서 omit - MEMBER SELECT 또는 여러 연령 옵션만 제어 - 리뷰는 사용자 만 표시되었습니다.; title Compliance Set...
SecurityService에 프록시 할 때 JSON Content-Type을 보장합니다
조직창출 415 Unsupported Media upstream 때문에 유형 봄은 @RequestBody에 대한 application/json을 기대합니다. 노드 fetch는 omit 또는 string body의 default Content-Type; forwardToApi는 이제 JS...