Add NATS progress publishing for background document conversion
ConversionProgressPublisher publishes real-time progress events for each conversion stage. DocumentConversionJob and ThumbnailGenerationJob now emit progress fo...
Add conversion progress NATS-to-STOMP relay
Relays document conversion progress from NATS to WebSocket clients. Supports both imgId-based and member-based topic routing for real-time progress updates duri...
Synchronous PDF conversion for e-signature template uploads
Template uploads now convert directly via ConversionService during the upload request. Publishes NATS progress events for real-time WebSocket updates on the fro...
Implement e-signature template management UI
- Replace E-Signatures tab placeholder with full template datagrid (AG Grid) with sub-tabs for Pending/Completed/Archived and Create New Template button - Add...
Add e-signature template API endpoints
- POST **************** — upload template with scope control - POST **************** — list templates by context and status - PATCH **************** — update te...
Add document conversion and thumbnail generation background jobs
- DocumentConversionJob: polls for unconverted files, sends to ConversionService, stores converted PDFs with deduplication - ThumbnailGenerationJob: renders f...
Add e-signature template support to imaging system
- Add SigTemplateStatusType enum (PENDING, COMPLETED, ARCHIVED) - Add SYSTEM_WIDE ImageAssocType for cross-context templates - Add isSigTemplate, sigTemplateSta...
Create ConversionService for document-to-PDF conversion
New Spring Boot microservice that converts documents to PDF using Docs and removes PDF security restrictions using Apache PDFBox. Includes K8s manifests and For...
Change widget label from 'I'm not a robot' to 'Verify' across all locales
Replace Capcha npm package with private-labeled kamo-capcha-widget fork
Switched from upstream Capcha npm package to our MIT-forked kamo-capcha-widget with all branding stripped at source. Removed shadow DOM hacks and CSS overrides ...
Fork Capcha v3.0.2 widget with branding removed for private labeling
Upgrade to Capcha-lib v2 with PBKDF2/SHA-256 and deterministic effort
- Algorithm: PBKDF2/SHA-256 (recommended for production) - Deterministic effort: counter range 5000-10000 - Cost: 5000 PBKDF2 iterations - Challenge expiry: 300...
Integrate Capcha proof-of-work *** widget into login and recovery pages
Replace Google re*** with Capcha *** verification
Remove Re***Service and all Google re*** configuration. Add CapchaVerificationService that verifies *** payloads via kamo-capcha service's /api/verify endpoint....
Auto-flatten 3D scroll elements when user stops scrolling
Adds scroll-idle detection so perspective-rotated elements animate to flat after 300ms of no scrolling, instead of staying tilted. Once flat, they stay flat unt...
Add minimum advance booking field to webinar settings UI
Adds a number input for configuring how far in advance a slot must be to allow reservations, with helper text explaining the field.
Enforce minimum advance booking when filtering available slots
Filters out slots that fall within the configured minAdvanceBookingMinutes window, and persists the field on create/update of webinar types.
Add minimum advance booking field to webinar type
Adds minAdvanceBookingMinutes to WebinarType entity and DTOs, allowing admins to require slots be booked a minimum time in advance (e.g., 24 hours). Slots close...
Add PUBLIC_WEBINAR scope toggle to API key management UI
Adds the Public Webinar scope option with VideoCall icon to the API Access settings page, allowing admins to enable webinar API access per key.
Enforce PUBLIC_WEBINAR scope on public webinar endpoints
Adds scope validation check before forwarding public webinar requests to MediaService, returning 403 if the API key lacks PUBLIC_WEBINAR scope.
Add PUBLIC_WEBINAR scope to API key system
Adds a new ApiKeyScope.PUBLIC_WEBINAR enum value to gate access to public webinar scheduling, joining, and cancellation endpoints.
Add public webinar cancellation page with org-branded styling
Adds /cancel?inv={token} page for public attendees to cancel webinar registrations. Includes sidecar API proxy endpoints, nginx routing, and a fully branded can...
Redesign demo page with webinar scheduling integration
Replaces the placeholder demo form with a three-phase booking flow: 1. Lead capture form (creates lead with KamoCRM Platform market) 2. Webinar scheduling (join...
Add webinar scheduling UI with admin settings and member views
Implements the full webinar frontend in kamo-internal: - WebinarSettingsTab: admin CRUD for webinar types, presenter pools, reminder intervals, availability s...
Add webinar reminder job with NATS event publishing
Adds WebinarReminderJob (runs every minute) that checks for due webinar reminders based on configured intervals, publishes daemon.webinar.reminder events via NA...
Add webinar gateway routes for authenticated and public endpoints
Routes /api/webinar/** to MediaService for authenticated webinar operations and /api/public/webinar/** with API key validation for public scheduling and cancell...
Implement webinar scheduling backend with full business logic
Adds the core webinar scheduling system to MediaService: - WebinarService: CRUD for **************** presenter assignment **************** calendar conflict ...
Add webinar type and lead market seed data for KamoCRM demo
Adds seed data initialization for the webinar scheduling system: - "KamoCRM Software Introduction Demo" webinar type (45min, PRIORITY strategy) - Reminder inter...
Add webinar scheduling system entities, repositories, DTOs, and enums
Introduces the complete data model for the webinar scheduling system: - 9 JPA entities: WebinarType, WebinarPresenter, WebinarReminder, WebinarAvailabilitySlo...
Add dynamic Help & Tips panel and webhook URLs to provider integrations
- CommerceProviderSetup now uses HelpTipsOverrideContext to show contextual help that changes based on the current view (list, selector, or per-provider) - Co...
Add download SVG button to logo vector converter for mid-process export
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...
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
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.
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.