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...
Recompute P(fund) action on the Capital & Risk console
Steward button rebuilds the pipeline-funding projections from the live pipeline (POST passthrough, org from session) then reloads the fan/KPIs. Gives the flagsh...
Dedicated full-width wallpaper editor page
Adds **************** — a full-bleed, inline (no-popup) wallpaper editor, and moves all upload/gallery curation off the My Account tab. - New "cinematic Stage"...
On-demand LIGHT-tier AI summary on the Scenario Workspace Insights card
'AI summary' button posts the factual scenario to **************** → the org's configured provider. Graceful: no provider → deterministic rule-based insights st...
Spec for Background Watermark org setting
Design for a None/Full Logo/Simple Logo branding setting under Settings > Essential > behavior-labeling > Branding that governs the background logo watermark ac...
Lead Scenario Workspace — LO pre-qualification workbench on the mortgage lead
Right-side panel on /leads/view for mortgage leads: 14 modular tools (Summary, Eligibility, Payment, DTI, Affordability, Down-Payment/Rate comparison, Cash-to-C...
Keep manager open on upload/select; uploads join the slideshow
Members reported the background manager closing after every upload and every select, only one image appearing on the home slideshow, and the "use own" choice re...
Surface borrower-stated financials on the lead mortgage panel
Adds a 'Borrower-stated financials' subsection (estimated income/credit, purchase price, down payment, refi balance/cash-out) to /leads/view mortgage details, l...
Repair per-tab *** migration gaps in directory + timeout popup
The *** session moved from a shared cookie to a per-tab sessionStorage carrier (X-***-Token). A few consumers were never updated to match. - Interaction Center...
Show the "Manage Background Images" button so members can upload
The Background & Theme section used BackgroundManager under external open-control but nothing ever opened it, so the upload/select dialog was unreachable — you ...
Gate My-Profile backgrounds by the new rights + member/org slideshow
- Gate the My Profile "Background & Theme" section by MANAGE_OWN_BACKGROUND_IMAGES (self) / **************** (others); let a background-admin open another m...
Assign a loan officer to a deal from the originator section
The read-only Loan Originator section now has a loan-officer picker (org members via /members/names) + Assign, calling PUT **************** at the transaction l...
Scope the background back to the home + settings landings
Reverses the global-layout move — the member preferred the background on the landing(s) rather than behind every page. Backdrop is once again rendered per page ...
Scope by org server-side (empty assocObjectId) — folders/list no longer empty
Keying materials on the org-id string was fragile: the id loses precision through a JS number on the write path and resolves inconsistently across proxy→APIServ...
Provider config fields for cloud mail access
Add the config inputs the EmailService resolver reads to authenticate cloud mailboxes: - Google Workspace: service-account key (JSON) for domain-wide-delegation...
Render the console background globally in the layout, not per page
The background switch stays on the home page, but the chosen background (plain gradient or org slideshow) should be behind EVERY page, not just the two landings...
Deal-scope a vault upload from the account documents tab
The upload dialog now offers an optional "Deal" selector (the account's transactions); choosing one stamps loanTransactionId so a time-sensitive doc (credit rep...
Per-device background switch — plain gradient or org photo slideshow
Adds a two-icon switch top-right (under the trial pill; it rises into the pill's place once the trial ends) to choose the console background: - Plain gradient (...
Folders/list empty (org-id precision) + default visibility Team-Members-Only + custom labels
Root cause: materials store assocObjectId as the org id, which round-trips through a JS number on the write path (precision loss >2^53), so reads with the preci...
Transaction-first pipeline — PrimeReact expandable rows
Replaces the flat loan grid with a PrimeReact DataTable of TRANSACTIONS that start collapsed and expand IN PLACE to their member loans (no two-click drawer), so...
Re-add the trial pill top-right (color-swapped NavPri pill)
Keeps the trial line in the masthead status strip and re-adds a prominent pill in the top-right so an org's trial mode stays obvious. It's the NavPri expanded t...
Live "insert between" while dragging, not just drop-to-swap
Previously the order only changed on drop, so it read as swapping into a slot. Now the list re-flows live as you drag: dnd-kit onDragOver moves the dragged opti...
Sibling-loan switcher on the application view
A transaction can group multiple loans; the app header now shows a switcher to jump between the deal's sibling loans (hidden for single-loan deals) instead of o...
**************** (FE type)
Mirrors the backend field for the pipeline Transaction # column. Verified: tsc --noEmit clean.
Stop external-images banner flashing on already-allowed messages
The reading pane renders a message from its IndexedDB cache before the network fetch returns, and the cached copy lacks the server remoteImagesAllowed flag (und...
Drag-and-drop to rearrange launchpad options, saved per member
Members can now reorder their home options by dragging, and the arrangement is persisted server-side per member (survives reloads and follows them across device...
Make Materials the first tab + default landing; remove Overview
Overview tab removed; Materials is now first. The /marketing index redirects to the first accessible tab (Materials by default), so anyone opening Marketing lan...
Loan Originator section is read-only / system-managed
The Loan Originator card no longer hand-edits URLA §9 data (the duplication of **************** it was re-capturing). It renders read-only: a LIVE projection of...
Masonry layout so mixed-height option cards pack without ragged gaps
Leaf cards are short and parent cards vary with their sub-item count (Calculator has 9 modes, VoIP 2), so a uniform grid left big gaps under the short cards in ...
Add missing account-assign proxy route
The lead-account assign/unassign UI called POST/DELETE **************** but the Next.js proxy route was never created — so requests 404'd and surfaced as "Unkno...
Add Product filter dependent on Vendor
Adds a Product filter to the /leads filter bar, immediately right of the Vendor filter. It behaves like the Status/SubStatus pair: disabled until a vendor is se...
AI auto-tag + caption UI; provider cost-tier/vision settings (P3)
Settings → AI → Providers: each provider gains a Cost tier (Light/Medium/Heavy) select and a Supports vision toggle (+ list chips). Materials drawer: 'Suggest t...
Persist "display external images" server-side instead of localStorage
The choice now comes from the message's server-recorded remoteImagesAllowed flag and is saved via POST **************** so it's durable and consistent across de...
Parent options expose their sub-items instead of being single links
Mail, Docs, VoIP, Calculator and Support are nav options that open a sub-menu rather than navigating, so on the home launchpad they must not be a single link. E...
Persist OAuth provider selection immediately so the switch sticks
Selecting Microsoft 365 / Google Workspace / Zoho only navigated to the connect screen without saving, so leaving before completing OAuth reverted to the previo...
Let admins connect RingCentral on a member's behalf
On another member's phone settings, an admin with manage-VOIP rights (canManageVoipConfig) now sees Connect/Reconnect/Disconnect for the member's RingCentral ac...
Remember "display external images" per message
The unblock choice lived in the renderer's local state, but switching messages unmounts/remounts the iframe renderer (the reading pane shows a loader between me...
Usage analytics + Insights view (P2)
Records **************** events and an Insights dialog with org totals + the most-used materials (by downloads + previews).
Approval workflow UI + load-all filtering (P2)
Status control in the drawer **************** status badge on tiles, and a status filter in the toolbar. Also loads all material pages up-front (capped) so sear...
Treat ACTIVE status as connected in OAuth provider configs
The Microsoft 365 / Google Workspace / Zoho config views gated their connected state on providerStatus === 'CONNECTED', but the backend EmailProviderStatus enum...
Per-member RingCentral connect + softphone web-phone v2 fixes
Softphone SDK fixes (ringcentral-web-phone is v2.4.0, not the v0.x the adapter targeted — the old wp.userAgent.* usage threw on init): - Rewrite RingCentralPhon...
Collections/campaigns UI (P2)
Left-nav Collections section (create/select/delete), campaign filter on the collection view, and a collections editor in the detail drawer (add/remove material,...
Tags UI + access-level control (P2)
Tags (org-scoped, cross-cutting): tag chips on tiles, a tag filter bar (AND across selected), and a tag editor in the detail drawer (assign/remove existing, cre...
Managed public links UI (P1) — create/expiry/revoke/view-count
Detail drawer gains a 'Public links' panel (ShareLinkManager): create a durable link with an optional label and expiry (1h/1d/7d/30d/never), copy it, see its vi...
Add right-click / long-press context menu to conversation-view rows
Completes the list action menu across both view modes. Conversation rows now open the same shared menu on right-click and touch long-press with thread-level act...
Enterprise Materials workspace (P0) — folders, search, bulk, real preview, shared email composer
Replaces the flat 200-item grid with a full document workspace over the existing imaging backend (which already supports folders, trash, sharing, history, bulk ...
Overhaul /messages — iframe rendering, list context menu, threading, races, a11y
Implements the audit of the /messages page end-to-end. Reported issues: - Reply/Reply All/Forward buttons now show text labels; removed from the more-actions ...
Source home from the nav registry, add nav cross-highlight, fix settings scroll
The home page was rendering a stale, separately-maintained feature list (Clubhouse, Feed, Reports, Tasks, Network) that isn't even in the nav registry, so it ex...
Instrument Panel redesign — accent families, masthead, section-index nav, unified glass card
Redesigns the two most-visited landings into a permission-shaped operator's console. Foundation - Turn on the already-bundled Geist Sans/Mono (were discarded b...
Rename Material ID field title to 'Marketing Material ID'; drop help tip
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.