chatwoot/app/javascript/dashboard/components-next
Muhsin Keloth a4c3d3d8c0
feat(widget): Allow widget loading in mobile app WebViews when domain restrictions are set (#13763)
When `allowed_domains` is configured on a web widget inbox, the server
responds with Content-Security-Policy: frame-ancestors <domains>, which
blocks the widget iframe in mobile app WebViews. This happens because
WebViews load content from file:// or null origins, which cannot match
any domain in the frame-ancestors directive.

This adds a per-inbox toggle — "Enable widget in mobile apps" — that
skips the frame-ancestors header when the request has no valid Origin
(i.e., it comes from a mobile WebView). Web browsers with a real origin
still get domain restrictions enforced as usual.

<img width="2330" height="1490" alt="CleanShot 2026-03-11 at 10 13
01@2x"
src="https://github.com/user-attachments/assets/d9326fac-020d-4ce7-9ced-0c185468c8fc"
/>


Fixes
https://linear.app/chatwoot/issue/CW-6560/widget-is-not-loading-from-iosandroid-widgets

How to test

1. Go to Settings → Inboxes → (Web Widget) → Configuration
2. Set allowed_domains to a specific domain (e.g., *.example.com)
3. Try loading the widget in a mobile app WebView — it should be blocked
4. Enable "Enable widget in mobile apps" checkbox
5. Reload the widget in the WebView — it should now load successfully
6. Verify the widget on a website not in the allowed domains list is
still blocked

---------

Co-authored-by: iamsivin <iamsivin@gmail.com>
2026-03-17 14:29:41 +04:00
..
Accordion feat: Allow customizing the responses, flows in Captain (#11385) 2025-04-29 15:42:15 -07:00
AssignmentPolicy feat(inbox): Enable conversation continuity for social channels (#11079) 2026-02-25 13:56:51 +04:00
avatar feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
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 fix: ProseMirror prompt modal UI issue (#13722) 2026-03-09 16:51:49 +05:30
captain fix: skip Enter key submission during IME composition in AI inputs (#13779) 2026-03-13 10:26:51 +05:30
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(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
Companies feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
Contacts fix(contacts): Show telegram id in contact details form (#13611) 2026-02-23 19:26:45 +04: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 fix: Adjust inbox settings pages layout width (#13590) 2026-02-20 20:20:32 +05:30
copilot fix: skip Enter key submission during IME composition in AI inputs (#13779) 2026-03-13 10:26:51 +05:30
CustomAttributes feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
dialog fix: ProseMirror prompt modal UI issue (#13722) 2026-03-09 16:51:49 +05:30
dropdown-menu chore: Remove vue-multiselect and migrate to next components (#13506) 2026-02-17 16:40:12 +05:30
Editor feat: compose form improvements (#13668) 2026-03-02 18:27:51 +05:30
feature-spotlight feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
filter chore: Remove vue-multiselect and migrate to next components (#13506) 2026-02-17 16:40:12 +05:30
flag feat: Flag icon component (#10564) 2024-12-10 11:53:24 +05:30
HelpCenter feat: Add draft status for help center locales (#13768) 2026-03-17 12:45:54 +04:00
icon feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
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(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
label feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
message fix: Correct reversed message status indicators for API channel (#13594) 2026-03-16 13:21:18 +04:00
NewConversation fix: ProseMirror prompt modal UI issue (#13722) 2026-03-09 16:51:49 +05:30
pagination feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
phonenumberinput fix: Accidental contact creation on country dropdown toggle (#11494) 2025-05-16 16:14:00 +05:30
radioCard feat(inbox): Enable conversation continuity for social channels (#11079) 2026-02-25 13:56:51 +04:00
select feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
selectmenu feat: Update conversation basic filter (#11415) 2025-05-06 12:44:23 +05:30
Settings feat(widget): Allow widget loading in mobile app WebViews when domain restrictions are set (#13763) 2026-03-17 14:29:41 +04:00
sidebar feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
spinner feat: Add Spinner to new components (#10303) 2024-10-16 17:53:46 -07:00
switch feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
tabbar chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
table feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
taginput feat: compose form improvements (#13668) 2026-03-02 18:27:51 +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 feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
CardLayout.vue feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
EmptyStateLayout.vue feat(V5): Update settings pages UI (#13396) 2026-02-19 15:04:40 +05:30
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