Download resultSvg directly without any manipulation
The pipeline SVG already has the background removed. Download it as-is.
Strip white background from SVG before download for true transparency
Parses the vectorized SVG and removes full-size white rect/path elements that the vectorizer generates from the original background, producing a genuinely trans...
Download transparent background-removed PNG instead of white-background SVG
The preview shows the background-removed PNG with transparency, but the download was providing the vectorized SVG which bakes the background as white paths. Now...
Add download SVG button to logo vector converter for mid-process export
Send firstName/lastName directly to create account endpoint
Backend now stores contact fields directly on Account — no User lookup needed.
Account endpoints use direct contact fields, no User required
POST /customers now saves firstName, lastName, email, phone, address directly on Account. PUT /customers/{uid} updates all direct fields. Display name, email, p...
Build complete provider integrations tab for retail e-commerce sync
Add full UI for managing 10 e-commerce provider integrations (Shopify, BigCommerce, WooCommerce, Wix, Ecwid, Squarespace, Magento, Shift4Shop, PrestaShop, OpenC...
Add commerce webhook forwarding endpoint for retail provider integrations
Add retail provider integration endpoints for connection testing, sync, capabilities, and webhooks
Implement complete retail provider integration system with 10 e-commerce providers
Add full adapter implementations for Shopify, BigCommerce, WooCommerce, Wix, Ecwid, Squarespace, Magento, Shift4Shop, PrestaShop, and OpenCart. Includes HTTP cl...
Wire New Account button onClick in AccountManager component
The button inside AccountManager had no onClick handler. Added router.push to /account/new and imported useRouter.
Create account page at /account/new with minimal form
Asks only essential fields: first name, last name, email, phone, company, account type, and optional market association. On submit creates account via accountsA...
Enhance POST /customers to accept contact info and lookup user by email
Create account now accepts email, contactName, phone, acceptsMarketing, taxExempt. If email is provided and matches an existing user, auto-sets as masterAccount...
Add UserRepository.findByEmailEmail for account creation email lookup
Add catch-all API route handler for /api/security/account/*
No proxy existed for /customers, /groups, and other new account endpoints. Existing explicit routes (members-subscribers, team-members-contractors) take priorit...
AccountsApi missing /customers path, hide TeamMemberManager internal tabs
- accountsApi was calling /api/security/account instead of /api/security/account/customers for all customer endpoints — fixed all methods to include /customer...
Separate AccountManager from TeamMemberManager on /account page
3 page-level tabs: Clients & Customers, Members, Team Members. - Tab 0: new AccountManager component — standalone, fetches real account data from accountsApi,...
Drop UUID-typed customer_id/customer_group_id columns for INT8 recreation
After RetailCustomer (UUID PK) → Account (Long PK) refactor, the commerce_carts, commerce_draft_orders, and commerce_price_lists tables had customer columns wit...
Full account view/manage page at /account/view/[id]
New enterprise account detail page with 6 tabs: - Overview: 4 stat cards (orders, spent, leads, members), account info, contact info, address, recent orders/l...
Add 18 account detail endpoints for commerce customer management
New endpoints on AccountController under /api/security/account/: - Customer CRUD: GET/POST/PUT/DELETE /customers, GET /customers/{uid} - Associated data: GET /c...
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...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.