Bump memory to 2Gi (headroom for concurrent ffmpeg)
With the resize semaphore in place, give the pod room for the JVM plus up to 2 concurrent ffmpeg image decodes so multi-file wallpaper uploads no longer OOMKill...
Mortgage KPI + LTV/DTI/Complete summary in page header (all tabs, residential-mortgage only)
Bound concurrent ffmpeg to prevent OOM under upload bursts
A multi-file upload fires all files at once; each ffmpeg decode allocates the full uncompressed frame, so N concurrent large images blew past the pod's memory l...
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
Rebuild to pick up shared-lib mortgage fields (LeadClaimMortgage +6)
Downscale-only (never upscale small images)
**************** scaled small images UP to fill the box (800x600 -> 1440x1080). Compute a concrete downscale factor capped at 1.0 from the probed dimensions ins...
Harden ffmpeg resize (probe safety, dim caps, bomb guard)
Adversarial-review follow-ups on the ffmpeg rewrite: - probeDimensions redirects ffprobe output to a file and calls waitFor() FIRST (destroyForcibly on timeou...
Fail the upload if resize fails (no full-size fallback)
Reverts the store-original fallback: if ConversionService cannot resize the image, return 422 instead of storing the full-size original (a huge image would then...
Resize backgrounds via ffmpeg subprocess (crash-isolated)
ImageIO + webp-imageio could native-crash the JVM (SIGSEGV in libwebp-imageio, UpsampleBgraLinePair_SSE2) on certain WebP inputs, taking the whole ConversionSer...
Mortgage Details tab wiring + Contact Info rename; remove inline mortgage block
Preview org photos in "Organization" mode; 24MB uploads
- Stage now previews the org's theme photos (config.json backgroundImageCount -> img/bg, like OrgSlideshowLayer) when Source = Organization; the filmstrip (...
Fall back to the original image when resize fails
ConversionService can native-crash (libwebp-imageio SIGSEGV) or be unavailable, which made every member wallpaper upload fail ("Failed to process image" -> 500)...
Coerce deriveRelevance purpose to LoanPurpose | null
scenarioFromLeadFields' loanPurpose is LoanPurpose | null | undefined, but Relevance.purpose is LoanPurpose | null — the possible undefined failed the prod type...
Stage preview scrolls in-flow + half height
Per feedback: the preview header no longer sticks/floats over the form as you scroll (removed the sticky pin, plus its now-unused prop + media query) and its he...
Background watermark on available/history/credits, centered on content card
Adds <BackgroundWatermark> to the shared LeadsCreditLayout content card (behind the table/list, above it via z-index) so /leads/available, /leads/history, and /...
Stop duplicating the memberId query in the GET proxy
The GET list proxy hand-appended ?memberId= to the apiPath, but forwardToApi already re-appends the browser's query string — producing ?memberId=X?memberId=X, w...
Add 6 persisted mortgage fields (debts, taxes, insurance, HOA, current payment, borrower age)
Center calendar watermark to container; move selector under logos
- BackgroundWatermark: make ThemeLogo a direct flex child of the container-filling box so sizePercent (e.g. /calendar 60%) is relative to the positioned con...
Rebuild to pick up shared-lib Organization.bgWatermark
No source change. Triggers CI to re-clone kamo-shared-library main (now carrying the bg_watermark org column added in bc45b97) so the org GET/PUT serialize and ...
Org Background Watermark setting (None/Full/Simple)
Adds a "Background Watermark" radio field to Settings > Essential > behavior-labeling > Branding that controls which logo (or none) renders as the faint backgro...
Add bgWatermark branding field to Organization
Nullable String column (NONE|FULL|SIMPLE) driving the per-org background logo watermark preference; null resolves to FULL on the client. Merged in patchOrganiza...
Drop the Background & Theme section from My Account
Completes the consolidation onto the dedicated wallpaper page: removes the org-vs-own switch, its handler, the "My Wallpapers" link and the now-unused backgroun...
Closing-forecast read passthrough (operator-gated, org from session)
Add "My Wallpapers" shortcut next to the background switch
The dedicated wallpaper editor was reachable from My Account but not from the home page. Adds a frosted "My Wallpapers" pill to the left of the top-right Backgr...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
