UpdateLoanFile PATCH haipaswi kufuta maeneo yasiyokuwepo - kiraka cha hali tu kilichokatwa nambari ya mkopo / tarehe
Any partial loan-file patch (the portal's submit sends only {statusId:2}) unconditionally overwrote loanNumber, channelId, and every lifecycle date with null. G...
Never render literal "null" in lead view header name
The header and headerName memo built the contact name with template literals, so a NULL middle/last name stringified to the word "null" (e.g. "Sage null"). Buil...
Leads-first resume rail — signed magic links, contact recovery, lead snapshot
- PortalResumeService: 30-day HMAC token (PRESUME|guid|orgId|exp, keyed off the cluster internal.auth.secret — no new secret); mails RESUME_PORTAL_LINK. - POS...
RESUME PORTAL LINK template ya canonical - kiungo chako cha uchawi kuendelea kwenye kifaa chochote
Rebuild for shared-lib GeoLite bounded lookup (2-4ms hit+miss)
Picks up kamo-shared-library 011a73e — GeoLookupService's findByIpInRange now LIMIT-1-bounded instead of scanning to exhaustion on gap/high IPs (measured 5-13s ...
Guard /internal/voip with InternalAuthFilter as documented — it 401'd on session auth
VoipInternalSyncController always documented InternalAuthFilter as its guard, but /internal/voip was never in PROTECTED_PREFIXES nor excluded from the OTK sessi...
VoipGlobalSyncJob stamps the MLOS internal-auth secret VOIP actually validates
After the hostname fix the job 401'd: VOIP's InternalAuthFilter checks the mlos-internal-auth value, but the job read internal.auth.secret, which in DaemonServi...
VoipGlobalSyncJob targeted a nonexistent host — kamovoip-service, not voip-service
Every minute the job failed DNS on **************** the actual Service (and what StewardNotifier already uses) is kamovoip-service. Fixed the configmap default ...
Expose US state/region from GeoLite lookups
GeoLookupResult gains subdivisionCode/subdivisionName (GeoLite2 subdivision_1 = US state incl. DC; territories PR/GU/VI/AS/MP arrive as countryCode with no usab...
Bound IP block lookup kwa mstari mmoja indexed
findByIpInRange's two-sided range predicate forced CockroachDB to scan every block with networkStart <= ip whenever the IP fell in a gap (private/bogon/ spoofed...
Uzazi wa geolite config chini ya daemon: hivyo sync ya kila wiki anaendesha
Commit 53eed7b re-parented the geolite block under internal: while the code reads daemon.geolite.* — with SPRING_CONFIG_LOCATION replacing classpath defaults, G...
Anonymous GET /portal/assigned-lo - Kukubali utambulisho wa LO kwa uongozi wa guid
Inawezesha kadi ya juu ya kulia ya LO wakati LO inakubali Kiongozi (pre-login, kabla ya matumizi): guid header + org jeshi → kuongoza → Kwa mfano, Muhammad Bin ...
Boot crash — Ant matchers for the multi-servlet context (spring-ws /services/*)
MVC-implicit string maombiMatchers ni kukataliwa na Spring Usalama 6 mara moja MeridianLink ushirikiano MessageDispatcherServlet inajiunga na DispatcherServlet ...
Rebuild on shared-lib resolver hotfix (boot crash: LenderProfileRepository)
MortgageProviderResolver deps → ObjectProvider - ilikuwa ajali-looping Media Service
@Huduma ni sehemu ya huduma ya com.kamo, lakini mlos. wa wa wa wa wa wa wa wa wa wa @EnableJpaRepositories wanajiandikisha. Deps ngumu ya kujenga iliua Media Se...
'Meet your loan officer' — the borrower hears the moment their lead is accepted
Kwa kukubali (ASSIGNED), barua pepe bora ya MEET YOUR LO kwa mkopaji wa kuongoza wa mikopo: kukubali LO Jina halisi + NMLS + barua pepe + kiungo kinachoendelea....
MEET_YOUR_LO canonical template — borrower intro when an LO accepts their lead
Preferred name fills AKA+first; pool entry publishes the realtime lead event
(1) The funnel's preferred name now writes nameFirstAKA AND stands in for nameFirst until the legal name arrives (owner rule) — it was landing on first name onl...
CreateFromLead saved Declarations against a transient Borrower — save the app graph first
Same latent TransientPropertyValueException the blank create() fixed at its first caller; createFromLead's first real caller is the portal promote seam (caught ...
The lead→application conversion seam — POST /portal/promote
The funnel was a closed loop: nothing ever converted the portal lead into an application (blank mints only — no sourceLead, no seeded fields, no LO inheritance)...
AccountGuid insert always violated FIRST_SEEN_AT NOT NULL — ZERO portal leads ever created
Hibernate includes every mapped column in INSERT (no @DynamicInsert), so the unset timestamp went out as explicit NULL and the DB default never applied. Every v...
Member tooltip shows last active datetime + time ago
Interaction Center member rows now show a two-line tooltip: availability status plus when the member was last active — 'Active now' while online, otherwise 'Las...
Nyakati za mwisho za kuonekana + mwisho wa wingi
Picha zote na Wizara ya Mambo ya Ndani ya Nchi. .................................................................... Alikumbuka wakati wa uhai wake. Picha zote ...
Borrower pricing-quote endpoint — party-gated, integration-config-gated
POST **************** caller must be a loan party (or pipeline steward); resolves the tenant's PRICING_PPE integration — NOT_CONFIGURED / EXTERNAL_VENDOR_PENDIN...
Integrations-status endpoint — the portal's honest view of the org's vendor wiring
GET **************** per-category **************** runtimeVendor from the market integrations config via the runtime resolver. Session-gated; no secrets.
The doc-04 vendor RUNTIME — MortgageProviderResolver + VendorTypeBridge
The integrations tab wrote MortgageProviderConfig rows nothing consumed at runtime. Resolver: (org, VendorCategory) → activation-gated, profile-scoped, first-en...
Reply-all no longer CCs yourself; blank lines survive send
Reply All excluded only activeMailbox.emailAddress, which is unset on the default personal mailbox view — so your own address (from the original To:) landed in ...
AI vision document extraction — docs → org's vision provider → VerifiedFact(OCR)
The first producer of VerifiedFactSource.OCR: POST **************** reads a vault document (bank **************** ID) with the ORG'S OWN configured vision provi...
Real verified-fact reconciliation — evidence facts now populate the URLA
Replaces the M3a log-only stub: asset.* facts (grouped per source document) become Asset rows and employment.* facts become Employment rows via BorrowerSectionS...
ClaimedFactsDTO carries the FULL mortgage lead (35 fields)
Adds the 16 fields the portal structurally couldn't send (monthlyDebts, taxes, insurance, HOA, currentPayment, sellerCredits, renovationCost, borrowerAge, isVet...
Company NMLS ID field in org Company Info
Edit + read row + hydration + PUT (nmlsId). Feeds the borrower portal footer trust pill and the originator projection's company NMLS.
NmlsId is patchable — the company NMLS finally has a write path
Organization.nmlsId (SAFE Act identifier feeding the originator projection's originatorOrgNmlsId and the borrower portal's verified-license pill) was readable e...
Mortgage fields as 3 column panes on the Client Lead Data tab (reuse form via layout prop)
Add layout?: 'tabs' | 'panes' to MortgageFieldsComponent (default 'tabs', byte-identical to the existing Mortgage Workshop rendering). editControls, loanFields,...
Imefungwa mnyororo wa LO - portal inaongoza kuingia bwawa la kukubali-lead; kukubalika LO kuishi uongofu
(1) PortalLead Service ina njia ya bandari inayoongoza kwenye pool ya kazi ya msingi ya mikopo (kuhitajika Wakati una hatua ya kuwasiliana - mwongozo wa portal ...
KufungaHorizon - upeo wa monotonic + null kwa terminal / haijulikani
Live header KPIs from the draft; sellerCredits in cash-to-close; nav guard only when actually dirty
Endelea kuwa + Nini-kama seli moja gridi hivyo jopo matokeo anakaa katika safu ya kulia
Nini-kama hoja alifanya MortgageFieldsComponent kutoa Kadi + whatIfSlot kama sibling watoto; kwa kuwa MortgageDetailsTab huweka nje watoto wake katika gridi ya ...
Rebuild kuvuta " Warsha ya Mortgage" inaongoza tab kutoka kamusi ya tafsiri
Make What-If Studio its own pane below the form (drop the 4th tab)
Removes the "What-If Studio" sub-tab; the Scenario Sandbox now renders as its own pane below the Loan/Borrower/Subject Property form. Retitled "Scenario Sandbox...
Address-field layout + move agent block to Borrower tab + Payment above Eligibility
- Subject Property: Address + Address Details half-width side by side; City/State/Zip on one row (md 5/4/3, Zip narrowest). - Move buyer's-agent block (Repres...
Rejesha mpangilio wa matokeo mawili (Rate juu ya Ufahamu katika safu ya kulia)
Kabla ya reorder kusukuma Kiwango / maono katika safu ya kulia, collapsing usawa upande mmoja. Weka kadi fupi za muhtasari katika safu ya LEFT (Rate moja kwa mo...
Rebuild against shared-lib (sellerCredits + JsonIgnoreProperties lead DTO tolerance)
Add sellerCredits field + @JsonIgnoreProperties tolerance on lead request DTOs
Picha zote na Wizara ya Mambo ya Ndani ya Nchi. .................................................................... UpdateLeadRequest/LeadDTO MortgageFieldsDTO...
Remove Cash-to-Close card; move buyer's-agent fields to Subject Property tab
Je, unaona nini kuhusu usafiri?
Kila kitu kinaingia kwenye tovuti yako mwenyewe. Anza kwenye mpango wa bure na usome ukurasa huu tena katika mwezi mmoja.
