Redesign new-offer page as two-column workspace + 라이브 미리보기
당신은 전체 부동산에 대해 물었다, 현대, 광택 - 마지막 refactor 넣어 완전 폭 포탄 안쪽에 단 하나 열 모양, 정확하게 넓은 당신이 이미 주어진 반 페이지의 빈혈 크림. 이 rewrite 사용 공간. lg+ 스크린에 배치: - 상단의 전체 폭 제품 선택기 (linchpin ...
전체 폭 기업 광택 10 페이지
현대 기업 패턴을 채택 (그라디언트 헤더 + 크림 + 후면 화살표 + 전체 높이 플렉스 쉘 + 빛 회색에 카드 그룹화 된 내용 캔버스) kamo-internal에서 다른 곳에서 사용, 모든 maxWidth 제거 constraint (720/960/980/1080/1100px) 그래서 페...
채용정보 Uid → 긴 + startingOrderUid
참여는 BaseEntity (Long PK)를 확장합니다. Uid가 길어지지 않아야합니다. UUID — 이것은 기존 AgreementDTO / WorkOrderDTO로 일관되고 있습니다. "Long joinUid"의 패턴. Commitment는 UUID (BaseUuidEntity)를 ...
세션 청소 — 버그 수정, dedupe, 죽은 코드
Three-agent review surfaced real problems and copy-paste — addressing them: Bug fixes: - useEnsurePrimaryBorrower returned dead state (primaryUid, creating) an...
Retire the URLA wizard — waypoints now own the borrower journey end-to-end
Wires each connect-first waypoint to write through the existing /api/security/mortgage-apps/* endpoints, then redirects /apply/<section> to its matching /waypoi...
<EmptyState />로 모든 dashed 빈 스테이트 박스를 삭제
"rounded-xl 국경을 넘어 국경 흰색 / 10 bg-white / [0.015]의 수십 인라인 사본 ..." 섹션 파일, 칸반 열, HMDA LAR 목록 및 1개의 [uid]/components/EmptyState로 붕괴되는 신청 최고 수준 명부 크기 변종 (sm/md/lg) 및...
ModalShell/ModalActions 및 SaveSpot을 공유 모듈로 홍보
8개의 섹션 파일과 webhooks 관리자 페이지 각각 정의된 ModalShell + ModalActions 및 / 또는 SaveSpot 저장 상태 칩의 사본. 모든 것 이제 [uid]/components/Modal.tsx에 살고 있습니다 (선택적인 크기 prop에 md 확인 modal...
BaseLosController의 컨트롤러 세션/rights/response 헬퍼를 통합
6 LOS-area 컨트롤러 (MortgageApp, MortgagePipeline, MortgagePricing, MortgageDisclosure, MortgageHmda, WebhookSubscription) 각 복사 ~80 라인의 *********** 코드 플러스 ********...
Collapse toolbar, remove ChatHeader, add members intro row
- Delete ChatHeader row from embedded chat; move Add Member icon into unified toolbar - Toolbar: search input on left, VideoCall icon + PersonAdd icon + scroll-...
Cache-only bulk translate, FE handles fills
Bulk message-fetch endpoints now return only translations that are already cached and tag missing rows with needsTranslation:true. The chat UIs (kamo-internal C...
자기 스냅과 함께 드래그 / 클러스터 시스템을 재 작성하고 제스처를 수집
모듈형 클러스터 엔진을 가진 monolithic HexHeadGroup (847의 선)를 대체하십시오 app/components/chat/hexheads/의 밑에. 진실의 단 하나 근원: 각 머리 생활 클러스터 (크기 1 +), 좌석이 가장 먼저 채워진 상태에서. Drag detache...
수동 프로비저닝-comp endpoint 제거 — 시작 셀프 치유
COMP 주문은 이제 SecurityService 시작에 자동으로 제공됩니다. SubscriptionService @PostConstruct를 통해. 수동 엔드포인트 더 이상 필요하지 않습니다.
Scope SettingsSearchBar to components.settings namespace
Use **************** with searchBar.* keys instead of global t() with full dotted paths.
Drop language search filter on My Language step
The supported language list is short enough to scan visually; the search input added complexity without user value.
Split member APIs; subs' target org; billing-owner add UI 추가
billingApi 분할 회원으로 accountMembers (canManageBilling, isAccountManager) 및 구독회원 (isLicensee, canManageSubscription) 아래 *************** AccountSubscription 이득 Targ...
Sub-org를 대상으로 합니다. per-sub 회원은 계정 관리자에서 나뉩니다
구독은 TargetOrganizationId가 필요합니다. — (계정, 시장, target org) 트리플은 새로운 고유의 열쇠입니다. AccountBillingMember서비스는 AccountMemberService로 나눕니다. SubscriptionMemberService (sub-...
계정 레벨 관리자를 per-sub 멤버에서 분할; subs gain target org
SubscriptionMember를 추가합니다. KamoCRM org의 계정은 여러 구독을 보유 할 수 있으며 각 타겟팅 다른 sub-org. accountMember는 이제 계정 레벨 관리자 플래그만 수행합니다. (isAccountManager, canManageBilling); pe...
AccountBillingMember -> AccountMember; isGroupPlanManager -> isAccountManager
청구 클라이언트와 PlansBillingTab의 유형 수준 이름: - AccountBillingMember 타입 -> 계정회원 - isGroupPlanManager 플래그 -> isAccountManager - 그룹PlanManagerCount 필드 -> accountManagerCou...
AccountMember를 통해 Account.members를 사용; 이름은GroupPlanManager -> isAccountManager
계정은 이제 그룹이므로 이전의 모든 참조 accountBillingMember entity 가 새로운 generic 에 지적 *************** 이름 * "group plan manager" 권한 플래그는 전체로 이름을 변경 "account manager" ( 역할은 동일합니다...
드롭 사용자 / 마스터AccountHolder, 사용 Account.members + primaryMember
AccountController는 이제 계정-as-group 모델을 반영합니다. - computeDisplayName / extract이메일 / extractPhone 해결 defaultMember (Member) 대신 떨어졌다 masterAccountHolder - getCustome...
계정을 만드십시오; 회원 세트 + AccountMember를 가진 사용자 세트를 대체하십시오
계정은 이제 "그룹" 자체입니다 - 별도의 청구 그룹이 없습니다. 이름 * 회원 (org-scoped)는 직접 계정을 통해 새로운 AccountMember 가입, 회원 권한 플래그 수행 로그인 계정을 만들기 위한 첫 번째 멤버는 1차회원이 됩니다. 계정.java: - ManyToMan...
Account-based endpoints에 billingApi 클라이언트를 씁니다
billingApi는 이제 **************** 대신에 이야기합니다. /groups/{groupId} 경로. 최고 수준의 유형 이름: - 빌링그룹 -> 계정Billing - 빌링그룹멤버 -> 계정Billing 이름 * - 빌링그룹 구독 -> 계정등록 - 빌링그룹라이센스 -> 계...
계정 기반 entities에 BillingService를 씁니다
BillingService는 현재 계정 중심입니다. 회원 중심의 흐름 (e.g. "카드 추가", "플랜 구독" 이제 계정으로 이동 아직 존재하지 않을 때 회원을위한 자동 생성; 계정 Stripe 고객 ID, 하나 이상의 카드, 구독, 라이센스를 보유하고 있습니다. 청구서 및 청구서 구성...
BillingGroup에서 계정 기반 라이선스로 이동
EntitlementService는 AccountLicense에 대한 회원 등록을 해결합니다. 회원의 청구 계정이 소유 한 기록. 회원정보 이제 모양은 accountUid + accountDisplayName 대신 이전 *********** 쌍. EntitlementInvalidati...
BillingGroup에서 계정으로 마이그레이션
계정은 이제 단일 줄무늬 고객 주입니다. 회원 필요 (e.g. 구독을 위해) 자동 생성 계정; 그 계정 한 개 이상의 카드를 1 차로 지정하고, 소유합니다. 모든 구독, 라이센스, 송장 및 청구 구성 행. Schema 변화 (Account.java): - stripeCustomerId...
Orient live record 에 계정 주소 프로필, snapshot 역사적인 주소
Orient live commerce record to reference the account profile's primary shipping/billing, 중국 (본토) 기록이 역사가 될 때만 찍은 스냅샷(placed/shipped). 라이브 (기본 계정): - 손수레: 이미 참고...
Account.java를 embeddables로 전환하십시오; 배송 / 청구 목록에 대한 계정주소를 추가하십시오
- AccountAddressType enum 추가 (SHIPPING, BILLING) - AccountAddress 엔터티티를 추가하십시오 (FK, 유형, 라벨, EmbAddress, 타임스탬프) - AccountAddressRepository 추가 - Refactor account....
Header, drop sticky bar로 리드 액션 생성
기본 Create Lead 동작을 가진 top-right Cancel 버튼을 대체하십시오. 그리고 아래 끈끈한 행동 막대기를 완전히 제거하십시오. 뒷면 IconButton 추가 지도 왼쪽 > 새로운 리드 Breadcrumb 그래서 백 액션 숙박 취소 버튼없이 액세스.
자주 묻는 질문 시간 무료 텍스트 필드
Add Lead와 Lead에 Morning/Afternoon/Evening dropdown을 대체하십시오 일반 텍스트 입력으로 편집 양식을 볼 수 있습니다. 창문 (예 : 오후 6시 이후 평일 저녁) 백엔드 열과 DTO는 이미 문자열이므로 Java 변경이 필요하지 않습니다.
드롭 편집기 페이지 헤더, 이름 일반 하위탭
- back-arrow IconButton + 방패 아이콘 + 제목 + 자막 제거 보안 모델 / 마스터 모델 편집기의 상단. 취소 버튼 sticky action bar는 이미 다시 탐색하고, 떨어지는 header는 각 모양 더 수직 방을 줍니다. - 정상적인 보안을 위해 "General...
Drop teamMemberPayFeesDataLoader에서 설정
Master-model 프로듀서 더 이상 제거 된 tri-state pay-fees를 통과하지 마스터 보안 모델을 만들 때 설정 - 필드는 사라집니다 ChildOrgSecurityModel 과 그 서비스 과부하.
드롭 teamMemberPayFeesSetting 매개 변수
공유 라이브러리 변경 미러 - SecurityModelController, MasterModelController 및 AppliedModelController 더 이상 읽기 / 쓰기 teamMemberPayFeesSetting. 모든 상품 분기 유형 편집기의 per-model Self-...
드롭 팀MemberPayFeesSetting
직원 자체 지불 수수료 정책이 사라집니다 - BillingGroup refactor handles 보안 모델을 통해 아닌 그룹 당 청구. 제거하기 teamMemberPayFeesSetting 열에서 ChildOrgSecurityModel, 일치 ChildOrgSecurityModelDT...
내 프로필 팁 배너를 드롭 + 섹션 간격을 해제
모든 4 내 프로필 섹션은 이제 동일한 수직 리듬을 공유합니다. — 각 단면도의 우두머리와 그 분야 사이 8px, 사이 16px 이름 * Alert 배너는 이메일이 서명 인 것을 설명합니다. 자격은 사라지고, 적법한 이름, 별명, 이메일, 그리고 전화는 너무 갔다 : 각 섹션은 같은 공...
Tidy 내 프로필 레이아웃 + 드롭 전화 검증
내 프로필 단계 재구성 그래서 모든 4 섹션은 동일 공유 레이아웃 및 제목 형식. 주문은 이제 법적인 이름, 별명, 이메일, 전화입니다. - FormName: 종이 래퍼를 제거, "내 이름"머리, 그리고 "Full Legal Name"캡션. 동일한 아이콘 + 자막 제목 사용 alias...
Signup에 전화 필드에 SMS 검증을 드롭
셀프서비스 등록시 수집된 전화번호는 현재 일반 옵션 텍스트 필드 - 없음 /register/phone/initiate, SMS 코드, /register/phone/verify가 없습니다. 등록 엔드포인트는 숫자를 입력, whitespace/punctuation을 정상화, E.164-is...
드롭 등록PhoneCode entity + 저장소
셀프서비스 등록은 더 이상 SMS-code 검증을 사용합니다. 전화 필드 - 등록 양식은 일반 텍스트로 전화 번호를 수집 새로운 사용자에 저장. 사용되지 않은 법인을 제거하고 그것의 저장소. register phone codes 테이블 ( 이미 생성 된 경우) KamoInitialize...
PostAuth *** 로그인 및 입력 사이에 서비스
Post-authentication *** 빌드 (grant-all 확장, 프로파일 SQL, 분기 제목, createSession) PostAuth***서비스로 입력하여 사용 비밀번호 검증 후 kamo-login과 같은 코드 경로. Enter-as build AuthenticatedU...
휴대폰 + 보안 퀘스트 페이지 제거
이것은 실수로 kamo-internal에 추가되었습니다. - 전화 컬렉션 번호 및 보안 질문은 등록 흐름에 속합니다. kamo-register, 거기 이동 되었습니다. 두 개의 설정 페이지를 드롭, accountApi 클라이언트만 제공, 그리고 그들의 항목에 내 계정 카드 목록과 Set...
Org 폴더를 닦지 않고 기본 템플릿
전체 조항 더 이상 복사하기 전에 org 접두사 삭제. 본문 바로가기 public/default overwrites 일치하는 열쇠만; org의 밑에 다른 목표 폴더가 남아 있습니다. 기본 템플릿 소스는 kamocrm-com에서 기본값으로 변경되었습니다.
컴팩트 편집기 헤더 - 큰 제목 / 탭을 제거, nav 행에 작업을 이동
끈끈한 우두머리 카드를 제거하십시오 (제목, 부제, 저장/암호/Preview 이메일TemplateEdit에서 버튼, 편집/검토 탭 바) ~200px 편집기 위의 수직 공간. 액션 버튼은 지금 바로 정렬 EmailTemplateManager의 기존 백 버튼/breadcrumb nav 행에...
Redirect EMAIL NOT VERIFIED 에 등록/수신
로그인 페이지와 관련된 인라인 EmailVerifyCard 제거 상태/callbacks. EMAIL NOT VERIFIED에서, 사용자는 이제까지 전달됩니다 *********** 여기서 기존 PostCompletionScreen 핸들 resend 및 코드 입력.
GetOrganizationByDomain에서 eager 기능 로드 제거
특징은이 방법의 대부분의 통화자와 관련이 없습니다. (예: 등록, 로그인 도메인 해상도). setFeatures()를 통해 강제 로드 Hibernate-tracked 컬렉션을 대체하여 Cascade orphanRemoval 오류를 발생시킵니다. JPA를 통해 자연스럽게 게으른 로드를 제...
