Align field name to isAvailableToChildren and enhance advance booking UI
Fixes 400 Bad Request when creating webinar types by sending isAvailableToChildren to match the Java DTO field name (Lombok generates getIsAvailableToChildren f...
Make webinar settings forms and table fill available content area
Removes maxWidth constraint from the details form so it fills the full width. Makes the types table and its container use flex layout to fill the available heig...
Widen formStrategy state type to string for TypeScript compatibility
The const assertion on WebinarPresenterStrategy made useState infer a literal type, causing a type mismatch with the string prop setter.
Update WebinarReminderJob to use renamed repository method
Calls **************** with a 24-hour max window instead of the removed findWebinarsWithDueReminders method.
Replace invalid JPQL temporal arithmetic with application-layer filtering
Hibernate 6 rejects subtracting a Long from an Instant in JPQL. Replaced findWebinarsWithDueReminders (which did nanosecond arithmetic in the query) with ******...
Pass pre-fetched overview data to StatusResponseTimes to prevent redundant fetch failure
Normalize Quill HTML output for consistent email rendering
Route all email body content through normalizeQuillHtmlForEmail and wrapBodyForEmail before sending, ensuring consistent HTML output whether or not a template i...
Remove RestTemplate bean dependency from BaseProviderHttpClient
BaseProviderHttpClient now creates its own RestTemplate internally instead of requiring one from the application context, fixing startup crash in SecurityServic...
Add internal auth secret for public catalog API proxy
Add **************** to the SecurityService deployment so the APIService can authenticate when proxying public subscription catalog and promotions requests.
Include SUBSCRIPTION_CATALOG in default scopes fallback
When MediaService doesn't return scopes in the validation response, default to including both PUBLIC_CHAT and SUBSCRIPTION_CATALOG scopes. This ensures public c...
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...
Send firstName/lastName directly to create account endpoint
Backend now stores contact fields directly on Account — no User lookup needed.
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.
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...
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...
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...
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...
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...
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.
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
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...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.