iachat/app/javascript/dashboard/components-next
Muhsin Keloth b686d14044
feat: Handle external echo messages from native apps (#13371)
When businesses use WhatsApp Business App (co-existence mode) or
Instagram App or TikTok alongside Chatwoot, messages sent from the
native apps were not synced properly back to Chatwoot. This left agents
with an incomplete conversation history and no visibility into responses
sent outside the dashboard. Additionally, if these echo messages did
arrive, they appeared as "Sent by: Bot" in the UI since they had no
sender, making it confusing for agents.

This PR subscribes to WhatsApp `smb_message_echoes` webhook events and
routes them through the existing service with an `outgoing_echo` flag,
mirroring how Instagram already handles echoes. On the Instagram side,
echo messages now also carry the `external_echo` content attribute and
`delivered` status.

On the frontend, messages with `externalEcho` are distinguished from bot
messages showing a "Native app" avatar and an advisory note encouraging
agents to reply from Chatwoot to maintain the service window.

<img width="1518" height="524" alt="CleanShot 2026-01-29 at 13 37 57@2x"
src="https://github.com/user-attachments/assets/5aa0b552-6382-441f-96aa-9a62ca716e4a"
/>


Fixes
https://linear.app/chatwoot/issue/CW-4204/display-messages-not-sent-from-chatwoot-in-case-of-outgoing-echo
Fixes
https://linear.app/chatwoot/issue/PLA-33/incoming-from-me-messages-from-whatsapp-business-app-are-not-falling
2026-02-02 15:52:53 +05:30
..
Accordion feat: Allow customizing the responses, flows in Captain (#11385) 2025-04-29 15:42:15 -07:00
AssignmentPolicy chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
avatar fix: RTL issues in new conversation form (#12163) 2025-08-11 14:16:48 -07:00
banner chore: Update buttons in dashboard (#11145) 2025-03-31 17:21:32 -07:00
breadcrumb chore: Optimize contact page for smaller displays (#12183) 2025-08-14 19:07:20 +05:30
button chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
buttonGroup feat: Enhance button interactions (#12738) 2025-11-06 16:24:05 +05:30
Campaigns chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
captain chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
changelog-card chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
checkbox feat: Add support for bulk action for Captain FAQs (#10905) 2025-02-27 17:05:33 -08:00
colorpicker chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
combobox feat: Enhance button interactions (#12738) 2025-11-06 16:24:05 +05:30
Companies chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
Contacts chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
content-templates feat: Add twilio content templates (#12277) 2025-08-29 16:13:25 +05:30
Conversation feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
ConversationWorkflow feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
copilot feat: Update Captain navigation structure (#12761) 2025-11-06 16:31:23 -08:00
CustomAttributes chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
dialog feat: Add Teleport component to fix RTL/LTR utility classes (#11455) 2025-05-12 11:49:23 -07:00
dropdown-menu feat: Advanced Search Backend (#12917) 2026-01-07 15:30:49 +05:30
Editor chore: Improve compose new conversation form (#13176) 2026-01-13 18:52:10 +05:30
feature-spotlight chore: Hide "Learn More" button in feature spotlight for self-hosted (#12675) 2025-10-16 12:04:53 +05:30
filter chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
flag feat: Flag icon component (#10564) 2024-12-10 11:53:24 +05:30
HelpCenter chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
icon feat: TikTok channel (#12741) 2025-12-17 07:54:50 -08:00
Inbox chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
inline-input chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
input feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
Label feat: Agent capacity policy Create/Edit pages (#12424) 2025-09-12 18:42:55 +05:30
message feat: Handle external echo messages from native apps (#13371) 2026-02-02 15:52:53 +05:30
NewConversation chore: Improve compose new conversation form (#13176) 2026-01-13 18:52:10 +05:30
pagination chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
phonenumberinput fix: Accidental contact creation on country dropdown toggle (#11494) 2025-05-16 16:14:00 +05:30
selectmenu feat: Update conversation basic filter (#11415) 2025-05-06 12:44:23 +05:30
sidebar chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
spinner feat: Add Spinner to new components (#10303) 2024-10-16 17:53:46 -07:00
switch chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
tabbar chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
taginput chore: Improve compose new conversation form (#13176) 2026-01-13 18:52:10 +05:30
textarea feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
whatsapp feat: Add media_name support for WhatsApp templates document files (#12462) 2025-09-18 15:25:31 +05:30
year-in-review chore: Enable YearInReview for everyone, include analytics (#13090) 2025-12-16 18:20:10 -08:00
CardLayout.vue feat: Advanced Search Backend (#12917) 2026-01-07 15:30:49 +05:30
EmptyStateLayout.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
SidebarActionsHeader.story.vue feat: Update the UI to support the change for Copilot as a universal copilot (#11618) 2025-05-29 12:35:10 +05:30
SidebarActionsHeader.vue feat: Update the UI to support the change for Copilot as a universal copilot (#11618) 2025-05-29 12:35:10 +05:30
TeleportWithDirection.vue feat: Add Teleport component to fix RTL/LTR utility classes (#11455) 2025-05-12 11:49:23 -07:00