Skip to content
KAMOUniverse

Changelog

What's new.

Every improvement to the platform, as it ships.

  1. · kamo-internal

    Add help components for bulk text providers

  2. · kamo-internal

    Add BulkTextProviderCard and BulkTextProviderSelector components

  3. · SecurityService

    Accept cellPhone and cellPhoneIsText in member update endpoint

  4. · kamo-internal

    Add bulk text proxy route and API client

  5. · VOIPService

    Add BulkTextConfigController with CRUD + test endpoints

  6. · VOIPService

    Add BulkTextProviderFactory with tests

  7. · VOIPService

    Add InfobipTextProvider implementation with tests

  8. · VOIPService

    Add VonageTextProvider implementation with tests

  9. · VOIPService

    Add TwilioTextProvider implementation with tests

  10. · VOIPService

    Add BulkTextProvider interface and SendTextResult DTO

  11. · kamo-shared-library

    Add cellPhone embedded field to Member entity

  12. · kamo-shared-library

    Add BulkTextProviderConfig entity and repository

  13. · kamo-shared-library

    Add BulkTextProviderType enum

  14. · InitializerService

    Add cell phone columns to members table for bulk text SMS

  15. · kamo-internal

    Inline Add to Contacts dialog from recipient popover

    Replace the old behavior (navigating to /contacts page, losing the composer) with a lightweight inline dialog that: - Pre-fills first/last name from the recipient display name - Pre-fills email address from the recipient - Pre-fills organization and title if available from contact data - Lets the user pick a contact book from a dropdown - Supports adding multiple emails, phones, and organizations - Has label selectors (work/personal/home/mobile etc.) - Shows notes field - Saves via the existing POST **************** API - Updates the recipient chip to isFromContacts after successful save - Renders via portal to escape the tool window stacking context - Auto-closes on success with brief confirmation

  16. · kamo-internal

    Add edit mode, title field, and live status to source management

    - ManageSourcesDialog now has edit button per source for editing title and credentials (CalDAV/CardDAV URL, username, password) - Add title field when adding new sources so users can distinguish them - Red/green/yellow status dot per source driven by WebSocket per-integration status (connected/connecting/failed) - WebSocket type updated to include per-source status map

  17. · EmailService

    Add per-source sync status in WebSocket + displayName support

    - WebSocket sync status now includes per-integration statuses in a 'sources' map keyed by integration ID - applyConfig now handles displayName field for user-defined source titles

  18. · kamo-internal

    Add modern recipient fields with chips, autocomplete, and contact picker

    Replace basic text inputs in email compose To/CC/BCC fields with rich recipient components: chip-based display with remove buttons, debounced autocomplete searching contacts and recent recipients, hover/click popover with contact details and actions (copy email, view contact, add to contacts), drag-to-scroll in mini mode, multi-line wrap in fullscreen mode, and a multi-select contact picker dialog with book filtering.

  19. · kamo-internal

    Add sync toggle, source management, and WebSocket status

    - Overhaul ContactsLeftPanel with 3 display modes: org-only books, sources with nested books (sync off), and flat org books (sync on) - Add SyncFooter with real-time WebSocket-powered sync status indicator - Add AddSourceDialog for managing contact provider integrations - Add useContactSyncWebSocket hook for STOMP sync status subscription - Add toggleMemberSync to useContactIntegrations hook - Add no-books guard on Create Contact (shows alert if no books exist) - Default CreateContactDialog to org default book - Remove PersonalProviderSection from member settings page

  20. · DaemonService

    Include memberId in sync complete NATS messages

    SyncCompletePublisher now accepts optional memberId parameter, and ContactSyncJob passes it from the integration's member reference. This enables EmailService to route WebSocket sync status updates to the correct member topic.

  21. · EmailService

    Add member-level sync toggle and WebSocket sync status

    - Add PUT /member/sync-toggle endpoint to batch-toggle syncEnabled on all member integrations at once - Add ContactSyncWebSocketController broadcasting aggregated sync status to /topic/contacts/sync/{memberId} via STOMP - SyncEventListener now broadcasts WebSocket updates when daemon.sync.complete arrives with a memberId

  22. · kamo-internal

    Add Create Contact dialog with multi-tab form

    Adds a fully-featured Create Contact dialog accessible via a "New" chip in the contacts toolbar. The dialog supports all contact sub-entities (emails, phones, addresses, orgs, URLs, IMs, relationships) across 5 tabs with multi-value add/remove, primary toggles, auto-generated formattedName, and client-side UID generation.

  23. · kamo-internal

    Wire SoftphonePanel to useSoftphone hook; remove all mock state; add capability guards

  24. · kamo-internal

    Send and display image attachments in chat

    - SmsChatTab: read file as base64 via FileReader, pass to API, render <img> in message bubble - voipApi: add attachment params to sendSms

  25. · InitializerService

    Add attachment_url column to voip_messages

  26. · kamo-shared-library

    Add attachmentUrl field to VoipMessage entity

  27. · VOIPService

    Add MMS attachment support — multipart send, base64 storage, image display

    - RingCentralProvider: override sendSms with multipart/form-data MMS path - VoipMessageService: accept attachment bytes, store base64 data URL in attachmentUrl - SmsController: decode base64 attachment from request, include attachmentUrl in response

  28. · kamo-internal

    Add useSoftphone hook with WebPhone SDK, STOMP events, and REST data loading

  29. · kamo-internal

    Install ringcentral-web-phone; add call management API methods

  30. · kamo-shared-library

    Add findAllByProvider to OrgOAuthTokenRepository

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