OTK-authenticated iframe으로 분석 아이콘 추가
BarChart 아이콘을 NavTop에 추가하여 팀 멤버에게 최상위 org ( 부모 없음). OTK를 생성하고 /analytics로 이동 전체 페이지 iframe에서 analytics.{domain}를 로드합니다. 지금 생성-otk 노선 더 긴 60s TTL를 가진 purpose=ana...
TXT 도메인 소유권 기록 보기 DNS 설정 UI
- DomainData/DnsStatus: 검증 토큰, 소유권확인, 유형 필드 추가 - AliasStatusTable: 사본 단추를 가진 CNAME 테이블의 위 TxtOwnershipCard를 보여주십시오, indigo pending/녹색 확인 스타일링; 필터 TXT에서 CNAME 확인...
/setup/dns 페이지와 /network에 도메인 설정 흐름 추가
- 새로운 /setup/dns 페이지 2단계 흐름: 도메인 입력 후 DNS 60초 자동 융자 및 SSL 확인을 통한 검증 - ManualDnsGuide: 모든 단계별 DNS 지침 기록적인 이름과 표적 가치를 위한 사본 단추를 가진 기술 수준 - AliasStatusTable: 살아있는 ...
빌링 탭에서 빈 API 응답 및 우아한 degradation 처리
- billingApi get/put helpers 이제 안전하게 빈 응답 몸을 처리 대신 res.json()에 빈 입력 - PlansBillingTab LoadData는 .catch로 모든 청구 API 호출을 포장합니다. 그래서 개별 엔드포인트 실패는 전체 페이지를 깨지지 않습니다 —...
Resolve org/member context from *** 청구 프록시 세션
BillingService 컨트롤러는 X-Org-Id 및 X-Member-Id 헤더를 요구합니다. 직접 호출 할 때 (APIService를 우회), 이 설정되지 않았습니다. 이제 Next.js 프록시는 *** 쿠키를 읽고 세션을 찾습니다. Redis, orgID 및 memberID를 추...
네트워크 페이지의 org/member ID에 대한 문자열 유형을 사용하여 CockroachDB unique rowid() 정밀도를 처리하십시오
APIService를 통해 대신 k8s DNS를 통해 직접 청구
Next.js 서버 측 프록시는 이제 BillingService를 호출 *************** 직접 건너뛰기 APIService를 통한 불필요한 hop. 사용 BILLING SERVICE URL env var k8s 내부 DNS를 기본으로 합니다.
다음을 추가하십시오.js API 프록시 경로 /api/billing/*
청구 API 클라이언트는 /api/billing/*를 상대 URL로 호출했습니다. APIService Gateway 대신 Next.js 서버를 명중합니다. 지원하다 a catch-all 프록시 경로 (커머스 마켓과 같은 패턴) 그 전달 forwardToApi → APIService → ...
저장을 대체하십시오 양 slider를 가진 add-on toggle
추가 저장은 사용 기반 ($ 4 / 25GB 블록)이며, 단순 / 오프 추가 기능 슬라이더를 가진 toggle 스위치를 (25GB에 있는 0-1000GB 대체했습니다 단계)와 숫자 입력 필드. Cost 고장은 이제 저장을 보여줍니다. 별도의 라인 아이템. PlanSelection에는 추...
부모와 부모를 OrgProviderProps 유형에 추가하십시오
조직은 인터페이스가 부모Id 및 부모 필드를 누락했습니다. TypeScript 컴파일 중에 떨어뜨리기 때문에 백엔드는 그들을 보냅니다. 이 예방 된 조직.hasParent는 이제까지 사실, 모든 아이 orgs에 대한 계획 및 청구 탭을 숨겨.
Wire BillingManager 및 RelationshipManager는 실제 백엔드에
BillingManager (계정 청구 탭): - 실제 Stripe-backed 결제 방법을 사용하여 100 % 로컬 상태의 모종을 대체 billingApi를 통해 관리 - 마운트에 GET /api/billing/payment-methods에서 지불 방법 - 지불 방법 흐름을 추가 cr...
라이브 KamoCRM 구독 대시보드와 함께 stats 페이지를 교체
재건 /settings/account?tab=stats 완전히 유선, 읽기 전용 통찰력 대시보드 BillingService로 병렬 통화로 모든 모성 데이터를 대체 기존 billingApi 클라이언트. 모델 번호: - 최고 2col 그리드 : 계획 개요 카드 (플랜 이름, 상태 배지, ...
계획 흐름 끝을 선택하십시오
- PlansBillingTab 대화 상자로 Wire PlanCalculator (장소 홀더) - 페이지 부하에 청구 API에서 Fetch 가능 계획 - 핸들 플랜 제출 : 새로운 가입 또는 기존 업데이트 - subscribing의 앞에 지불 방법 (결제를 추가하는 간접) - 제출 중에...
루트 KamoCRM org에 대한 계획 및 청구 탭 숨기기
KamoCRM org 소유자는 비용없이 모든 것을 가지고 있습니다. - 그들은해야한다 청구 탭을 볼 수 없습니다. 탭은 현재 상태 렌더링 만 아이 조직의 경우 (조직.hasParent는 true). 초등학생 org 소유자는 자신의 org의 청구를 볼 수 있습니다; 회원은 청구를 참조하여...
플랫폼에서 Stripe 청구 시스템을 통합
- 새로운 billingApi.ts 클라이언트 모든 청구서에 대한 전체 TypeScript 유형 endpoints (subscriptions, 지불 방법, 송장, 신용, 사용, 구성, 관리자) - 새로운 줄무늬 성분: StripeProvider, PaymentMethodForm, 풀 비...
중복 작업 흐름을 방지하기 위해 concurrency 그룹 추가
푸시 트리거가 워크플로우 및 워크플로우 dispatch가 불일 때 (또는 2개의 푸시는 빠른 성공에 도착합니다), 둘 다 실행할 것입니다 동시. concurrency 그룹을 추가하면 in-progress를 취소합니다. 새로운 작업을 시작할 때 동일한 작업 흐름 + 브레이크를 실행합니다.
문서 편집, 스프레드 시트, 프리젠 테이션에 대한 문서 버튼에서 열기 추가
- doc manager Actions column의 새로운 "Open in Docs" 버튼 (EditNote 아이콘) .docx, .xlsx, .pptx, .odg, .doc, .xls, .ppt 파일 - POST /api/docs/open/{imgId}을 통해 새 탭에서 문서 열기 ...
통합 자동 리드 가져오기 UI 전체 엔드포인트 관리
Production-ready 기능을 가진 LeadAutoImportManager의 완전한 재쓰기: - 3rd 파티 리드 벤더를위한 독특한 웹훅 URL과 엔드 포인트 CRUD - Copy-to-clipboard 엔드포인트 URL 생성 - 4탭 관리 대화 상자: 개요(stats, togg...
Name, widen date column, 확장 아이콘을 파일 이름으로 병합
- 업로드: 항상 비어있었습니다 — 필드 이름은 정확했지만 백엔드 createByName을 결코 설정하지; 이제 backend 측에 해결 - 파일 이름 열: react-file-icon의 prepend 파일 유형 아이콘, 별도의 확장 열 제거 - 업로드된 열: 설정 폭/minWidth ...
Doc manager의 크기 셀에 저장 된 크기 툴팁 추가
Tooltip은 문서에 사용되는 실제 저장의 고장을 보여줍니다. 원본 파일, thumbnails (원래 + 변환 결합), 및 변환된 doc — 전체. ImgDat 행 모두에서 Thumbnails 하나의 라인으로 합산됩니다.
NavigationInterceptor에 있는 파일 다운로드를 위한 Skip 로딩 화면
Blob URL 및 다운로드 속성과 링크는 페이지 탐색을 발생시키지 않습니다, 그래서 글로벌 클릭 핸들러는 이제 초기에 반환 — 예방 "Loading KamoCRM"화면을 표시하고 파일 다운로드에 갇혀.
이메일 공급자 selector에 있는 Surface save 과실 및 backt 낙관적인 갱신
Non-configurable Provider(KamoMail, ParentOrg, NotConfigured)를 저장할 때 실패, 오류는 상태에 설정되었지만 목록보기에 표시되지 않았습니다. 낙관적인 UI 업데이트는 절대로 거꾸었습니다 — 카드가 나타나기 DB가 변경되지 않은 동안 선택했...
Toolbar 검색 행에 doc 관리자 동작 버튼 이동
- 문서 제거, 문서 업로드, 대량 업로드, 그리고 gradient 영웅 헤더에서 새로 고침 - 영웅 헤더는 현재 제목/도메인입니다. - 문서 생성 및 문서 업로드는 DocManager에 작업 prop로 전달, 빠른 검색 바의 오른쪽에 렌더링 - 대량 업로드 버튼이 완전히 제거 - 새로...
공유 대화 상자를 위한 팀 구성원/회원 권한 모델을 복원
팀원(memberType=TEAM MEMBER)는 모든 게이트를 우회합니다. 일반 회원은 SHARE DOCS *의 권리가 있습니다. memberType없이 레거시 세션은 임시 액세스 권한을 얻습니다. 그들은 다시 로그인하고 새로운 세션 필드를받을 때까지.
문서 공유를 위한 인증된 회원
공유 대화 상자에서 역할 기반 게이트 제거 - 로그인 회원은 공유 할 수 있습니다. 이전 체크인은TeamMember ( session memberType) 또는 특정 SHARE DOCS * 권한, 팀 멤버가 전혀 안되지 않습니다.
Blake3/browser에서 WASM을 올바르게 초기화하기 위해 blake3 가져 오기
blake3/esm/browser는 수동 WASM 규정을 요구합니다; blake3/browser는 그것을 자동적으로 합니다.
공유 대화 상자를 사용하여 문서 공유 시스템 구현, 메모 탭과 공유, 공유 가능한 링크
- ShareDocumentDialog를 권한 기반 회원/팀/dept/job 추가 제목 수상자 - DocManager 툴바의 와이어 공유 버튼 (MY DOCS 전용) - 공유 추가 새 공유를위한 알림 배지가있는 탭 (server-side count) - 그리드 행에 공유된 문서 표시기 ...
Real BLAKE3 해싱 및 사전 로드 dedup check in doc manager
- fileHashing.ts에서 실제 blake3 WASM을 가진 BLAKE3 위주자를 대체하십시오 - Check-hashes 및 register-existing API 프록시 경로 추가 - MultiFileUploader 이제 업로드하기 전에 기존 파일에 서버를 확인합니다. - 중복...
게이트 폴더 및 Doc 유형 컬럼 / 필드에 AllowFolders 및 AllowDocType
폴더 또는 doc 형식의 기능은 assoc 유형에 사용할 수 없으므로 숨기십시오. 대응 datagrid 열 및 업로드 양식 필드는 지속적으로.
일관된 MUI TextFields와 Align 업로드 필드는 항상 폴더와 doc 유형을 표시합니다
MUI TextField와 원시 <select> 엘리먼트를 대체합니다. 설명 필드와 스타일링 및 정렬. 폴더 및 Doc 유형 필드는 항상 볼 수 있습니다 ( AllowFolders/allowDocType). 획일한 외관을 위한 모든 분야 사용 뜨 상표.
업로드에 대한 모든 파일 형식을 수락, 대신 서버 사이드 블랙리스트를 사용
Server-provided extBlackList를 가진 hardcoded ACCEPTED EXTENSIONS whitelist를 대체하십시오 assoc-config에서. 모든 파일 형식은 명시적으로 검은색으로 업로드 할 수 없습니다. Non-convertible 파일은 변환없이 업로...
Redesign, 미리보기, 대량 다운로드로 선택된 탭 준비
기능적인 문서 준비 UI를 가진 mock Options panel을 대체합니다. 회사연혁 드래그 앤 드롭과 화살표 버튼을 통해 재주문 가능 선택. 오른쪽 패널은 항법을 가진 페이지 thumbnail 미리보기를 보여줍니다. Bottom bar는 Modifications toggle과 병합...
SystemDocsOnly flag for System Docs 탭을 사용하여 Original Docs의 모든 문서를 표시합니다
Original Docs 탭은 이제이 org/assocType에 대한 모든 문서를 보여줍니다. assocObjectId에 의해 필터링. System Docs 탭은 systemDocsOnly를 보냅니다: true null/empty assocObjectId를 가진 docs만 가져옵니다.
기본값 assocObjectId to current member ID for proper doc 탭 필터링
Oid URL param이 제공되지 않을 때, Original Docs 및 수정된 Docs 탭 현재 회원 ID에 의해 쿼리, System Docs 쿼리와 org-wide 문서를 위한 공백 assocObjectId.