chatwoot/app/javascript/dashboard/components-next/message
Muhsin Keloth 0bd0cab868
feat(voice): Attach call recordings + show call duration on the bubble (#14344)
When an inbound voice call ends, the conversation bubble now (1) renders
an inline audio player as soon as Twilio finishes the recording and (2)
shows the call duration alongside "Call ended" so the agent gets the
at-a-glance summary without opening the recording.

Fixes
https://linear.app/chatwoot/issue/PLA-118/feat-recordings-on-calls-should-be-attached-on-the-conversation
and
https://linear.app/chatwoot/issue/PLA-119/duration-of-the-call-is-not-visible-on-the-chat-bubble

## How to test

1. Set up a Twilio voice inbox and trigger an inbound call.
2. Answer the call from an agent, talk for a few seconds, then hang up.
3. As soon as the call ends, the bubble should read **"Call ended —
0:NN"** (where NN is the call duration in seconds).
4. Wait a few seconds for Twilio to finish processing the recording
(usually <30s after hangup).
5. The same bubble should now show an inline audio player below the
duration. Press play; the recording should be audible.
6. Refresh the page — both the duration and the player should still be
there.
7. End a second call on the same conversation — its bubble should get
its own duration + player, independent of the first.

---------

Co-authored-by: Muhsin <12408980+muhsin-k@users.noreply.github.com>
2026-05-04 17:14:01 +04:00
..
bubbles feat(voice): Attach call recordings + show call duration on the bubble (#14344) 2026-05-04 17:14:01 +04:00
chips feat: Advanced Search Backend (#12917) 2026-01-07 15:30:49 +05:30
fixtures feat: Add new message bubbles (#10481) 2024-12-12 17:42:22 -08:00
stories feat: Add rich template preview for WhatsApp & Twilio Templates (#13206) 2026-04-30 18:54:34 +04:00
constants.js feat: Display story replies with attachment and context label (#13356) 2026-01-28 16:47:04 +04:00
Message.vue feat(voice): Wire Twilio voice flow through unified call model (#14091) 2026-04-30 11:25:39 +04:00
MessageError.vue fix: Enhance notification emails with message details and handle failed messages (#13273) 2026-02-16 14:47:33 +05:30
MessageList.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
MessageMeta.vue fix: Correct reversed message status indicators for API channel (#13594) 2026-03-16 13:21:18 +04:00
MessageStatus.vue feat: Add new message bubbles (#10481) 2024-12-12 17:42:22 -08:00
provider.js chore: Update message bubble orientation (#11348) 2025-05-06 13:21:52 +05:30
TranslationToggle.vue chore: Improve translation service with HTML and plain text support (#11305) 2025-04-16 17:59:06 +05:30