Add engagement endpoints GET /engagements and GET /engagements/{id}
Add POS controllers for retail products, inventory, and orders
- RetailProductController: CRUD for products - RetailInventoryController: inventory stock management - POSController: orders and mortgage applications
Add backend validation for required fields in lead imports
- Add validateRequiredFields method to check required fields before import - Validate email, firstName, and lastName are present - Validate mortgage-specific fi...
Refactor LeadImportController to use LeadService.createLead
- Replace manual field mapping with LeadService.createLead for consistency - Add mapRowDataToCreateLeadRequest to convert import mappings to CreateLeadRequest -...
Add LeadController with CRUD endpoints and market config
- Add LeadController with GET, POST, PUT, DELETE endpoints - Add endpoint to get market configuration for a lead - Fix LeadImportController to use saveLead meth...
Add LeadImportController with duplicate detection using vendorLeadID and composite key (vendorProductId|vendorLeadID)
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 fi...
Add LeadVendorController with full CRUD for vendors and products
Add LeadMarketController for managing lead markets via REST API
Use organization streamGuid for organization-wide media feed
- Added OrganizationRepository to MediaStreamController - Updated getFeed to use organization's streamGuid instead of querying all sessions - Updated createPost...
Add MediaFeedController for social media feed
- Add MediaFeedController with REST endpoints for posts, comments, likes - Implement paginated feed endpoint with access level filtering - Add image upload endp...
Add AccountController with endpoints for Members & Subscribers and Employees & Contractors
Store avatar hash and extension in *** session data
- Added updateSession method to KSessionService for updating session fields - Updated setActiveAvatar to store userAvatarHash and userAvatarExtension in session...
Include avatar URLs in member profile response
- Added helper methods to generate avatar URLs (getThemeDomain, getPublicBucketName, generateFileHash, getPublicBucketUrl, generateAvatarUrl) - Updated getMembe...
Implement hash-based file storage for avatars
- Generate SHA-256 hash from avatar ID after persistence - Store hash in database fileHash field - Upload files to MinIO using hash-based naming: {hash}.{fileEx...
Rebuild avatar system - backend generates presigned URLs directly like backgrounds
Organize MinIO storage with folder structure and add Avatar Creator SVG support
- Updated storage paths to use organized folder structure: * members/avatars/photos/ for photo avatars * members/avatars/vector/ for Avatar Creator SVG avat...
Add avatar, background, and member profile management endpoints
- Added AvatarController with CRUD operations for avatars (photo and Avatar Creator) - Added UserBackgroundController for managing user background images - Exte...
Add detailed logging for WebSocket subscription requests
- Added logging to trace when subscribeToSession is called - Logs payload and sessionGuid extraction - Logs database lookup for session verification - Helps dia...
Support two-member chat sessions and message pagination (default 100 messages)
Pre-consume X-OTK via filter to avoid expiry on large uploads; use pre-auth session in ImagingController
Expose endpoints under /api/security/imaging to match gateway
Enable server.shutdown=graceful, spring.lifecycle timeout; add shutdown-aware TaskScheduler/TaskExecutor
Support X-OTK and *** via Redis (KSessionService) to synthesize KToken
Add imaging endpoints and beans; integrate session; update application.yml and k8s configmap
Implement god mode permission in sessions
Changes to SecurityController: - Query is_god field from users table during login - Pass isGod to kSessionService.createSession Changes to KSessionService: - A...
Add titleShort to organization API response
- Added titleShort field to /org/domain/{domain} endpoint response - Enables frontend to display organization's short name in UI - Used in session expiration wa...
Implement sliding session expiration - CRITICAL SESSION FIX
- Refresh Redis TTL on every session access (sliding expiration) - Sessions now stay alive as long as user is active in ANY Kamo app - Change Redis key prefix f...
Add session info and extend endpoints for cross-app session management
Update KTokenSessionService to accept timezone parameter for *** cookie
Add effective timezone endpoint with Member->User->Organization cascade
Add countries endpoint to return list with banned status
Comprehensively enhance all 18 custom language phonetic patterns for better word generation
Implement multi-language BIP39 seed phrase generation with official word lists and custom phonetic patterns for 26 languages
Add MultiLanguageSeedPhraseService with web3j for multi-language seed phrase generation, update RecoveryController with language support
Return organization ATF fields in org/domain endpoint
- Return isAlcohol, isTobacco, isFirearms boolean flags - Enable frontend to check content against user country restrictions - Support dynamic ATF text generati...
Include country legal ages in organization endpoint
- Return country date format and separator in org/domain endpoint - Include legalAdultAge, legalAtfAge, and legalAtfCategories - Enable frontend to dynamically ...
Add registration and org domain endpoints for age verification
Implement multi-tenant OAuth configuration system
- Update GoogleCalendarService to fetch OAuth credentials from database per organization - Update MicrosoftOutlookService to use database-driven OAuth configs -...
Add iCal export and import functionality
- Create ICalService for RFC 5545 iCalendar format support - Implement calendar export to .ics file format - Implement single event export functionality - Add i...
Add CalendarSyncService for automatic background synchronization
- Create CalendarSyncService with scheduled tasks - Add automatic sync every 5 minutes for enabled integrations - Implement smart sync frequency checking based ...
Implement Google Calendar and Microsoft Outlook OAuth integrations
- Add GoogleCalendarService with full OAuth flow and calendar sync - Add MicrosoftOutlookService with Microsoft Graph API integration - Implement token exchange...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
