보안 재생 셀프 포인트링에 대한 공급자; 자기 치유 회원 적용 권리
SecurityProvider-mirror 변경에서 2개의 prod 문제점: 1. Enter-as-System-Member는 "단체의 회원이 없습니다. 모든 어린이 org에 대한 보안 제공 업체. 모든 orgs의 security provider id가 있었다 최고 수준의 KamoCRM...
OAuth 팝업이 닫을 때 새로 고침 공급자 상태
공급자는 이제 api-gateway 콜백 (다른 기원)에 리디렉션, 그래서 postMessage는 opener 근원 체크를 통과하지 않을지도 모릅니다. Re-fetch 실제 공급자 믿을 수 있는 fallback로 닫는 팝업에 상태; 그것은 결코 성공을 가짜.
이메일 OAuth 공급자 콜백을 위한 공개 passthrough
앞으로 GET *********** EmailService 세션에 대한 (strips auth, no redirect following), RingCentral OAuth 콜백 미러링. 이것은 Microsoft/Google/Zoho에 등록된 고정된 공중 리디렉션 URI입니다.
고정 공개 리디렉션 + Gateway-forwarded 콜백
플랫폼 이메일 OAuth (Microsoft 365 / Google / Zoho)는 유효 공개가 없습니다. 리디렉션 URI : 리디렉션은 요청 호스트에서 파생되었습니다. 클러스터 내부 서비스 주소이며, 콜백 핸들러는 POST 전용. 모두에 사용되는 단일 고정, publicly-reach...
변환된 doc, incl native PDF를 위한 e-sign 편집기 PDF
E-sign 편집기 (DocumentEditor → PdfCanvas / PageThumbnailSidebar)가 열다 sig-template Flow를 통해 업로드된 문서만 변환합니다. · 사이트 맵 400'd ("Document는 아닙니다 e-signature Template) 일반...
내 문서는 MY DOCS ordinal (3), enum id를 사용 (4)
Backend는 `values()[assocType]`(ordinal index)를 통해 ImageAssocType을 해결합니다. 그리고 @Enumerated(ORDINAL)를 주장합니다. 각 화상 진찰 표면은 종결을 전달합니다, 그러나 My Docs doc-manager는 enum의 ...
Deduplicated 문서를 변환하기 때문에 e-sign 편집이 활성화됩니다
업로드된 파일의 바이트가 기존 ImgDat와 일치할 때, dedup 경로 (register-existing)는 dat verbatim와 결코 변환을 ran 파이프라인. 재사용되지 않은 dat가 변환되지 않은 경우 (예: 업로드 전 e-sign 변환 기능 존재), 새로운 문서 stayed...
반환 200 모두 unconfigured org 기능을 위한 False
GET /api/voip/capabilities threw ProviderNotConfiguredException (422) 언제 org는 전화 공급자가 없었다, 모든 페이지 부하에 빨간색 콘솔 오류를 기록 전화번호 Capabilities는 자연적인 빈 대답을 가진 순수한 질문입니다, ...
Un-customized nav 및 전화 없는 orgs를 위한 404/422 콘솔 오류를 중지하십시오
초기에 ui-preferences 컬렉션 엔드포인트 (always 200)을 읽으십시오. navLayout 로드 대신 단일 키 GET, 이는 404 회원이 있는 경우 결코 자신의 nav를 사용자 정의 — 일반적인 경우, 모든 페이지 부하에 발사. softphone의 역사/voicema...
Proactively 제공 브라우저 전용 별칭 (media.*)
Log-scan discovery 메커니즘은 `media`alias: it를 부팅 할 수 없습니다. WebSocket/XHR 하위 리소스에 대한 브라우저에 의해서만 연락 (SockJS /ws/info는 softphone/chat/sms/realtime 걸이에서). cert 없이, 브라우...
게이트 리드 연락처 정보 할당 + 새로운 개인 정보 보호 권리
3개의 새로운 CRM 권리를 미러링합니다. 리드 디테일 페이지에서, mask/lock the 주요 연락처, 우편 주소 및 부동산 주소 필드 리드 현재 회원에 할당되지 않는 한 그들은보기/편집을 붙들지 않는 연락처 권리 (및, 할당되지 않는 리드, VIEW UNASSIGNED LEADS)...
Enforce Lead contact-info 개인 정보 보호 정책
getAllLeads는 이제 린 LeadListDTO를 반환하고 지정된 리드를 숨깁니다. VIEW UNASSIGNED LEADS. getLeadById 마스크 연락처 정보 (보장된 상태)는 콜러에 할당되지 않습니다. VIEW LEAD CONTACT INFO OTHERS 및 403s는 그...
연락처 정보 개인 정보 보호 권리 + 린 목록 DTO
세 개의 CRM 권한 추가 (161-163): "다른 사람에게 지원: View/Edit Lead 연락처 정보 및 "보기 할당 된 리드". LeadListDTO에 추가하기 — a lean /leads 그리드에 대한 프로젝트는 연락처 정보를 제외하고 국가 분야. Add ***********...
Interpret lock LAST EDIT AT epoch-millis 만료시 UTC로
dbNow() 이제 DB-UTC wall-clock (지금()::timestamp)를 반환하므로 절대 복구 JVM 기본 영역 대신 toInstant(UTC)로 즉시 - 브라우저 유지 pod timezone에 관계없이 카운트다운 수정.
DbNow() 지금 던지기()->::timestamp (TIMESTAMPTZ->Instant broke LocalDateTime)
SELECT now()는 TIMESTAMPTZ를 반환합니다. 이름 * 그리고 선언 된 LocalDateTime 반환 유형에 캐스팅 할 수 없습니다 — throwing ClassCastException 모든 자물쇠 취득/heartbeat/sweep 및 각 작업 생성/업데이트에. 관련 기사...
/member 및 /team 경로에서 회원 유형 보내기
/team signups는 TEAM MEMBER (ProSPECT, pending admin 활성화); /member를 만듭니다. 가입은 MEMBER를 만듭니다. registerFlow는 각 경로에 의해 공급되는 memberType prop을 가지고 갑니다 래퍼는 등록 요청 몸에 포함;...
/team는 TEAM MEMBER (PROSPECT)를 만들고, /member는 MEMBER를 만듭니다
공시 등록은 회원 유형 등록 사이트를 보내 (/회원에서) vs /team 경로): /team는 PROSPECT로 TEAM MEMBER를 만듭니다. 그래서 관리자는 활성화해야 합니다. 그들이 로그인 할 수 있기 전에 (그 로그인 게이트 당) - 및 / 회원은 기본 MEMBER를 만듭니다....
Agent filter show member name + 전화 확장, 이메일이 없습니다
Agent Dropdown는 로더 때문에 각 팀원에게 이메일 라벨을 붙였습니다. 읽기 firstName/마지막 이름 열쇠는 결코 보내지 않습니다 (그것은 보냅니다) nameFirst/nameLast/fullName), 그래서 displayName은 항상 이메일을 다시 떨어졌다. 자세히보...
팀원 업무용 전화 확장
/leads Agent 필터는 라벨 옵션에 작업 전화 확장을 필요로 합니다. "이름 (8080)". TeamMember에 이미 확장 (getPhoneWorkExtension) 하지만 직렬화되지 않았다 — 단지 베어 번호는.
Request-support 팝업은 부모가 공유한 주제를 보여줍니다
Ticket-creation 항목 드롭다운을 새로운 점으로 /api/support/topics/available endpoint (own-org + 부모 공유 주제) 그래서 child-org 사용자는 부모 org의 지원을 통해 연락 할 수 있습니다 부모의 구성 항목.
Surface parent-org는 request-support 팝업 주제를 공유했습니다
Child-org 사용자는 부모 org의 공유 지원 주제를 볼 수 없습니다 (assignToOwnOrg=false) 지원 요청 시 팝업만 가능 fetched own-org 주제. GET /api/support/topics/available 추가(+) parent-shared, MANAG...
잘못된 inverted 부모 공유 항목 쿼리
Child-org 항목은 assignToOwnOrg=TRUE에 필터링 (own-org-only) 아이 orgs (assignToOwnOrg=FALSE)와 같은 주제를 반환해야 할 때. orgs에 따라 파생 된 방법을 이름을 변경 공유 지원 주제.
새로운 아이 orgs 그들의 부모의 securityProvider를 상속
Kamo-internal에서 아이를 만들 때, 새로운 org의 securityProvider를 설정 org의 securityProvider (org는 아래에 생성 된) 대신 기본적으로 자기에. 모든 기존의 org를 점하는 데이터 백필과 쌍 SecurityProvider at the to...
계정 연결 공지 ?linked=1
등록이 새로운 org에 기존 계정을 연결하면 여기에서 리디렉션됩니다. ?linked=1. "당신은 이미 Kamo 계정을 가지고 - 우리는이 조직을 추가했습니다 그것은. 기존 비밀번호로 로그인하세요. 그리고 이메일을 미리 작성하세요. 기존의 미러 ?email verified 처리.
기존 사용자에 대한 계정 연결 응답 처리
입력된 이메일이 이미 ACTIVE 계정에 속할 때, 백엔드 링크가 ACCOUNT LINKED를 반환합니다. 로그인하기 (?linked=1) 대신 이메일 검증 흐름 - 그들은 기존에 서명 비밀번호 새로운 사용자와 placeholder-claim signups는 검증 이메일 경로를 유지합니...
회원/팀 회원 생성 + Prospect-gate UI
- 누락된 POST 프록시 경로 /api/security/members/create 및 추가 /create-team-member (이전 405'd, 그래서 백엔드에 도달하지 않았다). Status + JSON body pass through so the form's 409 "회원탈퇴" ...
기존 사용자를 재사용, securityProvider에 미러, 게이트 팀 구성원 로그인
재사용 (같은 사람에 대한 중복 계정 없음): - MemberCreateController는 이제 개인 이메일으로 기존 사용자를 재사용합니다. case-INSENSITIVELY (케이스 감지, 누락된 레거시 혼합 케이스 이메일). - SecurityController.register는 ...
SecurityProvider 회원 미러 + 재사용/패치 접지 워크
- *********** userId): 사용자를 org의 securityProvider org는 기본 회원으로 (deduped; no-op when org 자체 또는 사용자가 이미 있습니다. 모든 새로운 규칙을 다시 플랫폼 / 보안 - 프로바이더 org에 따라 회원도 토지. -****...
신체의 레지스트리의 호스트 이름을 보내서 오른쪽 org의 계정 땅
해결 된 org는 클라이언트에서 사용할 수 있었지만 백엔드에 보내지 않았습니다. org는 X-Forwarded-Host를 통해 유일한 implicitly 전달되었습니다. 공유 api 호스트에 다시 쓰기, 그래서 모든 가입은 kamocrm 아래 출원되었다. window.location....
도메인의 org 아래 파일 새로운 계정, kamocrm하지
/register 요청 호스트에 새로운 회원의 org를 바인딩, 하지만 org 신호 hop : kamo-register 프록시는 공유에 모든 가입 api.kamocrm.com 및 ingress는 X-Forwarded-Host를 공유 호스트로 바꿔줍니다. getServerName()가 a...
Org-by-domain을 가장 깊은 상표 별명으로 해결하십시오
추가 *********** 정확한 도메인 경기, 한 번 가장 깊은 라벨을 드롭 (register.optionone.com -> optionone.com) 그래서 per-org register/branding subdomain는 그 자신의 org에 심지어 해결 apex는 등록된 OrgDo...
고전적인 scrollbars로 브라우저에서 볼 수 있는 Stop viewport
Chrome이 레이아웃 선택(non-overlay) 스크롤 바를 사용하는 기계에, login/recover 페이지는 scrollbars flickering 둘 다로 뽑혔습니다. 이름 * 원인: 루트 사용 w-screen (100vw, scrollbar gutter 포함) html/bod...
Wire Task 탭을 실제 백엔드 + delete action + live count
/leads/{id}/tasks[/{taskId}]에 대한 다음 프록시 경로 추가 (탭의 getTasks/ addTask/updateTask/completeTask 호출은 404ing이었다), deleteTask 동작에 작업 그리드 및 derives the 'Open Tasks' sta...
리드 작업 REST API + 실시간 TASK CHANGED
/leads/view Tasks 탭이 이미 호출되었지만 존재하지 않는: GET/POST/PUT/DELETE *************** (LeadTaskController + LeadTaskService), 잠금 엔드포인트와 같은 org-guarded. 각 create/update/de...
Lead follow-up 작업을 위한 LeadTask entity
Backs the /leads/view Tasks 탭 (이전에 프론트엔 전용 스텁 없음 지속). LeadTask (table LEAD TASK)는 frontend TaskItem 모양을 반영합니다. *************** + LeadTaskDTO 및 저장소. 작업 mutations...
실시간 datagrid + 라이브 리드 뷰 per-pane 편집 잠금
/leads 그리드는 이제 websocket (NATS→STOMP)에 완전히 살고 있습니다 : rows add/remove/update 활성 필터에 대한 자동 및 변경된 셀 blink 한 번 다른 회원의 편집; 죽은 새로 고침 버튼이 제거됩니다. /leads/view/[id]는 살아있는...
Org-guards/topic/leads/rt/{orgId} 실시간 구독
Cross-tenant SUBSCRIBE는 새로운 리드 실시간 주제에 대한 가시성, 미러링 기존 /topic/social/feed 가드: 회원은 본인에게만 구독할 수 있습니다. org의 리드 스트림. 기존 *********** 이미 릴레이 security.leads.rt.* 에 /top...
Per-pane 편집 자물쇠 REST API + 자동 득점 스위퍼
/api/security/leads/{id}/locks 추가 *********** 뒤로 LeadLockService: 독점적인 per-pane 예약, 초상화 심박수 5 분 idle TTL을 재설정하고 버퍼링 된 일정한 스위퍼 idle-expiry 또는 존재 추적 타이머에 초안 및 해제....
실시간 NATS 출판 + per-pane 편집 잠금 엔터
Security.leads.rt.{orgId}에 org-scoped 리드 이벤트 게시 (created/updated/ 변경된 필드 키로 삭제, 기록 추가) 그래서 /leads 그리드 및 /leads/view 페이지는 살아있는 갱신할 수 있습니다. *********** 지금 반품 UI b...
"Not available to you"섹션 제거
Stop surfacing nav는 회원이 액세스 할 수 없습니다. 제품 정보 레이아웃 페이지는 잠금 칩으로 모든 숨겨진 나브 옵션을 나열; 떨어졌다 현재 사용되지 않은 숨겨진/visibleIds 메모와 함께 블록 NAV REGISTRY, LockOutlinedIcon 및 useMemo...
일반 바이트 엔드포인트는 MLOS per-party docs (vault/loan)를 거부합니다
일반적인 이미징 바이트 endpoints (다운로드 / 스트림 / 대량 다운로드 / thumbnail)와 바인더 집단은 org + 숫자에서만 허가 정리 천장 - 파티 확인 없음 - 그래서 어떤 회원은 CONFIDENTIAL에 명확 ANY org 파티의 모기지 PII (SSN 카드, 세금...
기본 탭을 나머지 스타일 A 페이지에 헤더에 통합
스타일 A→B 스윕에 따라 경로가없는 페이지를 덮어 설정보기: - /kb : KbNavBar는 기사 / 리소스 / 리뷰 탭 통합 및 새 문서 작업 권리 정렬; 레이아웃 공유된 광선 배경을 가져옵니다. -********** 미니 백 화살표 헤더 + 일반 / 도메인 MUI 탭은 통합된 탭...
상단의 공급 업체 제품 상태 Snackbar 센터
저장 / 업데이트 상태 환약은 MUI의 기본 앵커 (bottom-left, no AnchorOrigin 세트) 그래서 그것은 떨어져 센터를 렌더링. 정상 중심을 고정하십시오.
CreatePair는 기본 쌍 (스톱 중복 BorrowerPairs)에 대한 idempotent입니다
createPair's sole caller는 마법사 'ensure primary charter'입니다. unconditionally 삽입 새로운 쌍 모든 호출, 그래서 동시 autosave + 명시된 저장 (비어 있는 클라이언트 캐시 참조) 각 POSTed 및 축소 중복 Borrowe...
소셜, 수입 탭을 통해 헤더에 하단 카운트 바를 찾습니다
CRM 설정 표면의 sibling에 공급 업체 탭 처리를 적용하므로 독립 "x • y"의 요약 표시 줄은 더 이상 페이지 부동산을 먹지 않습니다 : - 사회 연결 및 자동화 수입 : 헤더 작업 하단 정렬 및 새로 고침 + Add/Create 단추의 위 선 더미 직접. - 수동 수입품 ...
/stream 및 /bulk-download에서 soft-deleted 문서를 제공하지 마십시오
getDocumentMetadata ( 스트림에 의해 사용 + 대량 다운로드 바이트 경로) 하지 않습니다 filter trashed rows the way downloadDocument does, 과 부드러운 삭제 잎 배치의 MinIO 객체 — 그래서 trashed vault SSN 카...
Header 행동 위의 공급 업체 / 제품 카운트 이동, 하단 정렬 새로 고침 + Vendor 추가
페이지 부동산의 독립 바닥 요약 막대에 사용 occupy - "x 공급 업체 • x 제품"라인은 이제 작업 위에 스택 헤더의 버튼과 제목 블록의 버튼 하단 정렬.
기본 탭을 페이지 헤더(Style B)로 통합
각 gradient-hero 페이지는 별도의 카드에서 기본 탭을 렌더링 아래 헤더는 이제 글래드런 헤더 자체 내부를 렌더링, 일치 /account와 /support. - 설정보기 : 탭 바는 gradient 헤더로 이동 (모든 ~ 23을 변환) /settings/* 한 번에 페이지);...
MLOS 기본 제품 + readiness에 대한 누락된 Next.js 프록시 경로 추가
납품업자 제품 페이지 threw 'Failed to set default product:' because 프론트엔드 PUT로 **************** (그리고 GET lead-vendors/mlos-readiness) 404'd - 그 두 개의 프록시 경로 파일이 손실되었을 때 커...