iachat/app/javascript/dashboard/components/widgets
Sivin Varghese df4c8cf58b
chore: Strip unsupported signature formatting by channel (#13046)
# Pull Request Template

## Description

1. This PR is an enhancement to
https://github.com/chatwoot/chatwoot/pull/13045
It strips unsupported formatting from **message signatures** based on
each channel’s formatting capabilities defined in the `FORMATTING`
config

2. Remove usage of plain editor in Compose new conversation modal

Only the following signature elements are considered:
<strong>bold (<code inline="">strong</code>), italic (<code
inline="">em</code>), links (<code inline="">link</code>), images (<code
inline="">image</code>)</strong>.</p>

Any formatting not supported by the target channel is automatically
removed before the signature is appended.

<h3>Channel-wise Signature Formatting Support</h3>

Channel | Keeps in Signature | Strips from Signature
-- | -- | --
Email | bold, italic, links, images | —
WebWidget | bold, italic, links, images | —
API | bold, italic | links, images
WhatsApp | bold, italic | links, images
Telegram | bold, italic, links | images
Facebook | bold, italic | links, images
Instagram | bold, italic | links, images
Line | bold, italic | links, images
SMS | — | everything
Twilio SMS | — | everything
Twitter/X | — | everything


<hr>
<h3>📝 Note</h3>
<blockquote>
<p>Message signatures only support <strong>bold, italic, links, and
images</strong>.<br>
Other formatting options available in the editor (lists, code blocks,
strike-through, etc.) do <strong>not apply</strong> to signatures and
are ignored.</p>
</blockquote>

## Type of change

- [x] New feature (non-breaking change which adds functionality)

## How Has This Been Tested?

### Loom video
https://www.loom.com/share/d325ab86ca514c6d8f90dfe72a8928dd


## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [x] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules

---------

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2025-12-11 19:58:59 +05:30
..
conversation chore: Strip unsupported signature formatting by channel (#13046) 2025-12-11 19:58:59 +05:30
DashboardApp fix: Use addEventListener instead of onmessage to listen to chatwoot-dashboard-app:fetch-info (#10342) 2024-10-28 20:43:47 -07:00
FilterInput fix: Translate Priority and Messages types in Automations and Macros (#11741) 2025-07-08 12:40:40 +05:30
forms chore: Replace Thumbnail with Avatar (#12119) 2025-08-11 15:47:17 +05:30
mentions fix: fast scrolling in canned responses list on mouse hover (#11933) 2025-07-14 11:02:51 +05:30
modal fix: Inbox delete confirmation fails due to whitespace (#12498) 2025-09-23 22:20:43 +05:30
WootWriter chore: Strip unsupported signature formatting by channel (#13046) 2025-12-11 19:58:59 +05:30
AIAssistanceButton.vue chore: Update reply editor design (#10575) 2025-01-08 17:49:53 +05:30
AIAssistanceCTAButton.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
AIAssistanceModal.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
AICTAModal.vue chore: Update buttons in conversation screens(#11132) 2025-03-21 14:47:28 +05:30
AILoader.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
AttachmentsPreview.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
AutomationActionInput.vue fix: Translate Priority and Messages types in Automations and Macros (#11741) 2025-07-08 12:40:40 +05:30
AutomationActionTeamMessageInput.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
AutomationFileInput.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
BackButton.vue chore: Update buttons in integrations page (#11120) 2025-03-20 21:15:47 +05:30
ChannelItem.vue feat: Update Inbox/Team creation UI (#12305) 2025-09-02 14:11:38 +05:30
ChatTypeTabs.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
ColorPicker.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
EmptyState.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
FeatureToggle.vue style: apply fixes for eslint issues [cw-3590] (#10210) 2024-10-03 15:02:12 +05:30
InboxName.vue feat: Update Inbox/Team creation UI (#12305) 2025-09-02 14:11:38 +05:30
LoadingState.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
SettingIntroBanner.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
ShowMore.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
TableFooter.vue style: apply fixes for eslint issues [cw-3590] (#10210) 2024-10-03 15:02:12 +05:30
TableFooterPagination.vue chore: Update buttons in dashboard (#11145) 2025-03-31 17:21:32 -07:00
TableFooterResults.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
TableHeaderCell.vue feat: Update design for report pages (#10506) 2024-11-27 18:10:15 +08:00
ThumbnailGroup.vue chore: Replace Thumbnail with Avatar (#12119) 2025-08-11 15:47:17 +05:30
UserAvatarWithName.vue chore: Replace Thumbnail with Avatar (#12119) 2025-08-11 15:47:17 +05:30
VideoCallButton.vue chore: Update reply editor design (#10575) 2025-01-08 17:49:53 +05:30