Mabadiliko
Nini kipya.
Kila kuboresha jukwaa, kama ni meli.
· kamo-internal
Add help components for bulk text providers
· kamo-internal
Add BulkTextProviderCard and BulkTextProviderSelector components
· SecurityService
Accept cellPhone and cellPhoneIsText in member update endpoint
· kamo-internal
Add bulk text proxy route and API client
· VOIPService
Add BulkTextConfigController with CRUD + test endpoints
· VOIPService
Add BulkTextProviderFactory with tests
· VOIPService
Add InfobipTextProvider implementation with tests
· VOIPService
Add VonageTextProvider implementation with tests
· VOIPService
Add TwilioTextProvider implementation with tests
· VOIPService
Add BulkTextProvider interface and SendTextResult DTO
· kamo-shared-library
Add cellPhone embedded field to Member entity
· kamo-shared-library
Add BulkTextProviderConfig entity and repository
· kamo-shared-library
Add BulkTextProviderType enum
· InitializerService
Add cell phone columns to members table for bulk text SMS
· 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
· 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
· 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
· 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.
· 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
· 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.
· 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
· 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.
· kamo-internal
Wire SoftphonePanel to useSoftphone hook; remove all mock state; add capability guards
· 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
· InitializerService
Add attachment_url column to voip_messages
· kamo-shared-library
Add attachmentUrl field to VoipMessage entity
· 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
· kamo-internal
Add useSoftphone hook with WebPhone SDK, STOMP events, and REST data loading
· kamo-internal
Install ringcentral-web-phone; add call management API methods
· kamo-shared-library
Add findAllByProvider to OrgOAuthTokenRepository

Ulimwengu wako unasubiri.
Kuanza bure katika dakika. Ongeza bidhaa wakati wowote wewe ni tayari - hakuna uhamiaji, hakuna logins mpya.
Bure milele - hakuna kadi ya mkopo inahitajika