콘텐츠로 건너뛰기
KAMOUniverse

변경 로그

무슨 일이야?

플랫폼에 대한 모든 개선 사항, 그것이 선적.

  1. · kamo-shared-library

    Mortgage 리드는 차용기 통계 금융 (인컴, 신용, 구매 가격, 첫 지불액, refi balance/cash-out)

    기존의 표면 *********** 및 4개의 명시된 열을 추가 LeadClaimMortgage; 철사 DTOs (read/update/create), 역사 분야 등록 및 LeadService 생성 + 업데이트. 이들은 CLAIMED/ESTIMATED 차용기 사실입니다 (확인된 URLA에서 방화), 주는 대출 장교는 빌러 포털에서 풍부한 pre-1003 그림.

  2. · SecurityService

    Process member org bg + gate와 같은 업로드

    - New ImageResizeClient는 SAME를 통해 회원 배경 업로드를 실행합니다. org 배경으로 후 처리 (POST *********** 및 .webp로 결과를 저장합니다. - ThemeBackgroundController : 새로운 권리에 의해 모든 5 개의 엔드 포인트를 승인 — MANAGE OWN BACKGROUND IMAGES 자신의 회원, *********** 또 다른 회원 (Superset; 신 모드 우회). 읽는 것은 표적을 해결합니다 회원의 사용자 관리자는 다른 사람의 이미지를 나열 / 보호 할 수 있습니다. uploads store under Target 회원의 사용자. - New GET /theme-backgrounds/active 세션 멤버들의 슬라이드쇼를 반환합니다. 이미지 URL (empty => org fallback) 글로벌 배경 층. RoleRightsSyncService를 통해 부팅에 대한 권리 자동 보호 (새로운 공유 형을 거부, CI 복제). KamoInitializer가 필요 없습니다.

  3. · kamo-internal

    새로운 권리 + 회원/org 슬라이드 쇼에 의해 내 프로필 배경을 문

    - MANAGE OWN BACKGROUND IMAGES의 내 프로필 "Background & Theme"섹션 (자) / *********** (다른); 배경을 하자 다른 회원 프로필을 엽니다. - 각 배경의 isInSlideshow 플래그를 통해 org-vs-own 선택 (org => none active, 자신의 => 모든 활성) - schema 변화 없음; fetch heuristic 이제 슬라이드 쇼가 제공하는 것을 일치하기 위해 활성 이미지의 toggle을 derives. - OrgSlideshowLayer는 회원의 자신의 활동 배경을 선호합니다. (GET **************** 실패 소프트) 그리고 다시 가을 org 배경. 새로운 얇은 /active 프록시 경로.

  4. · kamo-shared-library

    Add Manage Own / 기타 배경 이미지 권리 (일반 그룹)

    MANAGE OWN BACKGROUND IMAGES (165) 및 *********** 추가 (166) to RoleRightType, serviceType null 그래서 그들은 일반 설정에 착륙 그룹 (STATE LICENSING * OWN/ALL precedent). 당 회원 내 프로필에 배경 이미지 기능. Append-only; 버전이 변경되지 않았습니다.

  5. · SecurityService

    대출의 차입자 docs가 모두 수령될 때 지정된 대출 임원을 통지

    Fires LOAN DOCS READY LO는 차용인 DOC COMPLETE와 함께 충분한 점수를 받았습니다. 대출을 통해 LO를 해결 -> *************** -> -> 회원; 완전히 수집 된 대출에 자기 보호, 할당 된 LO 및 resolvable 이메일.

  6. · kamo-shared-library

    LOAN DOCS READY LO canonical Template - 대출의 문서가 모두있을 때 할당 된 LO 통지

  7. · kamo-internal

    대출 장교가 시작 섹션에서 거래에 할당

    읽기 전용 Loan Originator 섹션은 지금 대출 사무실 픽업 (org 회원) /members/names를 통해 + 할당, PUT를 호출 *********** 에 거래 수준 (모든 어린이 대출에 의해 주장). 앱을 re-fetches로 할당 라이브 프로젝션은 LO의 name/NMLS/state-license를 즉시 반영합니다. 숨겨진 한 번 냉동 (originated). 이것은 전체적인 시스템 관리 시작자 operable — 전에 이것은 할당을 설정하는 방법이 없었다, 그래서 LO 필드는 항상 빈을 계획. (새로운 UI 문자열 인라인은 i18n 패스를 종료, 섹션의 기존 통지 일치.) 인증: tsc --noEmit 청소.

  8. · kamo-internal

    클라우드 메일 액세스를 위한 Provider config 필드

    Config 입력 추가 이메일서비스 해결자는 클라우드를 인증하기 위해 읽습니다. 우편함: - Google Workspace : 도메인 전체 대표 IMAP의 서비스 계정 키 (JSON). - IceWarp : 메일 호스트, 서비스 메일 박스 암호, 수송 보안. - 교환 (예금 BASIC/NTLM) : 메일 호스트, 서비스 우편함 암호, 수송 보안.

  9. · EmailService

    OAuth2 (XOAUTH2)와 IMAP / SMTP를 통해 모든 클라우드 제공 업체의 메일 경로

    클라우드 제공업체 (Microsoft 365, Exchange Online, Google Workspace, Zoho, IceWarp) 상속 읽기 / 종료 ****************하지만 해결자는 결코 그(것)들을 위한 대중화된 IMAP/SMTP credentials, 그래서 각 폴더/message는 threw를 읽었습니다 MailboxNotConfiguredException -> "이메일"화면 (예 : org M365에 optionone. KamoMail은 혼자 받아 들여진 credentials 때문에만 일했습니다 (내부 Dovecot). 이제 모든 공급자는 하나의 IMAP / SMTP 경로를 통해 흐름; KamoMail은 변경되지 않습니다. - MailCredentials: 전체 연결 spec *********** - ImapStoreFactory + EmailSmtpService: SASL XOAUTH2 (native com.sun.mail) 또는 기본 spec 당 auth; 요구되는 STARTTLS (닫히는) 그래서 토큰은 cleartext를 결코 transit하지 않습니다. - MailProviderResolver: per-provider credential 배선 + 회원 기본 사서함 + OAuth 토큰 새로 고침. M365/Exchange-Online 사용 앱 전용 클라이언트 식별 토큰 (outlook.office365.com에서; *************** 10 년 전 mailbox 도메인; Google은 서비스 계정 도메인을 사용; Zoho 사용 OAuth 토큰 저장; IceWarp/on-prem Exchange는 공급자 config에서 기본적인 auth를 사용합니다. - EmailImapService: RFC 6154 SPECIAL-USE를 통해 Sent/Drafts를 해결하여 복사 토지를 전송 공급자의 기본 폴더 (Gmail [Gmail]/Sent Mail, Exchange Sent Items). - ProviderController: 암호화된 configJson에 persist config-form 필드 (이전 떨어졌다); 토큰을 축소하지 않고 목록 기능. - 클라우드 공급자로부터 RealtimeNotifier stubs를 던짐 제거 (폴링 커버 실시간; 푸시 - webhook infra 없음. M365/Exchange-Online은 Application IMAP.AccessAsApp + SMTP를 요구합니다. SendAsApp 관리자 Exchange Online에 대한 동의 및 새로운 서비스Principal (메일 박스 당 사용 가능).

  10. · kamo-internal

    Deal-scope 계정 문서 탭에서 vault 업로드

    업로드 대화 상자는 현재 옵션 "Deal" selector (계정의 계정 거래); 한 번의 스탬프 대출을 선택TransactionId 그래서 시간 감지 doc (신용) 보고서, 은행 문)은 그 거래에 바인딩하고 단지 대출을 만족한다 - 동안 "Account-wide"는 정체 docs에 대한 영원한 재사용을 유지합니다. 더 보기 Transaction-scoped 문서 모델 종료 인증: tsc --noEmit 청소.

  11. · SecurityService

    Vault 업로드는 문서를 처리 할 수 있습니다 (loanTransaction ₢ 킹

    Vault 업로드는 현재 옵션 대출을 수락 Id, 스탬프 MemberDocument 그래서 시간 과민한 doc (신용 보고/은행 문)는 경계일 수 있습니다 특정 거래에 - 만족 감시는 그 거래에만 적용 대출. Omitted = 계정없는 재사용 (unchanged). MemberDocumentDTO에 표면 처리. 인증: mvn 컴파일 청소.

  12. · kamo-internal

    Per-device 배경 스위치 - 일반 gradient 또는 org 사진 슬라이드 쇼

    두 개의 아이콘 스위치 상단 오른쪽을 추가하십시오 (시험 pill 아래; 그것은 pill's로 상승 한 번 평가판이 종료됩니다. 콘솔 배경을 선택하십시오. - 일반 기온 (기본, 최고의 성능) - 기존 oklab-blob 백드롭. - Org 사진 슬라이드 쇼 - 로그인 / 등록 사이트를 동일한 테마 자산을 재사용 사용: <themePath>/json/config.json의 배경ImageCount → <themePath>/img/bg/{n}.webp, 404s 떨어졌고 crossfaded (respects는 감소 된 모션을 선호합니다. 이미지가 해결되지 않으면 일반 필드로 돌아갑니다. 선택은 localStorage (useBackgroundMode)에 있는 DEVICE에, 저장됩니다 서버 측, 그것이 국부적으로 체재해야 하는 연출/perf 선택이기 때문에. 더 보기 Backdrop은 (홈 + 설정); toggle는 집에 살고있다. 각 각 아이콘에는 툴팁이 있습니다. 새로운 home.background.* 문자열은 사전으로 배송됩니다.

  13. · SecurityService

    초기 Loan 견적의 시작 스냅 샷을 동결 (Reg Z/TRID)

    시작 수명주기를 완료하십시오. shared resolveProjection()는 이제 BOTH를 공급합니다. 살아있는 읽는 투상 및 동결 (무기 없음). INITIAL LE 공개 설정, MortgageDisclosureController는 as-originated LoanOriginator를 동결 - 캡처 Projected LO + org + WORM 행 및 스탬프에 대한 state-license FrozenAt / 언스테이트 (idempotent; @PreUpdate는 나중에 변경을 차단합니다). 이 후 org/LO는 차용차가 시작된 것을 결코 바꾸지 않습니다. 인증: mvn 컴파일 청소.

  14. · kamo-internal

    Transaction-first 파이프라인 - PrimeReact 확장 가능한 행

    시작된 TRANSACTIONS의 PrimeReact DataTable을 가진 편평한 대출 격자를 대체하십시오 회원 대출에 PLACE에 붕괴 및 확장 (클릭 서랍 없음), 그래서 스튜어드는 직접 특정 대출을 엽니 다. 학부모: 거래 #, 거래 상태, Borrower(s), Loans, Target Close; 어린이 행: Loan #, Borrower, Property, Amount, 현재 위치 Orphan 대출은 단일 로란 행으로 렌더링합니다. 검색, 상태 필터 유지, CSV 수출, 새로운, 및 Board/HMDA 항목 포인트. PrimeReact 10 (MIT). 또한 커밋 refactor 디자인 spec. 인증: tsc --noEmit + 다음 모두 깨끗한 빌드.

  15. · kamo-internal

    평가판 pill top-right (컬러 스왑 NavPri 알약)

    돛대head 상태 지구에 있는 예심 선을 지키고 눈에 띄는 알약을 재 추가하십시오 org의 시험 모드가 분명하게 유지되도록. NavPri 확장 채우기 / 텍스트 색상과 시험 pill 스왑 (기본 배경, 흰색 동일을 사용하는 text/icon) *********** 상표; 보인 TRIAL 제목에 직원 (TEAM MEMBER)에만.

  16. · kamo-internal

    "insert between"를 선택하면서, 그냥 드롭-to-swap

    이전 순서는 드롭에 만 변경, 그래서 슬롯에 스왑으로 읽습니다. 이제 목록을 다시 흐름으로 라이브로 드래그: dnd-kit onDragOver 이동 dragged hovered 옵션의 슬롯 (arrayMove)에 옵션, 그래서 회원은 정확히 볼 다른 사람 사이에 땅이 될 곳. useHomeLayout.move는 그것의 순서 ref를 전진합니다 동시에 연속 드래그 오버 이벤트가 올바르게 구성하고, 저장 플래그 그래서 라이브 미리보기는 쓰기를 건너; 마지막 순서 persists 한 번에 새로운 커밋을 통해 드롭().

  17. · kamo-internal

    응용 프로그램보기에 Sibling-loan 스위처

    거래는 여러 대출을 그룹 할 수 있습니다; 앱 헤더는 지금 점프를 보여줍니다 거래의 sibling 대출 (단일 대출 거래에 대한 숨겨진) 대신 만 파이프라인을 통해 도달 가능. 인증: tsc --noEmit 청소.

  18. · kamo-shared-library

    LoanFileDTO.loanTransactionId (앱 보기는 그것의 거래를 알고 있습니다)

    /applications 보기가 표시/switch sibling에 의하여 대출의 거래 표면 대출. 인증: mvn 청소 설치.

  19. · kamo-internal

    *************** (FE 유형)

    파이프라인 거래 # 열에 대한 백엔드 필드를 미러링합니다. 인증: tsc --noEmit 청소.

  20. · SecurityService

    지상 거래 TransactionSummaryDTO에 대한 번호 (파이프 라인 거래 #)

    Per-transaction 파이프라인 행은 이제 인간의 거래 번호를 운반합니다. 인증: mvn 컴파일 청소.

  21. · SecurityService

    Originator projection은 per-state license를 해결합니다

    라이브 프로젝션 완료: 할당된 LO의 StewardLicense (NMLS MLO) SUBJECT PROPERTY의 상태에 대한 ( property.address.subdivision에서, ISO-3166-2에 정상화), 현재 유효하지 않은 것, populates startorStateLicenseId. 인증: mvn 컴파일 청소.

  22. · kamo-internal

    Drag-and-drop to Rearrange launchpad 옵션, 회원당 저장

    회원은 이제 홈 옵션을 드래그하여 주문할 수 있으며, 배열은 persisted server-side per member (자신의 재부팅 및 그 뒤에 장치) 같은 일반적인 ui-preferences를 통해 nav layout 용도를 저장 — 새로운 `homeLayout` 키가 주문된 옵션 ids를 들고 있습니다. - useHomeLayout (availableIds)는 저장한 순서를 적재하고, 그것으로 합병합니다 현재 등급 옵션 (새로운 옵션 추가, 삭제 된 것들 드롭), 과 persists 낙관적이고 탈부착된 PUT를 가진 주문 *************** - 벽돌 위에 dnd-kit DndContext : MouseSensor (5px) + TouchSensor (250ms) 이렇게 빠른 클릭은 여전히 카드 / 그 하위 항목이 열리고 있지만 Rearranges (점수 전용, 라이브 네브처럼). 주문은 드롭에 투입 드롭 대상 링. FeatureCard는 drawgable={false} 으로 네이티브 링크드 인 dnd-kit을 싸지 않습니다.

  23. · kamo-internal

    첫번째 탭 + 기본 착륙을 만드십시오; 개요를 제거하십시오

    개요 탭 제거; 재료는 이제 먼저. /marketing 인덱스는 첫번째로 리디렉션 접근 가능한 탭 (기본적으로 자료), 그래서 재료에 마케팅 토지를 열어.

  24. · SecurityService

    라이브 프로젝션 — org + 할당된 LO, 에 읽기

    GET /mortgage-apps/{uid} 이제는 LIVE, 시스템 관리 시작 프로젝트 오버레이 (읽는 것에, 결코 저장되지 않음) 행이 얼지 않는 경우에: org name/NMLS/address 조직 및 대출 사무실 이름/NMLS/teamMemberId 회원에서 ASSIGNED 대출의 거래 (User.EmbNameFull.formatFull(), NMLS를 통해 이름 회원.nmlsId). Stale hand-entered identity is cleared — 섹션은 단지 반영 진실의 근원. 언 행 (이니셜 LE 발행)는 WORM 스냅 샷, 왼쪽 터치. 전체적인 투상에 대 한 Remaining: per-state StewardLicense (주제는 주제 앱 그래프의 상태) 및 초기 LE 발급에 동결 방아쇠.

  25. · kamo-internal

    Loan Originator 섹션은 읽기 전용 / 시스템 관리

    Loan Originator 카드 더 이상 손 편집 URLA §9 데이터 (의 복제) *********** 다시 캡처되었습니다. 그것은 읽기 전용 렌더링 : 지정된 대출 임원의 라이브 투영 + 초기 대출 전에 org 예상, 그 후 언 as-originated 스냅 샷 (frozenAt/frozenState/source 지금 LoanOriginatorDTO에서. 편집 가능한 입력 + debounced patchOriginator 제거 자동 저장. Backend projection/freeze 배선 토지 다음 (SecurityService).

  26. · SecurityService

    거래 수준의 대출 사무실 할당 + 거래 번호

    keepTransactionForApp은 이제 org-unique transactionNumber(TXN-<uid>)를 각인합니다. 새로운 *********** + PUT /mortgage-apps/변환/ {uid}/loan-officer는 거래 할당 된 대출 임원을 설정합니다 (회원.id, 상속 모든 어린이 대출) - 시스템 관리를 구동 할 단일 소스 LoanOriginator projection/snapshot (리긴터는 결코 손이 멈추지 않습니다). 채용 정보 문질러, org-scoped.

  27. · InitializerService

    Originator/transaction-first 열 (@Order 90)

    MLOS에 대한 부가가치세 열 + org-unique 거래 번호 인덱스 startor/transaction refactor: mlos loan transaction (transaction number +) 할당된 lo *), loan originators (frozen at/frozen state WORM 마커), mlos member document (loan transaction id 거래 바인딩). Idempotent.

  28. · kamo-shared-library

    Originator/transaction-first schema — LO 할당, WORM 동결, 처리경로 문서

    System-managed-originator + Transaction-first refactor에 대한 백본 (spec) 2026-07-08): - LoanTransaction: TransactionNumber (org-unique) + 할당된LoanOfficerMemberId (+ 감사) - 시작을 구동하는 거래 수준의 LO 할당 프로젝트, 모든 어린이 대출에 의해 상속. - LoanOriginator : 언 At / frozenState + @PreUpdate WORM 가드 - 기초는 초기 대출 예상까지 할당된 회원/org의 라이브 프로젝트 문제 (Reg Z/TRID), 그 후 immutable as-originated 스냅 샷. LoanOriginatorDTO의 특징 언 At/frozenState/source(LIVE|SNAPSHOT) 노출 - MemberDocument : 대출TransactionId 거래 바인딩 - 시간 감지 vault doc (신용 신고, 은행 성명)는 거래경고입니다. NULL = account-timeless. Time-validity는 기존의 FreshnessPolicy(NOT duplicated)에 의해 관리됩니다. Projection/freeze/assignment 논리는 SecurityService에서 생활합니다 ( 둘 다에 달려 있는) donotmodify 및 mlos), 여기에 없습니다 - 고정 된 코어는 mlos-decoupled를 유지합니다.

  29. · kamo-internal

    Vendor에 제품 필터 의존 추가

    /leads 필터 바에 제품 필터를 추가, 즉시 오른쪽 공급 업체 상태/SubStatus 쌍과 같은 행동: 납품업자는 선정됩니다, 그것의 선택권은 선정된 제품에 속하는 공급 업체 및 공급 업체가 변경 될 때 명확합니다. 고객 측 필터 사전 및 필터 상태 이미 존재; 이 와이어 드롭 다운.

  30. · kamo-shared-library

    Shared AusEngineClassifier — §8.2 에이전시 매핑을위한 진실의 한 소스

    Program→engine, run→engine, decision→gate 매핑은 현지에서 *************** 자본 시장 잠금 단계 AUS 하드 스톱 동일한 분류를 필요로 하고, 공정한 문에는 2가 없습니다 drift 할 수있는 사본. 3 개의 순수한 매핑을 추출 *************** (정적, 소진 스위치 = 컴파일-forced 완료 / §8.2 드리프 가드). 가격의 해결사 이제 위임 그것; 자본 시장의 LockStageAusGate는 동일을 사용합니다. 첨가물, schema 없음.

당신의 우주는 기다리고 있습니다.

몇 분 안에 무료로 시작하세요. 준비가 되면 언제든지 제품을 추가할 수 있습니다.

영원히 무료 - 신용 카드 필요 없음