Add **************** and ****************
New query methods for account detail page — order lookup by purchaser and account listing by org.
Update customer endpoints to use Account (Long uid), remove address endpoints
Customer/group @PathVariable changed from UUID to Long to match Account entity. Address endpoints removed — addresses come from Account's primaryMember (Member ...
Replace RetailCustomer with Account-based customer model
Account.java was already the commerce customer entity but was too minimal. RetailCustomer duplicated this concept. This commit: - Enhances Account with commerc...
RetailProviderConfigRepository uses MarketId not MarketUid
CommerceMarket PK field is 'id' not 'uid'. Spring Data query derivation failed with 'No property uid found for type CommerceMarket'.
Clean up CockroachDB orphan brand_id/tax_class_id defaults on commerce_offerings
CockroachDB applies unique_rowid() as default to nullable FK columns, creating orphan UUIDs that break FK constraint creation. Nullify orphans and reset default...
Offering.requires_shipping DB default, PriceListEntryRepository Long type
- Add columnDefinition DEFAULT true for requires_shipping on Offering to handle existing rows during ALTER TABLE migration - Fix **************** to take Long...
Update footer social links with real URLs and correct icons
Replace GitHub with Instagram, Twitter icon with X brand icon, add LinkedIn. All external links open in new tab with noopener noreferrer. Update Organization JS...
Add retail pipeline sub-tabs — Customers, Fulfillment, Carts & Drafts
RETAIL verticals in the Pipeline page now have 4 sub-tabs instead of a single Orders view: 1. Orders — existing PipelineOrdersTab (unchanged) 2. Customers — Ag...
Enterprise retail settings UI — 5 new/rewritten market tabs for RETAIL
Product Catalog (rewritten): 4 sub-views — Products table with search/filters, hierarchical Categories tree, Brands management, Attributes with typed values and...
Add ~90 retail API methods and 30+ TypeScript interfaces to commerceApi
Full frontend API coverage for KamoRetail: categories, brands, attributes, variants, images, tags, reviews, customers, addresses, customer groups, tax classes/z...
Add 111 retail endpoints to CommerceMarketController
All endpoints under /{marketId}/retail/... namespace covering: - Categories, brands, attributes (with values), images, variants, tags, reviews - Customers, addr...
Add RetailService (2376 lines) and 38 retail DTOs
RetailService provides full CRUD for all KamoRetail entities across 7 domains: catalog (categories, brands, attributes, variants, images, tags, reviews), custom...
Add OG image warmup job for kamocrm.com
Quartz-scheduled job that pre-fetches opengraph-image URLs daily at 4 AM to keep the marketing site's OG image cache warm. Covers 23 static routes and 7 blog po...
Add programmatic OG image generation for all routes
Uses Next.js opengraph-image.tsx convention with Satori/Resvg rendering pipeline. Each route gets a branded 1200x630 image with Inter font, dark background, gra...
Add KamoRetail enterprise data model — 109 new entities, repositories, and provider abstraction
Full retail POS data model designed for standalone KamoRetail operation and bidirectional sync with Shopify, BigCommerce, Wix, Squarespace, Shift4Shop, Ecwid, W...
Match integrations banner scroll speed to built-with banner
Increased duration from 30s to 56s so both marquees scroll at ~88px/s regardless of item count.
Correct remaining subscription API paths and remove double header
API paths: getFeatures, updateFeature, deleteFeature now use /subscription-features; getAddOns, updateAddOn, deleteAddOn use /subscription-addons; getBundles, u...
Add 9 e-commerce platform logos to integrations banner
Added BigCommerce, WooCommerce, Magento, Squarespace, PrestaShop, Wix, OpenCart, Ecwid, and Shift4Shop to the "Integrates With" marquee, interleaved with existi...
Agreement editor layout — prevent whitespace overflow and content jamming
- Add width: 100% to root flex container - Add minWidth: 0 to right panel and content area to prevent flex overflow - Add overflowWrap/wordBreak to preview HTML...
Pass includeInactive=true default for agreement templates endpoint
Templates management UI needs to see inactive templates too.
Return all agreement templates including inactive ones
Add findByOrganizationId to repo (no active filter) and includeInactive param to getAgreementTemplates service method. Defaults to true so the management UI sho...
Standardize brand naming across site — Kamo → KamoCRM / KamoCRM Inc.
Legal pages (terms, privacy, GDPR, footer copyrights) now use "KamoCRM Inc." for the corporate entity. Product/brand references across marketing copy, metadata,...
Migrate all pipeline components from commerceMarketApi to commerceApi
Update 10 files to import directly from commerceApi instead of the deleted commerceMarketApi. Remove the compatibility shim and dead CommerceMarketManager compo...
Restore commerceMarketApi.ts as compatibility re-export from commerceApi
Pipeline components (PipelineOrdersTab, PipelineView, orders detail page, etc.) still import from commerceMarketApi. Re-export needed symbols from commerceApi.
Add enterprise-grade Agreement Templates tab to all market types
Reusable MarketAgreementTemplatesTab added to every commerce market with: - Two-panel layout: template list sidebar + full editor - Commerce-type-specific templ...
Reduce hero section padding on mobile so headline is fully visible
Tightened pt and mb spacing at base breakpoint so "Unify Your Clients," is no longer pushed off-screen on portrait phones where the fixed banner and nav consume...
Make preview banner fixed to viewport and reduce hero text size on mobile
Banner is now position:fixed so it stays visible while scrolling, with body padding injected dynamically to prevent content overlap. Hero headline reduced from ...
Correct API paths, professional page layouts, remove dead code
- Fix frontend API path mismatches: use subscription-features, subscription-addons, subscription-bundles, **************** subscription-plan-prices, subscri...
Promote Features, Add-ons, Bundles to market-level tabs for SUBSCRIPTION markets
Features, add-ons, and bundles are shared market-level resources, not per-plan. - Add Features tab (manage + feature matrix), Add-ons tab, Bundles tab to market...
Add missing vendor-categories endpoints to CommerceMarketController
GET/POST/PUT/DELETE /{marketId}/vendor-categories were missing, causing 404 when the Vendors tab tried to load categories.
Unwrap backend response envelopes in all commerceApi single-object methods
Backend wraps responses in { market: {...} }, { product: {...} }, etc. but API client was returning the raw envelope, causing market.id and other properties to ...
Make preview banner responsive with dynamic height and raise chat z-index
Banner now measures its own height via CSS variable so nav/content adapt automatically when text wraps on small screens. Chat widget z-index raised above the ba...
Add marketId to CreateRentalAssetRequest and wire market association in CommerceService
Refactor commerce POS settings to market-centric architecture
Major restructure of the commerce settings page: Frontend: - Replace flat tab layout (Products, Inventory, Rental Assets, Subscription Plans) with market-cen...
Expand CommerceMarketController with nested market-centric endpoints
Replace flat POS endpoints with market-scoped REST hierarchy: - Products, inventory, vendor categories under /{marketId}/products, /inventory, /vendor-categorie...
Add marketId support to retail product DTOs and CommerceService
Add marketId/marketTitle fields to RetailProductDTO, add marketId to CreateRetailProductRequest, and wire CommerceMarketRepository into CommerceService to set m...
Add field config logging to trace preview rendering pipeline
Adds console.log statements to SignaturePreview and EmailSignatureManager to verify fieldConfig state propagation and field filtering at runtime. Check browser ...
Mailbox dropdown now loads emails from the selected mailbox
Pass mailboxId through fetchMessages/fetchFullMessage to the backend, fix stale closure in mailbox-changed handler by passing mailbox directly to loadMessages i...
Support mailbox switching by resolving IMAP credentials per mailboxId
Added getMailCredentialsByEmail to look up virtual_users by email directly, resolveForMailbox to MailProviderResolver with access verification, and optional mai...
Align Status Labels nav order with CRM page tab order across all 3 locations
Je, unaona nini kuhusu usafiri?
Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.