Add findDueReminders and markAsSent queries to CalendarEventReminderRepository
Add ICS generation for REQUEST/REPLY/CANCEL and calendar message parsing
Add method/organizerEmail to CalendarEvent, role/rsvp/lastResponseAt to CalendarEventAttendee
Add inline book creation in Add to Contacts dialog
The contact book dropdown now has a 'Create new book' option at the bottom. Clicking it reveals an inline text input with an Add button. The user can type a nam...
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 recipi...
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 ...
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-...
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 searc...
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 re...
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 t...
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 aggreg...
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, a...
Wire SoftphonePanel to useSoftphone hook; remove all mock state; add capability guards
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
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 ...
Add useSoftphone hook with WebPhone SDK, STOMP events, and REST data loading
Add call event webhook pipeline; branch SMS vs telephony events before processing
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.