Changelog
What's new.
Every improvement to the platform, as it ships.
· kamo-internal
Add relationship status bar at bottom showing source field and cancel button
· kamo-internal
Show all virtual fields for split modifiers and allow mapping from virtual fields
· kamo-internal
Add split and value modifiers UI for file fields with virtual field support
· kamo-internal
Redesign settings page with card-based layout similar to root page
- Replaced sidebar navigation with card grid layout - Added all settings categories and subcategories as individual cards - Organized settings into sections: Essential Setup, My Account, Security, CRM, Email, Phone - Added grayscale logo background similar to root page - Each card links directly to specific settings page/tab - Conditional rendering based on organization features - Total of 23 settings cards covering all available options
· kamo-internal
Improve field mapping UX - drag from file to system, allow multiple mappings, move stats to top
· kamo-internal
Swap field mapping columns, add remaining fields label, fix arrow positioning
· kamo-internal
Add nowrap to preview table, auto-select single options, and validate required data
· kamo-internal
Improve lead import field mapping UI/UX
· kamo-internal
Complete lead import system with file parsing, field mapping, transformations, validation, and batch processing
· SecurityService
Add LeadImportController with duplicate detection using vendorLeadID and composite key (vendorProductId|vendorLeadID)
· kamo-shared-library
Add lead import DTOs (LeadImportRequest, LeadImportResponse) for file-based lead imports
· kamo-internal
Add room page with grayscale logo background
- Created new room page at /app/room/page.tsx - Added logo as background image at 60% size - Applied grayscale filter to background logo - Centered and vertically aligned logo background
· kamo-internal
Add simultaneous call detection on frontend - Check for incoming call before starting new call - Auto-accept incoming call if user tries to start one - Update dependency arrays to include call state variables
· MediaService
Add simultaneous call detection and auto-connection - Track pending calls per session to detect simultaneous attempts - Auto-resolve when both users call at same time - Use first caller's callId and auto-accept the second - Clean up pending calls on answer/end - Remove duplicate otherMember lookup code
· MediaService
Implement proper call initiation and acceptance flow - Backend sends call-initiation WebSocket notification to other user - Frontend handles call-initiation messages and shows incoming call UI - Auto-opens chat box when incoming call is received - Only caller shows connecting state until callee accepts - Implemented answerIncomingCall to properly join the call
· kamo-internal
Add system messages to chat for WebRTC events - Add 'system' author type to ChatMessage interface - Add system message rendering with styled bubble - Add system messages for connection attempts, call status, missed calls - Integrate with useWebRTC to dispatch system message events - Use MediaSession GUID (sessionGuid) for Janus session identification
· MediaService
Add JanusService for WebRTC gateway integration - Add JanusService Java service for interacting with Janus WebRTC Gateway API - Configure Janus API URL, secrets, and STUN/TURN servers in application.yml - Support session creation, plugin attachment, and room management
· kamo-internal
Integrate Janus WebRTC Gateway for video/audio/desktop sharing - Replace peer-to-peer WebRTC with Janus VideoRoom plugin for video/audio calls - Add Janus Streaming plugin infrastructure for desktop sharing - Implement room-based architecture using sessionGuid for deterministic room IDs - Add proper cleanup and error handling for all call types - Install janus-gateway npm package
· kamo-internal
Auto-open chat window when receiving messages from another user - unminimize if minimized, open if closed
· MediaService
Add EXTENSIVE logging to WebSocketConfig and ChatWebSocketController - every STOMP frame, handshake, subscription, and message logged
· kamo-internal
Add EXTENSIVE logging to useChatWebSocket hook and ChatBox component - every single step logged
· kamo-internal
Create welcome presentation page with feature cards
- Added full logo display at top left using ThemeLogo component - Created modern, polished welcome page with feature cards grid - Each feature card includes icon, title, and description - Features are conditionally displayed based on organization settings - Responsive design with hover effects and gradient backgrounds - Includes links to all primary site functionality (Clubhouse, Feed, CRM, Accounts, Pipeline, Messages, Documents, Phone, Calendar, Notes, Tasks, Reports, Network, Support, Settings)
· kamo-internal
Move debug page to System Debug tab in Security settings - Created SystemDebug component from debug page content - Added System Debug tab to /settings/security - Replaced root /app/page.tsx with blank page - Added System Debug menu item to settings navigation
· kamo-internal
Add custom forms management to Markets & Fields page - Add custom forms selection and ordering UI in market dialog - Implement drag-and-drop reordering for custom forms - Add form selector dialog to choose existing forms - Add Custom Forms column to markets table - Update interfaces to support custom form associations - Add API service method to fetch custom forms
· SecurityService
Update LeadMarketController to support custom forms - Use new overloaded service methods that accept request DTOs - Remove redundant salesType conversion (handled in service)
· kamo-shared-library
Add custom forms support to markets - Add MarketCustomForm entity for many-to-many relationship with ordering - Update LeadMarket to include customForms relationship - Add MarketCustomFormRepository - Update LeadMarketDTO to include custom forms - Update request DTOs to support custom form associations - Add service methods for managing custom form associations
· kamo-internal
Add comprehensive custom forms builder with drag-and-drop
- Update CRM page: Change tab name from "Custom Online Forms" to "Custom Forms" - Add CustomFormManager component for form list/browse with create/edit/delete - Add FormEditor component with full drag-and-drop support: * Vertical drag-and-drop for stack reordering * Horizontal drag-and-drop for field reordering within stacks - Add FieldStack component for stack management with descriptions - Add FieldTypeSelector component for selecting field types - Add FieldConfigurationPanel component with support for all 12 field types: * Text (maxChars), TextArea (rows), Money (country), Date, DateTime * Dropdown/Radio/List (options management), Checkbox, Address (country) * US_SSN (3-part format), US_State (searchable with flags) - Implement field ID validation (format and uniqueness) - Add comprehensive form validation - Modern UI with lucide-react icons and polished styling - Full API integration with error handling
· SecurityService
Add CustomFormController for custom forms API endpoints
- Add REST controller at /api/security/custom-forms - Implement GET, POST, PUT, DELETE endpoints for form management - Support form structure with stacks and fields - Include organization-scoped access control - Full CRUD operations for custom forms
· kamo-shared-library
Add custom forms feature with form builder support
- Add FormFieldType enum with 12 field types (TEXT, TEXT_AREA, MONEY, DATE, DATE_TIME, DROPDOWN, RADIO, LIST, CHECKBOX, ADDRESS, US_SSN, US_STATE) - Add entity classes: CustomForm, FormStack, FormField with full JPA relationships - Add repositories: CustomFormRepository, FormStackRepository, FormFieldRepository with organization-scoped queries - Add DTOs: CustomFormDTO, FormStackDTO, FormFieldDTO, CreateCustomFormRequest, UpdateCustomFormRequest - Add CustomFormService with CRUD operations, field ID validation, and form structure management - Implement comprehensive field ID validation (lowercase alphanumeric, no consecutive separators, unique within form) - Support for nested form structure with stacks containing fields
· kamo-internal
Fully wire vendors-products page with modern UI, full CRUD for vendors and products

Your universe is waiting.
Start free in minutes. Add products whenever you are ready — no migration, no new logins.
Free forever — no credit card required