From 696564863cecc1e74fb5eec9966a104ce760522f Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Fri, 12 Dec 2025 10:14:22 +0530 Subject: [PATCH] feat: Add plain-text editor for non-rich content channels (#13058) # Pull Request Template ## Description This PR restores the plain text editor for all channels except Website, Email, and API. ## Type of change - [x] Bug fix (non-breaking change which fixes an issue) ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [ ] 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 - [ ] 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 --- .../components/ComposeNewConversationForm.vue | 3 + .../components/MessageEditor.vue | 6 +- .../widgets/conversation/ReplyBox.vue | 213 ++++++++++++++---- .../shared/components/ResizableTextArea.vue | 7 +- 4 files changed, 186 insertions(+), 43 deletions(-) diff --git a/app/javascript/dashboard/components-next/NewConversation/components/ComposeNewConversationForm.vue b/app/javascript/dashboard/components-next/NewConversation/components/ComposeNewConversationForm.vue index 77267707b..74836219b 100644 --- a/app/javascript/dashboard/components-next/NewConversation/components/ComposeNewConversationForm.vue +++ b/app/javascript/dashboard/components-next/NewConversation/components/ComposeNewConversationForm.vue @@ -200,6 +200,7 @@ const setSelectedContact = async ({ value, action, ...rest }) => { const handleInboxAction = ({ value, action, ...rest }) => { v$.value.$reset(); + state.message = ''; emit('updateTargetInbox', { ...rest }); showInboxesDropdown.value = false; state.attachedFiles = []; @@ -220,6 +221,7 @@ const removeSignatureFromMessage = () => { const removeTargetInbox = value => { v$.value.$reset(); removeSignatureFromMessage(); + state.message = ''; emit('updateTargetInbox', value); state.attachedFiles = []; }; @@ -227,6 +229,7 @@ const removeTargetInbox = value => { const clearSelectedContact = () => { removeSignatureFromMessage(); emit('clearSelectedContact'); + state.message = ''; state.attachedFiles = []; }; diff --git a/app/javascript/dashboard/components-next/NewConversation/components/MessageEditor.vue b/app/javascript/dashboard/components-next/NewConversation/components/MessageEditor.vue index 2cda75e53..ef523a288 100644 --- a/app/javascript/dashboard/components-next/NewConversation/components/MessageEditor.vue +++ b/app/javascript/dashboard/components-next/NewConversation/components/MessageEditor.vue @@ -1,9 +1,10 @@