Block login until *** verified, remove all Capcha branding via shadow DOM, use onfocus auto mode
Remove Capcha branding and upgrade to PBKDF2/SHA-256 with deterministic effort
Add explicit AS keyword for PostgreSQL column alias in session and event queries
The session and event expanded metrics queries use implicit column aliasing (`${column} name`) which causes a PostgreSQL syntax error when the column name (like...
Read OTK from Redis master after SecurityService login
Avoids missing *** when REDIS_REPLICA_HOST points at a lagging replica.
Make hexagon icon borders thicker and visible
Replace invisible CSS border (clipped by clip-path) with a ::before pseudo-element border that extends 3px outside the hexagon shape.
Add debug logging and robust rights parsing for webinar controller
Adds info/warn logging for session data and rights on POST /types to diagnose 403 errors. Also adds fallback parsing for rights stored as JSON strings in Redis ...
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.
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.