Update PipelineOrdersTab vendor field names to match backend DTOs
Changed v.uid → v.id, v.name → v.companyName, and selectedVendorId type from number to string to align with CommerceMarketVendor DTO.
Align TypeScript types with backend DTOs for commerce markets
The CommerceMarket, CommerceMarketVendor, and VendorCategory TypeScript interfaces used wrong field names (uid/name vs id/title, name vs companyName, websiteUrl...
Pipeline markets not loading and market manager layout spacing
Pipeline was showing "No commerce markets configured" because getPOSConfig() never returned the markets field. Now fetches markets from commerceMarketApi direct...
Market-aware POS tabs, pipeline tab fix, settings nav cleanup
Pipeline: Remove engagement-type fallback tabs, show empty state when no markets configured. Markets are now the sole source of pipeline tabs. Settings: Rename...
Resolve 'u.map is not a function' on POS settings and update Commerce nav
- Add defensive array extraction in commerceMarketApi (getMarkets, getVendorCategories, getMarketVendors, seedVendorCategories) to handle wrapped API responses ...
Resolve Next.js dynamic route slug conflict ('id' vs 'marketId')
Merge [marketId] directory into [id] for commerce-markets API routes. Next.js requires all dynamic segments at the same path level to use the same parameter nam...
Resolve TypeScript errors in enterprise pipeline tabs
- Make toCSV columns parameter optional with auto-derivation from object keys - Fix downloadBlob call in ProcurementTab (wrong arg count, missing Blob wrapper) ...
Pass markets prop to dashboard, engagements, and quick actions components
Add market filtering to engagements tab and market awareness to dashboard
Complete procurement tab and wire all enterprise components into vertical section
Complete mortgage pipeline tabs with enterprise features
- Enhanced PipelineApplicationsTab with borrower/property/loan detail dialogs, 10-step status workflow with color-coded chips, vendor assignment via marketId,...
Update pipeline to use market-driven tabs with backward compatibility
Add CommerceMarketManager and update POS settings to Markets & Fields
Add frontend API proxy routes and client for commerce markets system
Add commerce markets implementation plan
36 tasks across 7 chunks covering backend entities, controllers, frontend proxy routes, settings UI, pipeline integration, and enterprise-level tab completion f...
Remove duplicate session timeout fields from session types
Aligns with SecurityService change that removes createdAt/expiresIn from Redis session records and tokenExpiration from session info responses. - user-info/rou...
Update internal layout and styles
- Make main wrapper background transparent so home page fixed background is not covered - Include latest adjustments to automation, security access, and account...
Handle optional effectiveDate and processedAt in DateTimeDisplay
Type error: string | undefined not assignable to string | number | Date. Add null checks before passing to DateTimeDisplay, show em-dash when absent.
Align Commerce submenu with actual Commerce page tabs
- Rename Domain Configuration to Engagement Types - Add Rental Assets, Vendors, Subscription Plans - Update tab param to engagement-types for consistency - Labe...
Datagrid column sizing + DateTimeDisplay for all dates
- Datagrids: columns fill width with flex/minWidth/maxWidth; one flex column per grid - All pipeline grids use DateTimeDisplay for date columns (agDateColumnFil...
Advanced datagrids fill 100% of content area
- SettingsView: tab content wrapper overflow hidden, motion.div flex chain so tab content gets bounded height and grids can expand. - PipelineRentalAssetsTab:...
Use string IDs for pipeline detail APIs (JS safe integer)
- posApi: getOrder, getMortgageApplication, getEngagementById, getBooking accept number | string, URL uses String(id) - Detail pages: pass route id (string) to ...
Fix detail back links and document detail pages
- **************** row-click uses uid ?? id (or id ?? uid) for navigation - Detail and NotFound back links: retail, mortgage, rental, service, subscription, pro...
Reorganize by vertical with intent/commitment sub-tabs
- Main tabs: Dashboard | Engagements | Retail | Mortgage | Rental | Service | Subscription | Vendor (one per enabled vertical) - PipelineVerticalSection: sub-ta...
Restore form controls on settings member tabs - fix flex layout collapse
- TabPanel: keep overflow-y auto for scroll, use overflowX hidden - SettingsView: move scroll to parent Box, motion.div uses display block to size to content - ...
Restore vertical scrollbar and fix collapsed panes on settings pages
- TabPanel: change overflow from hidden to auto for tab content scrolling - SettingsView: enable overflow-y auto on tab content Box and motion.div - ProfileTab:...
Force light mode - prevent OS/browser dark mode from affecting site
- Add force-light-mode-styles.ts with override rules - Inject override in DynamicMetaLoader after external theme CSS loads - Add server-rendered fallback style ...
Null-safe API response handling + shared layout for sub pages
- posApi: add null checks for getOrder, getMortgageApplication, getEngagementById, getBooking, getProduct, getRentalAsset, getRentalRequest, getAgreement, g...
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.
