Remove Cash-to-Close card; move buyer's-agent fields to Subject Property tab
Drop response-only enum string mirrors from mortgage save payload
The lead update was 400ing — UpdateLeadRequest rejects unknown fields and the form round-tripped LeadDTO's **************** strings (which only exist on the res...
Clear core-card edit on nav + guard communications composer draft
Discard the open core-card edit (release its pane lock) when the user proceeds past the unsaved-changes confirm in setTab/guardedNavigate, so editingCard no lon...
Remove estimate/disclaimer footnotes from scenario cards
Drop the EstimatedNote component and its plumbing, and the AI-narrative verify-before-relying disclaimer, per owner request to stop showing estimate/disclaimer ...
Surface recommended (yellow) fields even before a loan purpose is set
The blank-lead fallback returned only the required set, so a purpose-less lead showed red markers but never yellow. Now **************** are flagged as recommen...
Inline red/yellow field markers + tab rollups; drop Profile Completeness pane
Translate Residential-Mortgage grid columns + Purpose filter
Replace the literal column headers (Purpose/Loan Amount/LTV/DTI), the Loan Purpose filter label, and the filter option labels with next-intl t() keys **********...
Residential-Mortgage columns (Purpose/Loan Amount/LTV/DTI) + Purpose filter
On /leads, when the selected market is a Residential Mortgage market, show four columns to the right of State: - Purpose — mortgageFields.loanPurpose, title-ca...
Renovation family (203k/HomeStyle) + streamline refis (FHA Streamline/VA IRRRL)
Adds two new stated-lead inputs (renovationCost, currentLoanType) and five eligibility rows gated on real borrower signal, matching the existing show-only-when-...
Projected Close section — surfaces the §5 close-date forecast
Capital & Risk console now fetches /closing-forecast and shows each active loan's projected close date (stage-based business-day horizon), soonest-first. Best-e...
Veteran-status field + map subject state/zip; enable VA eligibility; dedupe insights/completeness
Phase 2 review polish — drop dead prop, dedupe LTV/equity warn, guard 0-value mismatch checks
Split form into Loan / Borrower / Subject Property tabs
Splits the mortgage sub-form's mega-grid into four sub-tabs (Loan, Borrower, Subject Property, What-If Studio) and renames "Property Address" to "Subject Proper...
Honest DTI/payment labels for missing inputs (partial PITI, no-debts back-end, conventional-PMI MI)
Use dictionary t() keys for MLOS integration UI strings
Replaces the `// i18n: dictionary key TODO` placeholder literals in LeadMarketManager (MLOS Integration select), MeridianLinkConfigDialog (field labels, Test Co...
Purpose-gate Eligibility Snapshot; hide unevaluable programs; merge HomeReady/Home Possible; sort UNKNOWN last
Lead Create/Open Application button + LOS proxy routes + leadsApi
Phase 7 of the MeridianLink external-LOS integration: adds the header button that creates or opens a lead's linked MeridianLink loan file, the Next.js proxy rou...
Checkbox selection no longer reloads the grid
Selecting a row checkbox called setSelectedIds(new Set(...)), which was listed in loadLeads' useCallback deps. That gave loadLeads a new identity on every click...
Use the full logo in the masthead (top-left)
Was the icon logo (64x64 square). Switch to variant="logoFull" (logo-full), sized 56px tall with auto width (capped 320px) so the wordmark isn't squished.
MLOS integration dropdown on market modal
Add a MLOS Integration dropdown **************** to the market Add/Edit modal, shown only for Service > Residential Mortgage markets, plus a Configure button be...
MeridianLink per-market Configure dialog
New MeridianLinkConfigDialog, modeled on the platform OAuth EditDialog, scoped to a single LeadMarket's connection via losConnectionApi (Phase 3 backend). Edits...
Center the watermark logo in the page area
Was pinned bottom-right (backgroundPosition "right -4% bottom -8%"). Center it in the content region — inset past the nav rail + top bar via --nav-pri-width / -...
Align losConnectionApi.remove return type
The DELETE endpoint returns {deleted:true, marketId}, not just {deleted:boolean} — align the client type to match the backend shape.
Drop the collapsible box around upload + gallery
The "Your wallpapers" section was a collapsible SectionHeader + Collapse — no reason to hide the upload and gallery behind an expand toggle. Replace with a stat...
MeridianLink vendor client-id card on platform OAuth registry
Adds a MeridianLink Mortgage ProviderDef to the platform OAuth2 client registry **************** vendor client_id ("Vendor Client ID") + non-secret config.token...
Market LOS connection proxy + client
Phase 3 (Task 3.2) kamo-internal half: the Next.js proxy + typed client for a market's MeridianLink connection, backed by SecurityService's MarketLosConnectionC...
Send X-***-Token on the upload XHR (fixes all uploads failing)
The session moved from a cookie to per-tab sessionStorage (896ea516); window.fetch is monkey-patched to attach X-***-Token to /api/* calls, but the raw XMLHttpR...
Console-background pref per-member in DB; clearer upload error
- useBackgroundMode now persists the plain/slideshow choice in the member's DB ui-preferences (follows the member across devices) instead of per-device loca...
What-If Studio as 3rd form sub-tab; sandbox stacked to fit form column
Header KPIs show reliably (relax gate + wrap header row); swap output columns, **************** on left
Cap concurrent uploads (queue, max 3)
Multi-file upload fired every selected file at once, and the burst of concurrent server-side resizes OOM'd the image service. Queue the uploads and run at most ...
Outputs panel 2-col (Eligibility left, short menus right); drop KPIs/meters now in header
Mortgage KPI + LTV/DTI/Complete summary in page header (all tabs, residential-mortgage only)
Split fields into Mortgage Details / Property Address sub-tabs; drop card title
What-If overrides beside live comparison table; remove dead LeadScenarioWorkspace
Fields show as labels in view mode, inputs in edit mode; flagged state dropdown
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.