iachat/app/javascript/dashboard
Sivin Varghese 399c91adaa
feat: Standardize rich editor across all channels (#12600)
# Pull Request Template

## Description

This PR includes,

1. **Channel-specific formatting and menu options** for the rich reply
editor.
2. **Removal of the plain reply editor** and full **standardization** on
the rich reply editor across all channels.
3. **Fix for multiple canned responses insertion:**
* **Before:** The plain editor only allowed inserting canned responses
at the beginning of a message, making it impossible to combine multiple
canned responses in a single reply. This caused inconsistent behavior
across the app.
* **Solution:** Replaced the plain reply editor with the rich
(ProseMirror) editor to ensure a unified experience. Agents can now
insert multiple canned responses at any cursor position.
4. **Floating editor menu** for the reply box to improve accessibility
and overall user experience.
5. **New Strikethrough formatting option** added to the editor menu.

---

**Editor repo PR**:
https://github.com/chatwoot/prosemirror-schema/pull/36

Fixes https://github.com/chatwoot/chatwoot/issues/12517,
[CW-5924](https://linear.app/chatwoot/issue/CW-5924/standardize-the-editor),
[CW-5679](https://linear.app/chatwoot/issue/CW-5679/allow-inserting-multiple-canned-responses-in-a-single-message)

## Type of change

- [x] Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

### Screenshot
**Dark**
<img width="850" height="345" alt="image"
src="https://github.com/user-attachments/assets/47748e6c-380f-44a3-9e3b-c27e0c830bd0"
/>

**Light**
<img width="850" height="345" alt="image"
src="https://github.com/user-attachments/assets/6746cf32-bf63-4280-a5bd-bbd42c3cbe84"
/>


## 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>
Co-authored-by: Pranav <pranav@chatwoot.com>
Co-authored-by: Vinay Keerthi <11478411+stonecharioteer@users.noreply.github.com>
2025-12-08 14:43:45 +05:30
..
api perf: update the logic to purchase credits (#12998) 2025-12-08 10:52:17 +05:30
assets chore: Improve layout styles (#12025) 2025-07-30 13:49:27 -07:00
components feat: Standardize rich editor across all channels (#12600) 2025-12-08 14:43:45 +05:30
components-next feat: Standardize rich editor across all channels (#12600) 2025-12-08 14:43:45 +05:30
composables feat: Add AI credit topup flow for Stripe (#12988) 2025-12-02 17:53:44 -08:00
constants feat: Standardize rich editor across all channels (#12600) 2025-12-08 14:43:45 +05:30
helper feat: Standardize rich editor across all channels (#12600) 2025-12-08 14:43:45 +05:30
i18n feat: Standardize rich editor across all channels (#12600) 2025-12-08 14:43:45 +05:30
mixins feat: allow configuring attachment upload limit (#12835) 2025-11-17 14:03:08 -08:00
modules chore: Adds URL-based search and tab selection (#12663) 2025-10-27 11:17:04 +05:30
routes feat: Standardize rich editor across all channels (#12600) 2025-12-08 14:43:45 +05:30
store feat: Add AI credit topup flow for Stripe (#12988) 2025-12-02 17:53:44 -08:00
stores feat: Add Pinia support and relocate store factory (#12854) 2025-11-28 16:31:59 +05:30
App.vue fix: Handle login when there are no accounts (#12816) 2025-11-07 10:14:59 +05:30
featureFlags.js feat: Companies page (#12842) 2025-11-18 15:29:15 +05:30