チェンジログ
何が新しいの?
プラットフォームのすべての改良 それが出荷される
· 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
会員のエンティティティティティにセルフォン埋め込みフィールドを追加
· kamo-shared-library
BulkTextProviderConfig のエンティティティとリポジトリを追加します
· kamo-shared-library
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
編集モード、タイトルフィールド、ライブステータスをソース管理に追加
- ManageSourcesDialogは、タイトルを編集するためのソースごとの編集ボタンを持っています 認証情報(CalDAV/CardDAV URL、ユーザー名、パスワード) - 新しいソースを追加するときにタイトルフィールドを追加して、ユーザーがそれらを区別できるように - WebSocketの統合によって運転される源ごとの赤/緑/黄色の状態の点 ステータス(接続/接続/認証) - ソースのステータスマップを含むWebSocketタイプの更新
· 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
チップ、オートコンプリート、コンタクトピッカーで近代的な受信フィールドを追加
基本テキスト入力をEメールに置き換えて、To/CC/BCCフィールドをリッチに構成 受信コンポーネント: ボタンを取除いたチップベースのディスプレイ、非バウンス 連絡先と最近の受信者を検索するオートコンプリート、ホバー/クリック 連絡先の詳細と行動(電子メール、連絡先の表示、 Add コンタクト)、ミニモードでドラッグツースクロール、マルチラインラップ フルスクリーン モード、および多選択の接触のピッカー ダイアログと本が付いている フィルター.
· 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 VoipMessageエンティティティにad添付Urlフィールドを追加します
· 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
OrgOAuthTokenリポジトリにfindAllByProviderを追加
