Photo-album uploads use the same WS pipeline as the Uploads tab
Extracts the doc-manager upload pipeline (hashing → dedup check → register-or-upload → WebSocket-driven conversion) into a reusable useImagingUploads hook. The ...
Add /api/security/mortgage-apps catch-all proxy — 404 root cause
The kamo-internal app proxies every Java backend path through an explicit Next.js route handler (one per top-level segment: /commerce-markets, /pos, /leads, …)....
/pipeline/{vertical}/{x} 404s — namespace was renamed to /commerce/
The /pipeline namespace has no routes in this app — every link going to /pipeline/applications/{x}, /pipeline/orders/{x}, /pipeline/engagements/{x}, /pipeline/s...
Backfill program offerings for existing mortgage markets on boot
DataLoader now calls **************** after the AppMortgage-engagement backfill. Sweeps every existing MORTGAGE CommerceMarket and ensures its program Offerings...
Bootstrap mortgage program offerings on market create + boot backfill
When the user creates a CommerceMarket with commerceType=MORTGAGE — via the Markets & Fields settings tab — the market needs program Offerings under it for down...
Detach before replacing features collection in /org/domain
The previous fix wired the applied-model projection into **************** but called org.setFeatures(projected) on the still-managed entity. The Organization.fe...
Remove standalone Applications icon — LOS lives under Commerce
The mortgage application pipeline is one vertical of the commerce system, not a top-level nav. Loan officers, processors, and underwriters reach it via Commerce...
Resolve ambiguous /org/domain handler — Commerce nav was disappearing
SecurityController had a second **************** that collided with **************** Spring rejected the request with "Ambiguous handler methods mapped" → 500 →...
Duplicate binders so users can fork without affecting the original
Adds a "Duplicate" action accessible from the binder list's context menu and from a new button in the editor header. The duplicate starts from the source binder...
Add POST ****************
Deep-copies a binder the requester can see (owned, shared, or template) into a fresh binder owned by the requester. Copies every item (DOC, SEPARATOR, GENERATED...
Mortgage Programs toggle + MORTGAGE engagement deep-link
- MortgageProgramsPanel now ships a real Switch on each program card with optimistic update + rollback on failure. Toggling a program calls PUT ************...
PUT /programs/{code}/active + deprecate legacy mortgage POS endpoints
- MortgageProgramController gains PUT **************** with body {"isActive": bool}, gated on LOS_TAKE_APPLICATION. Delegates to **************** which upse...
Per-org enable/disable + deprecate legacy commerce-only mortgage path
- **************** upserts an OrgProgramOverride row with recordState.isActive=desired; listForOrg now AND's the base program's active flag with the overrid...
Show Engaged / Committed badge on application cards
Each mortgage card in /applications now renders a tiny chip next to the pair count: green "Committed" when the loan has a Commitment (funded), indigo "Engaged" ...
Backfill mortgage engagements on boot
DataLoader now invokes **************** after rights sync and System User backfill. Idempotent — once an app is attached to its engagement+intent, subsequent bo...
Polish — backfill, delete cleanup, amount sync, appUid links
- **************** heals AppMortgages predating the wiring; called from SecurityService DataLoader. - AppMortgageService.delete cancels the engagement+intent ...
Flatten add-item menu so Generated Docs are reachable
The "Add Generated Doc" submenu approach didn't work: clicking the menu item closed the parent menu, which unmounted the MenuItem before the nested Menu could a...
Show Commerce context + Programs settings tab
- /applications hero now reads "Commerce > Residential Mortgages · URLA 2021" so staff see mortgage as one vertical of the commerce module, not a standalone...
Enforce LOS rights + /commerce/engagements endpoint
- MortgageAppController: every endpoint now gates on RoleRightType. Reads require LOS_VIEW_PIPELINE; creating a new application requires LOS_TAKE_APPLICATIO...
Wire URLA mortgage into Engagement/Intent/Commitment
Mortgage is one vertical of the commerce system — alongside retail, rental, service, subscription, and procurement. This wires the URLA-fidelity mortgage stack ...
Stop double-appending render query string; add share + meta dialogs
Render fix: - **************** was manually appending ?inline=true to apiPath, but forwardToApi already preserves the incoming query string. The duplicated quer...
Include com.kamo.z.shared.binder in @EnableJpaRepositories
DocsService boots with an explicit basePackages list, not classpath scanning, so BinderRepository wasn't being discovered — startup failed with "No qualifying b...
Add Organizer tab with binders, separators, generated docs
Adds the Organizer to the doc manager: - New "Organizer" tab (position 4) with a binder list + editor split view; existing tabs shift right - "Add to Organizer"...
Add Organizer backend — CRUD, render, generated docs
New REST surface under /api/docs/binders for the Organizer feature: - BinderController: CRUD, item add/update/remove/reorder, share, render - BinderService: org...
Add Binder/BinderItem/BinderShare entities and repositories
Adds the persistence layer for the new doc-manager Organizer feature: - Binder (Long id, owner member, org-scoped, isTemplate, binder-wide modifierJson) - Binde...
Migration for borrower-facing brand + disclosure columns
Adds the seven nullable columns the kamo-shared-library Organization entity now declares (TAGLINE / NMLS_ID / PHONE_SUPPORT / EMAIL_SUPPORT / EQUAL_HOUSING_DISC...
Emit lender brand + disclosure fields into per-org config.json
Two changes that finish the kamo-los borrower-facing branding pipeline: 1. OrganizationController gains a public GET /api/security/org/domain/{host} endpoin...
Add borrower-facing brand + disclosure fields to Organization
Seven new nullable columns powering the lender-branded surfaces in kamo-los's borrower app: - TAGLINE — marketing line shown on the brand-intro spl...
node-config: raise k1m1 kubelet max-pods 110 -> 200
Default RKE2 max-pods=110 was being hit, blocking kamolos rolling-update deploys (maxSurge:1,maxUnavailable:0 needs slot to create new pod before killing old; d...
MortgageConnectController — connections + verified-facts + reconcile endpoints
Exposes the connect-first capture surface at **************** - GET/POST /connections + POST /connections/{id}/complete - GET/POST /verified-facts + POST /verif...
Connection + VerifiedFact foundation for connect-first capture
Adds the M3a backend foundation for vendor connections and provenance-tracked verified facts. Stub-only end-to-end — real vendor SDK wiring (Plaid, Persona, ATT...
Add MortgageProgramController — list programs, set persona, set selected program
Add setPersona + setSelectedProgramCode methods
Bump for kamo-shared-library 1.5.0 snapshot refresh (M2 programs catalog)
Bump for kamo-shared-library 1.5.0 snapshot refresh (M2 programs catalog)
Bump for kamo-shared-library 1.5.0 snapshot refresh (M2 programs catalog)
Bump for kamo-shared-library 1.5.0 snapshot refresh (M2 programs catalog)
Bump for kamo-shared-library 1.5.0 snapshot refresh (M2 programs catalog)
Bump for kamo-shared-library 1.5.0 snapshot refresh (M2 programs catalog)
Bump for kamo-shared-library 1.5.0 snapshot refresh (M2 programs catalog)
Bump for kamo-shared-library 1.5.0 snapshot refresh (M2 programs catalog)
Bump for kamo-shared-library 1.5.0 snapshot refresh (M2 programs catalog)
Bump for kamo-shared-library 1.5.0 snapshot refresh (M2 programs catalog)
ProgramSeederRunner - seed 17 baseline LoanProgramCode programs (idempotent)
Repositories, DTOs, ProgramService (read-only catalog with naive overlay merge)
Drop duplicate IS_ACTIVE column; rely on EmbRecordState.isActive
Add lenderModel column (additive; null = BROKER default at app layer)
Add persona + selectedProgramCode columns (additive)
Add Program + OrgProgramOverride entities (catalog + per-org overlay)
Revert "feat(los): introduce LOS entity package marker"
This reverts commit ****************