모든 nav 항목에 회원 권한 강화
모든 nav 항목은 이제 org 기능 플래그와 회원이 모두 필요합니다. 7 새로운 액세스 권한 추가 : ACCESS COMMERCE, VIEW CALENDAR, ACCESS CHAT, ACCESS MAIL, ACCESS VOIP, VIEW SUPPORT, VIEW ANALYTICS (I...
블록 디자이너에 있는 Full-document bodyHtml의 double-wrapping
BodyBlocks가 null이고 bodyHtml는 전체 <!DOCTYPE html> 문서입니다. (예 : canonical Seeded Templates), 단일 블록으로 가져 오기 serializeFullEmailHtml는 두번째 <!DOCTYPE html> 포탄에서 그것을 감싸기 ...
템플릿에 외부 프레임이있는 전체 이메일 HTML을 직렬화
- serializeFullEmailHtml는 상표가 붙은 외부 구조에 있는 안 구획을 포장합니다 (헤드 로고, 제목/제목, 내용 영역, footer 로고 + org 이름) 절대 URL을 사용하므로 이메일 클라이언트는 이미지를 fetch 할 수 있습니다. - 외부 프레임 설정 (로고 옵...
컴팩트 편집기 헤더 - 큰 제목 / 탭을 제거, nav 행에 작업을 이동
끈끈한 우두머리 카드를 제거하십시오 (제목, 부제, 저장/암호/Preview 이메일TemplateEdit에서 버튼, 편집/검토 탭 바) ~200px 편집기 위의 수직 공간. 액션 버튼은 지금 바로 정렬 EmailTemplateManager의 기존 백 버튼/breadcrumb nav 행에...
전화 + 보안 문제 (SP3)에 대한 계정 설정 페이지를 추가
API 배선을 가진 ***********를 추가하십시오 보안서비스 /api/account/*. Syncs nav 모든 3 위치.
Browser의 backend-rendered modal을 통해 경로 미리보기 (SP2)
EmailTemplateBrowser는 이제 미리보기 모드를 직접 소유하므로 Manager no longer needs intercept 행 레벨 미리보기 요청 및 모드를 수정합니다.
철사 emailTemplateEdit에 진짜 API
TemplateApi.get에서 Hydrates, TemplateApi.update를 통해 저장합니다. (주) dropdown는 인라인 카테고리 생성 감당성으로 API 구동됩니다. 변수 picker는 variableContracts.ts (ReQUIRED에 대한 선언 계약 템플릿 키; ...
Wire EmailTemplateBrowser to real API + 시스템 기본 탭 추가
TemplateApi.list() 호출을 가진 모성 데이터의 ~140 줄을 대체합니다. (주) 다섯 번째 탭 '시스템 디폴트'는 top-level-org 관리자 및 렌더링에만 나타납니다 response.systemTemplates에서. 카테고리에서 팝업 필터Api.list(). 모든 행...
EmailTemplatePreview modal 추가하기
행 액션 미리보기를 엽니다. TemplateApi.p (review);를 통해 백엔드 렌더링 style isolation의 sandboxed iframe에 표시된 결과. 일치하기 사용하는 정확한 코드 경로, 그래서 당신이 미리보기는 어떤 수신자가 얻을. SP2의 부분.
사용되지 않은 이메일 삭제GeneralManager.tsx (~560 행 죽은 코드)
성분은 결코 어디에서든지 수입되지 않았습니다. 그것의 toggles (부스 취급, unsubscribe, 배송 추적, 이메일에서 기본)는 백엔드가 없었다 순수 화장품 setTimeout 루즈. 그 특징의 각 배 해당 백엔드가 존재하면 자신의 spec을 통해. SP2의 부분.
TemplateApi + categoryApi + variableContracts 클라이언트 모듈 추가
SP1의 /api/email/templates/* 및 *********** Typed TypeScript 헬퍼와 엔드포인트. variableContracts 미러 SP1 TemplateKeys Javadoc 그래서 편집기의 변수 피커는 선언 REQUIRED 템플릿에 대한 계약. SP2...
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, 풀 비...
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.
