Muhsin Keloth
4a419be73a
Merge branch 'feature/enhanced-template-support' of https://github.com/chatwoot/chatwoot into feature/enhanced-template-support
2025-07-31 12:55:17 +04:00
Muhsin Keloth
356946a413
chore: add more specs
2025-07-31 12:55:09 +04:00
Muhsin Keloth and GitHub
c7af608510
Merge branch 'develop' into feature/enhanced-template-support
2025-07-31 12:00:20 +04:00
86cb4fd809
chore: Improve layout styles ( #12025 )
...
# Pull Request Template
## Description
This PR fixes the layout overflow scroll issue and removes unused CSS.
It also optimizes the display of the Sidebar, Copilot Panel, and
Conversation Panel in the mobile view.
Additionally, it resolves a runtime console warning.
## Type of change
- [x] Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
### Screencast
https://github.com/user-attachments/assets/7e8885fa-6174-4740-80f1-bb1cec6517fc
## 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
- [ ] 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-07-30 13:49:27 -07:00
Sivin Varghese and GitHub
df4de508e7
feat: New Scenarios page ( #11975 )
2025-07-30 19:34:27 +05:30
Muhsin Keloth
1e2ce070aa
chore: add getFilteredWhatsAppTemplates getter
2025-07-30 16:48:08 +04:00
Muhsin Keloth
a3e0d84b15
chore: add WhatsAppTemplateParserCore
2025-07-30 16:13:15 +04:00
Muhsin Keloth
c2b03d68f3
chore: more front end changes
2025-07-30 13:39:48 +04:00
Muhsin Keloth
533ae33199
chore: style fixes
2025-07-30 13:25:57 +04:00
Muhsin Keloth
54453581ed
chore: remove buttons for otp types
2025-07-30 13:20:47 +04:00
Muhsin Keloth
f5f729f23a
chore: ui updates
2025-07-30 13:12:23 +04:00
Muhsin Keloth and GitHub
1230d1f251
chore: Added support for inbox variables ( #11952 )
2025-07-30 11:07:18 +04:00
Muhsin Keloth and GitHub
a8e581d057
Merge branch 'develop' into feature/enhanced-template-support
2025-07-23 14:31:06 +04:00
Sivin Varghese and GitHub
eb412b67bd
fix: Code component style issue ( #12022 )
...
# Pull Request Template
## Description
This PR fixes a styling issue in the code component that was introduced
after merging this
[PR](https://github.com/chatwoot/chatwoot/pull/12007/commits/07855d4369a4fcbe99bdc7dc7c1198cd279dafae )
**Screenshots**
**Before**
<img width="456" height="506" alt="image"
src="https://github.com/user-attachments/assets/6cd78708-93ad-4457-9e0f-8a25e3c7545c "
/>
**After**
<img width="456" height="506" alt="image"
src="https://github.com/user-attachments/assets/3bb059fa-5ed8-4d92-bf6e-56831fb2f55d "
/>
2025-07-23 13:20:46 +04:00
Sivin Varghese and GitHub
6fb762f96c
chore: Migrate to next Switch component ( #12005 )
2025-07-23 13:56:17 +05:30
ab1ba1c4c7
feat: Add manual WhatsApp templates sync with UI ( #12007 )
...
Fixes https://github.com/chatwoot/chatwoot/issues/9600
**Summary**
- Added manual WhatsApp templates sync functionality accessible via UI
- Added refresh button in both inbox settings and template picker modal
- Enhanced template picker to always show for WhatsApp Cloud channels
(even when empty)
**Preview**
<img width="1456" height="798" alt="CleanShot 2025-07-22 at 14 15 28@2x"
src="https://github.com/user-attachments/assets/8a04ff26-61fa-42ee-a1b8-5e06433ae6e0 "
/>
<img width="2376" height="1574" alt="CleanShot 2025-07-22 at 14 19
24@2x"
src="https://github.com/user-attachments/assets/1c772034-04ff-484d-88dd-ca8123e93065 "
/>
---------
Co-authored-by: iamsivin <iamsivin@gmail.com >
2025-07-23 12:22:51 +04:00
Muhsin Keloth
684cb005c3
chore: add support for doc
2025-07-22 19:37:29 +04:00
Muhsin Keloth
cfda6696b6
chore: fix copy otp
2025-07-22 18:53:35 +04:00
Muhsin Keloth
a0e2936ab3
chore: remove location templates
2025-07-22 17:34:12 +04:00
Muhsin Keloth
2357f6ae47
chore: cleanup codes
2025-07-22 17:16:47 +04:00
Muhsin Keloth
3c99197e1e
chore: cleanup code
2025-07-22 16:57:13 +04:00
Muhsin Keloth
4610cff67e
chore: add more templates
2025-07-21 21:25:44 +04:00
Sojan Jose and Claude
16011b06a3
fix: Ensure media header templates appear in template selector
...
- Remove format-based filtering that was preventing media templates from showing
- Add robust error handling for template loading without console statements
- Include comprehensive validation for template properties
- Add debug helper method to troubleshoot template visibility issues
Previously, templates with media headers (IMAGE, VIDEO, DOCUMENT) were being
filtered out even though we removed format restrictions. This fix ensures
all approved templates are visible in the template selector regardless of
their media format.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-07-21 17:36:28 +04:00
Sojan Jose and Claude
ee176480da
feat: Enhanced WhatsApp template support with security optimizations
...
- Add comprehensive WhatsApp template parameter support for header/footer/buttons
- Implement coupon code template support with 15-character validation
- Support all WhatsApp template types (text, media, interactive)
- Add advanced parameter types (currency, date/time, location)
- Remove restrictions on DOCUMENT, IMAGE, VIDEO template formats
Security improvements:
- Fix XSS vulnerability by replacing v-html with v-dompurify-html
- Add input sanitization and parameter validation
- Implement URL validation with scheme and length checks
- Add protection against DoS attacks with length limits
Performance optimizations:
- Replace recursive template fetching with iterative pagination
- Add safety limits to prevent infinite loops and stack overflow
- Optimize template processing for better memory usage
Frontend enhancements:
- Enhanced template picker with header/footer/button display
- Component-based parameter input organized by type
- Real-time validation for coupon codes and parameters
- Improved template preview with sanitized HTML rendering
- Fix Vue linting issues with proper computed properties
Maintains full backward compatibility with existing template configurations.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-07-21 17:03:11 +04:00
Sivin Varghese and GitHub
07dd6448f4
fix: fast scrolling in canned responses list on mouse hover ( #11933 )
...
# Pull Request Template
## Description
This PR fixes a fast scrolling issue in the canned responses list that
occurred when hovering near the top or bottom edge.
Fixes https://github.com/chatwoot/chatwoot/issues/11923 ,
[CW-4624](https://linear.app/chatwoot/issue/CW-4624/canned-responses-menu-scrolls-too-fast-when-mouse-near-top-or-bottom )
## Type of change
- [x] Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
### Screencast
**Before**
https://github.com/user-attachments/assets/1c39ad33-c5c9-49ce-a252-542428b7f7e3
**After**
https://github.com/user-attachments/assets/19c73713-0ffe-461a-9c3d-486e53e21abf
## 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
2025-07-14 11:02:51 +05:30
c553997af8
fix: Translate Priority and Messages types in Automations and Macros ( #11741 )
...
# Pull Request Template
## Description
With these fixes, I could improve some translations in portuguese, and
also I added some improvements to make some drowpdown values, that were
not translatable into translatable strings, into the Automations, Macros
and Custom Attributes page. I also fixed some typos.
Here are the main improvements.
- ~Fixed typo in portuguese into `Reports > Agents` page:~
~Before:

After:
~
- Added the possibility to make the `Priority` and `Message types`
translatables in other languages, into Macros and Automations page. Also
added the same feature for Custom attributes page at `applies to` and
`type` fields:
Before:




After:




- ~Improve Bots page. In the Brazilian portuguese is very common and
widely used bots to refer to chatbots, using `robô` as a direct
translations sounds weird, `robô` is used more often when we are talking
about robots, not chatbots.
Before:

After:
~
- Added multiselect both `no options` and `Select` placeholder
translatable strings:
Before:


After:

- Added `.pnpm-store` to `.gitignore`, when I'm using docker, the pnpm
always creates this folder into my root directory, so I imagine the same
could happens with others, so I fixed it.
## Type of change
Please delete options that are not relevant.
- [x] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality not to work as expected)
- [ ] This change requires a documentation update
## How Has This Been Tested?
I've added some translations for my language (brazilian portuguese), so
i just switched the languages between the original in EN to PT_BR.
## 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
- [ ] New and existing unit tests pass locally with my changes
- [x] Any dependent changes have been merged and published in downstream
modules
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2025-07-08 12:40:40 +05:30
Sivin Varghese and GitHub
7343e53659
fix: Variable search item not showing after braces/commas ( #11864 )
...
# Pull Request Template
## Description
This PR fixes an issue where typing variables, like `{{contact.name}}`,
caused the variable list to miss showing `contact.name`. The search key
in this case became `contact.name}},` which didn't match any available
options. The logic in `VariableList.vue` only checked the part after the
last comma and didn’t fully sanitize the input.
**Solution**
Updated `searchKey` to remove all {} and commas for accurate matching.
Fixes
[CW-4574](https://linear.app/chatwoot/issue/CW-4574/i-dont-see-an-option-for-contactname-it-shows-initially-but-it-doesnt )
## Type of change
- [x] Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
### Loom video
https://www.loom.com/share/fc86e53853ad49e6acf6de57ebbd8fcb?sid=6702f896-d1a3-4c5a-9eb7-b96b5ed91531
## 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
- [ ] 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
2025-07-03 19:39:36 +05:30
Sivin Varghese and GitHub
cb01a2bc66
fix: Incorrect account ID in conversation header back button URL ( #11866 )
2025-07-03 13:22:44 +05:30
a6cc3617c0
feat: Add the ability to mention team in private message ( #11758 )
...
This PR allows agents to mention entire teams in private messages using
`@team_name` syntax. When a team is mentioned, all team members with
inbox access are automatically notified. The scheme changes can be found
[here](https://github.com/chatwoot/prosemirror-schema/pull/34 ).
---------
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Sojan Jose <sojan@pepalo.com >
2025-07-02 19:57:59 +05:30
Sivin Varghese and GitHub
d1c9af260c
fix: Unread badge style issue ( #11846 )
...
- fix issue with unread badges
2025-06-30 22:22:40 -07:00
Sivin Varghese and GitHub
24ea968b00
chore: Remove older UI ( #11720 )
2025-07-01 09:43:44 +05:30
d7c10b4f2a
chore: Add "Coming Soon" overlay to voice channel selector ( #11835 )
...
# Pull Request Template
### Screenshots
**Dark**
<img width="867" alt="image"
src="https://github.com/user-attachments/assets/74f6da33-1fa1-4472-84b8-5d097f4a00e1 "
/>
**Light**
<img width="867" alt="image"
src="https://github.com/user-attachments/assets/5e6d5a4c-cd95-462b-baea-ff3ac333153c "
/>
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2025-06-30 14:30:09 +05:30
b7f2c151bf
feat: Voice channel creation Flow ( #11775 )
...
This PR introduces a new channel type for voice conversations.
ref: #11481
## Changes
- Add database migration for channel_voice table with phone_number and
provider_config
- Create Channel::Voice model with E.164 phone number validation and
Twilio config validation
- Add voice channel association to Account model
- Extend inbox helpers and types to support voice channels
- Add voice channel setup UI with Twilio configuration form
- Include voice channel in channel factory and list components
- Add API routes and store actions for voice channel creation
- Add comprehensive translations for voice channel management
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: iamsivin <iamsivin@gmail.com >
2025-06-25 14:21:03 -07:00
Sivin Varghese and GitHub
be6bc88f80
fix: Translation issue in reports table headers on reload ( #11793 )
...
# Pull Request Template
## Description
This PR fixes the translation inconsistency in the reports pages, where
table-column headers reverted to English after a page reload.
**Cause**
The components defined the columns array statically, so header labels
were translated only once during component creation. On reload, the
table showed the default system language (English) until the user’s
locale finished loading.
**Solution**
Replaced the static columns array with a computed property and passed it
to `Tanstack useVueTable` via a getter. This makes the headers reactive,
ensuring they automatically update whenever the locale changes and
remain translated after every reload.
Fixes
https://linear.app/chatwoot/issue/CW-4539/translation-issue-in-reports-page-table-header-on-reload
## 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
2025-06-24 12:38:05 +05:30
Sivin Varghese and GitHub
2cfca6008b
fix: Incorrect conversation count shown for filters/folders after idle period ( #11770 )
2025-06-19 14:05:18 +05:30
Sivin Varghese and GitHub
149dab239a
chore: Prevent count flicker on loading more conversations ( #11726 )
2025-06-16 15:38:27 +05:30
Muhsin Keloth and GitHub
f4381e3b5d
feat: Add activity messages for linear actions ( #11654 )
2025-06-13 11:57:11 +05:30
Sivin Varghese and GitHub
f28bb70d67
fix: Prevent count flicker on loading more conversations ( #11706 )
2025-06-12 14:38:45 +05:30
4303007786
feat: Enhance Linear integration UX with multi-issue support and improved placement ( #11668 )
...
Fixes
https://linear.app/chatwoot/issue/CW-4150/support-for-multiple-issues-linking-in-linear
This PR significantly improves the Linear integration user experience by
relocating the Linear integration from the conversation header to the
contact panel and adding support for multiple issue linking per
conversation.
### Key Changes
- **Relocated Linear integration**: Moved from conversation header to
contact panel for better organization and accessibility
- **Multi-issue support**: Added ability to link/create multiple Linear
issues for a single conversation
- **Integration CTA**: Added a dedicated call-to-action section for
users who haven't connected their Linear account yet
- **UI/UX improvements**: Enhanced design consistency and user flow
<details>
<summary>Screenshots</summary>
#### Multiple Issues Support

#### Integration CTA

---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Pranav <pranav@chatwoot.com >
Co-authored-by: Pranav <pranavrajs@gmail.com >
2025-06-10 15:40:02 -04:00
Sivin Varghese and GitHub
53e2585275
feat: Show conversation count for filters/folders in header ( #11698 )
...
# Pull Request Template
## Description
Fixes
https://linear.app/chatwoot/issue/CW-4467/show-the-conversation-count-at-the-top-for-filters-and-folders
## Type of change
- [x] New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
### Screenshots
<img width="637" alt="image"
src="https://github.com/user-attachments/assets/8c167130-f41a-45ce-a70e-bba99d74050f "
/>
<img width="637" alt="image"
src="https://github.com/user-attachments/assets/769bc488-e4d9-40fb-9760-62434761617b "
/>
## 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
2025-06-10 13:59:25 -04:00
273c277d47
feat: Add conversation delete feature ( #11677 )
...
<img width="1240" alt="Screenshot 2025-06-05 at 12 39 04 AM"
src="https://github.com/user-attachments/assets/0071cd23-38c3-4638-946e-f1fbd11ec845 "
/>
## Changes
Give the admins an option to delete conversation via the context menu
- enable conversation deletion in routes and controller
- expose delete API on conversations
- add delete option in conversation context menu and integrate with card
and list
- implement store action and mutation for delete
- update i18n with new strings
fixes: https://github.com/chatwoot/chatwoot/issues/947
---------
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Pranav <pranavrajs@gmail.com >
2025-06-05 15:53:17 -05:00
raza-ak and GitHub
513d954027
feat: Show active Contacts ( #8243 )
2025-06-04 21:52:13 +05:30
Sivin Varghese and GitHub
ff0ad53f49
fix: Style issue with conversation header ( #11655 )
2025-06-03 15:21:30 +05:30
Pranav and GitHub
bae958334d
feat: Update UI for Copilot ( #11561 )
...
- Updated UI for copilot
2025-06-02 22:02:03 -05:00
Sivin Varghese and GitHub
a5fda8e118
fix: Style issue with CSAT reports table ( #11653 )
2025-06-02 14:08:01 +05:30
Pranav and GitHub
aad6d655d5
fix: Update design to fix the crowded header ( #11633 )
...
**Before:**
<img width="907" alt="Screenshot 2025-05-29 at 3 21 00 PM"
src="https://github.com/user-attachments/assets/7738f684-7e9f-40ff-ac49-d9b389eca99b "
/>
**After:**
<img width="903" alt="Screenshot 2025-05-29 at 3 20 33 PM"
src="https://github.com/user-attachments/assets/1213d832-59d8-4d04-be96-f711297a887d "
/>
2025-05-29 18:45:28 -06:00
Sivin Varghese and GitHub
2ea10ae065
fix: Snackbar notifications hidden behind modal dialogs ( #11616 )
2025-05-29 12:49:38 +05:30
23a804512a
feat: Update the UI to support the change for Copilot as a universal copilot ( #11618 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2025-05-29 12:35:10 +05:30
Sivin Varghese and GitHub
9bd658137a
feat: Scroll lock on message context menu ( #11454 )
...
This PR uses `useScrollLock` from `VueUse` to lock scrolling on the
conversation panel when the message context menu is open.
2025-05-23 16:12:18 +05:30
Sivin Varghese and GitHub
2ee63656e2
feat: Prevent saving preferences and status when impersonating ( #11164 )
...
This PR will prevent saving user preferences and online status when impersonating. Previously, these settings could be updated during impersonation, causing the user to see a different view or UI settings.
Fixes https://linear.app/chatwoot/issue/CW-4163/impersonation-improvements
2025-05-20 17:34:30 -07:00