Sivin Varghese 
							
						 
					 
					
						
						
							
						
						728956a734 
					 
					
						
						
							
							fix: Inbox delete confirmation fails due to whitespace ( #12498 )  
						
						... 
						
						
						
						# Pull Request Template
## Description
This PR fixes an issue where users are unable to delete an inbox because
the delete confirmation button remains disabled.
### Cause
Inboxes created with leading or trailing spaces in their names failed
the confirmation check. During deletion, the confirmation modal compared
the raw user input with the stored inbox name. Because whitespace was
not normalized, the values did not match exactly, causing the delete
button to remain inactive even when the correct name was entered.
### Solution
The validation logic now trims whitespace from both the input and stored
value before comparison. This ensures inbox names with accidental spaces
are handled correctly, and the delete button works as expected in all
cases.
Fixes
https://linear.app/chatwoot/issue/CW-5659/confirmation-button-greyed-out-randomly-when-deleting-inbox-from-inbox 
## Type of change
- [x] Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
**Steps to Reproduce**
1. Create an inbox with leading or trailing whitespace in its name.
2. Save and complete the inbox creation process.
3. Go to the inbox list and try deleting the inbox by entering the name
without the whitespace in the confirmation modal.
4. Now you can't able to delete the inbox.
## 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-09-23 22:20:43 +05:30 
						 
				 
			
				
					
						
							
							
								Sivin Varghese 
							
						 
					 
					
						
						
							
						
						e4ea078e52 
					 
					
						
						
							
							chore: Update buttons in conversation screens - 2 ( #11134 )  
						
						
						
						
					 
					
						2025-03-21 21:54:54 +05:30 
						 
				 
			
				
					
						
							
							
								Shivam Mishra 
							
						 
					 
					
						
						
							
						
						b3262597c1 
					 
					
						
						
							
							fix: vue 3 followup fixes  ( #10213 )  
						
						... 
						
						
						
						Fixes: CW-3602,  CW-3606, CW-3605, CW-3601, CW-3603, CW-3600, CW-3598
-
[CW-3602](https://linear.app/chatwoot/issue/CW-3602/chat-list-infinite-loader-fetching-only-odd-numbered-pages )
Chat list pagination broken
-
[CW-3606](https://linear.app/chatwoot/issue/CW-3606/saving-greeting-message-is-not-working-in-inbox-settings )
Greetings message not getting saved
-
[CW-3605](https://linear.app/chatwoot/issue/CW-3605/copy-and-paste-image-attachment-not-working-in-widget )
Paste not working on widget
-
[CW-3601](https://linear.app/chatwoot/issue/CW-3601/edit-category-is-not-working-properly )
Edit category not updating
-
[CW-3603](https://linear.app/chatwoot/issue/CW-3603/delete-filter-is-not-working )
Delete filter modal not toggling
-
[CW-3600](https://linear.app/chatwoot/issue/CW-3600/portal-editor-is-not-working-properly )
Portal editor events were flaky
-
[CW-3598](https://linear.app/chatwoot/issue/CW-3598/rearrange-of-pre-chat-form-fields-throws-an-error )
Prechat form re-order bug
---------
Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com > 
						
						
					 
					
						2024-10-03 19:59:07 +05:30 
						 
				 
			
				
					
						
							
							
								Shivam Mishra 
							
						 
					 
					
						
						
							
						
						b8d0252511 
					 
					
						
						
							
							feat: remove usage of .sync and define explicitly emits ( #10209 )  
						
						... 
						
						
						
						References
- https://v3-migration.vuejs.org/breaking-changes/v-model 
-
https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html  
						
						
					 
					
						2024-10-03 12:44:18 +05:30 
						 
				 
			
				
					
						
							
							
								Shivam Mishra 
							
						 
					 
					
						
						
							
						
						42f6621afb 
					 
					
						
						
							
							feat: Vite + vue 3  💚   ( #10047 )  
						
						... 
						
						
						
						Fixes https://github.com/chatwoot/chatwoot/issues/8436 
Fixes https://github.com/chatwoot/chatwoot/issues/9767 
Fixes https://github.com/chatwoot/chatwoot/issues/10156 
Fixes https://github.com/chatwoot/chatwoot/issues/6031 
Fixes https://github.com/chatwoot/chatwoot/issues/5696 
Fixes https://github.com/chatwoot/chatwoot/issues/9250 
Fixes https://github.com/chatwoot/chatwoot/issues/9762 
---------
Co-authored-by: Pranav <pranavrajs@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com > 
						
						
					 
					
						2024-10-02 00:36:30 -07:00 
						 
				 
			
				
					
						
							
							
								Sivin Varghese 
							
						 
					 
					
						
						
							
						
						b4b308336f 
					 
					
						
						
							
							feat: Eslint rules ( #9839 )  
						
						... 
						
						
						
						# Pull Request Template
## Description
This PR adds new eslint rules to the code base.
**Error rules**
|    Rule name     | Type | Files updated |
| ----------------- | --- | - |
| `vue/block-order`  | error  |  ✅   |
| `vue/component-name-in-template-casing`  | error  |  ✅   |
| `vue/component-options-name-casing`  | error  |  ✅   |
| `vue/custom-event-name-casing`  | error  |  ✅   |
| `vue/define-emits-declaration`  | error  |  ✅   |
| `vue/no-unused-properties`  | error  |  ✅   |
| `vue/define-macros-order`  | error  |  ✅   |
| `vue/define-props-declaration`  | error  |  ✅   |
| `vue/match-component-import-name`  | error  |  ✅   |
| `vue/next-tick-style`  | error  |  ✅   |
| `vue/no-bare-strings-in-template`  | error  |  ✅   |
| `vue/no-empty-component-block`  | error  |  ✅   |
| `vue/no-multiple-objects-in-class`  | error  |  ✅   |
| `vue/no-required-prop-with-default`  | error  |  ✅   |
| `vue/no-static-inline-styles`  | error  |  ✅   |
| `vue/no-template-target-blank`  | error  |  ✅   |
| `vue/no-this-in-before-route-enter`  | error  |  ✅   |
| `vue/no-undef-components`  | error  |  ✅   |
| `vue/no-unused-emit-declarations`  | error  |  ✅   |
| `vue/no-unused-refs`  | error  |  ✅   |
| `vue/no-use-v-else-with-v-for`  | error  |  ✅   |
| `vue/no-useless-v-bind`  | error  |  ✅   |
| `vue/no-v-text`  | error  |  ✅   |
| `vue/padding-line-between-blocks`  | error  |  ✅   |
| ~`vue/prefer-prop-type-boolean-first`~ | ~error~ | ❌  (removed this
rule, cause a bug in displaying custom attributes) |
| `vue/prefer-separate-static-class`  | error  |  ✅   |
| `vue/prefer-true-attribute-shorthand`  | error  |  ✅   |
| `vue/require-explicit-slots`  | error  |  ✅   |
| `vue/require-macro-variable-name`  | error  |  ✅   |
**Warn rules**
|    Rule name     | Type | Files updated |
| ---- | ------------- | ------------- |
| `vue/no-root-v-if`  | warn  |  ❎   |
Fixes https://linear.app/chatwoot/issue/CW-3492/vue-eslint-rules 
## Type of change
- [x] New feature (non-breaking change which adds functionality)
## 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: Fayaz Ahmed <fayazara@gmail.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
Co-authored-by: Pranav <pranav@chatwoot.com > 
						
						
					 
					
						2024-08-05 14:02:16 +05:30 
						 
				 
			
				
					
						
							
							
								Fayaz Ahmed 
							
						 
					 
					
						
						
							
						
						ce8e1ec93d 
					 
					
						
						
							
							chore: Migrate all instances of old vuelidate to new v2 syntax [CW-3274] ( #9623 )  
						
						... 
						
						
						
						Removes all the old vuelidate syntax and replaced it with the new
`useValidate` composable and the `v$` helper.
| Component | Path | Migrated | Tested |
|------------------------------------|--------------------------------------------------------------|-----------------------------------------------|--------|
| Login page | app/javascript/v3/views/login/Index.vue | ✅  | ✅  |
| Custom Attributes settings page |
app/javascript/dashboard/components/CustomAttribute.vue | ✅  | ✅  |
| Account settings page |
app/javascript/dashboard/routes/dashboard/settings/account/Index.vue | ✅ 
| ✅  |
| Add Account Modal |
app/javascript/dashboard/components/layout/sidebarComponents/AddAccountModal.vue
| ✅  | ✅  |
| AICTA Modal |
app/javascript/dashboard/components/widgets/AICTAModal.vue | ✅  | ✅  |
| Conversation Advanced Filters |
app/javascript/dashboard/components/widgets/conversation/ConversationAdvancedFilter.vue
| deprecated `$each` prop in validations object | |
| Email Transript Modal |
app/javascript/dashboard/components/widgets/conversation/EmailTranscriptModal.vue
| ✅  | ✅  |
| Linear Create Issue |
app/javascript/dashboard/components/widgets/conversation/linear/CreateIssue.vue
| ✅  | ✅  |
| Template Parser |
app/javascript/dashboard/components/widgets/conversation/WhatsappTemplates/TemplateParser.vue
| ✅  | |
| Delete Confirmation Modal |
app/javascript/dashboard/components/widgets/modal/ConfirmDeleteModal.vue
| ✅  | ✅  |
| Add Custom Attribute |
app/javascript/dashboard/modules/contact/components/AddCustomAttribute.vue
| ✅  | ✅  |
| Merge Contacts |
app/javascript/dashboard/modules/contact/components/MergeContact.vue | ✅ 
| ✅  |
| Contacts Advanced Filters |
app/javascript/dashboard/routes/dashboard/contacts/components/ContactsAdvancedFilters.vue
| deprecated `$each` prop in validations object | |
| Contact Form |
app/javascript/dashboard/routes/dashboard/conversation/contact/ContactForm.vue
| ✅  | ✅  |
| Conversation Form |
app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue
| ✅  | ✅  |
| Add Custom Views |
app/javascript/dashboard/routes/dashboard/customviews/AddCustomViews.vue
| ✅  | ✅  |
| Add Locale |
app/javascript/dashboard/routes/dashboard/helpcenter/components/AddLocale.vue
| ✅  | ✅  |
| Portal Settings Basic Form |
/app/javascript/dashboard/routes/dashboard/helpcenter/components/PortalSettingsBasicForm.vue
| ✅  | ✅  |
| Portal Settings Customization Form |
/app/javascript/dashboard/routes/dashboard/helpcenter/components/PortalSettingsCustomizationForm.vue
| ✅  | ✅  |
| Add Category |
app/javascript/dashboard/routes/dashboard/helpcenter/pages/categories/AddCategory.vue
| ✅  | ✅  |
| Edit Category |
app/javascript/dashboard/routes/dashboard/helpcenter/pages/categories/EditCategory.vue
| ✅  | ✅  |
| CSML Bot Editor |
app/javascript/dashboard/routes/dashboard/settings/agentBots/components/CSMLBotEditor.vue
| ✅  | ✅  |
| Add Agent |
app/javascript/dashboard/routes/dashboard/settings/agents/AddAgent.vue |
✅  | ✅  |
| Edit Agent |
app/javascript/dashboard/routes/dashboard/settings/agents/EditAgent.vue
| ✅  | ✅  |
| Add Attribute |
app/javascript/dashboard/routes/dashboard/settings/attributes/AddAttribute.vue
| ✅  | ✅  |
| Edit Attribute |
app/javascript/dashboard/routes/dashboard/settings/attributes/EditAttribute.vue
| ✅  | ✅  |
| Add Campaign |
app/javascript/dashboard/routes/dashboard/settings/campaigns/AddCampaign.vue
| ✅  | ✅  |
| Edit Campaign |
app/javascript/dashboard/routes/dashboard/settings/campaigns/EditCampaign.vue
| ✅  | ✅  |
| Add Canned |
app/javascript/dashboard/routes/dashboard/settings/canned/AddCanned.vue
| ✅  | ✅  |
| Edit Canned |
app/javascript/dashboard/routes/dashboard/settings/canned/EditCanned.vue
| ✅  | ✅  |
| IMAP Settings |
app/javascript/dashboard/routes/dashboard/settings/inbox/ImapSettings.vue
| ✅  | ✅  |
| SMTP Settings |
app/javascript/dashboard/routes/dashboard/settings/inbox/SmtpSettings.vue
| ✅  | ✅  |
| Widget Builder |
app/javascript/dashboard/routes/dashboard/settings/inbox/WidgetBuilder.vue
| ✅  | ✅  |
| 360 Dialog Whatsapp |
app/javascript/dashboard/routes/dashboard/settings/inbox/channels/360DialogWhatsapp.vue
| ✅  | ✅  |
| Inbox API settings |
app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Api.vue
| ✅  | ✅  |
| SMS Bandwidth settings |
app/javascript/dashboard/routes/dashboard/settings/inbox/channels/BandwidthSms.vue
| ✅  | ✅  |
| Cloud Whatsapp Settings |
app/javascript/dashboard/routes/dashboard/settings/inbox/channels/CloudWhatsapp.vue
| ✅  | ✅  |
| Facebook Settings |
app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Facebook.vue
| ✅  | ✅  |
| Line Settings |
app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Line.vue
| ✅  | ✅  |
| Telegram Settings |
app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Telegram.vue
| ✅  | ✅  |
| Twillio Settings |
app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Twilio.vue
| ✅  | ✅  |
| Forward To option settings |
app/javascript/dashboard/routes/dashboard/settings/inbox/channels/emailChannels/ForwardToOption.vue
| ✅  | ✅  |
| Microsoft settings |
app/javascript/dashboard/routes/dashboard/settings/inbox/channels/emailChannels/Microsoft.vue
| ✅  | ✅  |
| Collaborators page |
app/javascript/dashboard/routes/dashboard/settings/inbox/settingsPage/CollaboratorsPage.vue
| ✅  | ✅  |
| Configuration Page |
app/javascript/dashboard/routes/dashboard/settings/inbox/settingsPage/ConfigurationPage.vue
| ✅  | ✅  |
| Dashboard App Modal Settings |
app/javascript/dashboard/routes/dashboard/settings/integrations/DashboardApps/DashboardAppModal.vue
| ✅  | ✅  |
| Settings - Webhook Form |
app/javascript/dashboard/routes/dashboard/settings/integrations/Webhooks/WebhookForm.vue
| ✅  | ✅  |
| Macro Form |
app/javascript/dashboard/routes/dashboard/settings/macros/MacroForm.vue
| deprecated `$each` prop in validations object | |
| Change Password |
app/javascript/dashboard/routes/dashboard/settings/profile/ChangePassword.vue
| ✅  | ✅  |
| settings - User Basic Details |
app/javascript/dashboard/routes/dashboard/settings/profile/UserBasicDetails.vue
| ✅  | ✅  |
| Password Edit | app/javascript/v3/views/auth/password/Edit.vue | ✅  | ✅ 
|
| Password Reset form |
app/javascript/v3/views/auth/reset/password/Index.vue | ✅  | ✅  |
| Signup form |
app/javascript/v3/views/auth/signup/components/Signup/Form.vue | ✅  | ✅  |
| Login form | app/javascript/v3/views/login/Index.vue | ✅  | ✅  |
| Custom Attributes |
app/javascript/dashboard/components/CustomAttribute.vue | ✅  | ✅  |
| Reply Email Head |
app/javascript/dashboard/components/widgets/conversation/ReplyEmailHead.vue
| ✅  | ✅  |
| Methods Mixin |
app/javascript/dashboard/mixins/automations/methodsMixin.js | ✅  | ✅  |
| Validations mixin |
app/javascript/dashboard/routes/dashboard/settings/labels/validationMixin.js
| ✅  | ✅  |
| SLA Form |
app/javascript/dashboard/routes/dashboard/settings/sla/SlaForm.vue | ✅  |
✅  |
| SLA Time Input |
app/javascript/dashboard/routes/dashboard/settings/sla/SlaTimeInput.vue
| ✅  | ✅  |
| SLA Validation Mixin |
app/javascript/dashboard/routes/dashboard/settings/sla/validationMixin.js
| ✅  | ✅  |
| Team Form |
app/javascript/dashboard/routes/dashboard/settings/teams/TeamForm.vue |
✅  | ✅  |
| Add Agents |
app/javascript/dashboard/routes/dashboard/settings/teams/Create/AddAgents.vue
| ✅  | ✅  |
| Edit Agents |
app/javascript/dashboard/routes/dashboard/settings/teams/Edit/EditAgents.vue
| ✅  | ✅  |
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Pranav <pranav@chatwoot.com > 
						
						
					 
					
						2024-07-30 15:08:22 +05:30 
						 
				 
			
				
					
						
							
							
								Shivam Mishra 
							
						 
					 
					
						
						
							
						
						a88d155dd7 
					 
					
						
						
							
							feat: update tool-chain to latest ( #7975 )  
						
						... 
						
						
						
						Co-authored-by: Pranav Raj S <pranav@chatwoot.com > 
						
						
					 
					
						2023-09-27 14:02:34 +05:30 
						 
				 
			
				
					
						
							
							
								Shivam Mishra 
							
						 
					 
					
						
						
							
						
						48bf8d08e5 
					 
					
						
						
							
							feat: Update dependencies and fix import syntax for Vite migration ( #7959 )  
						
						... 
						
						
						
						Co-authored-by: Pranav Raj S <pranav@chatwoot.com > 
						
						
					 
					
						2023-09-21 17:55:54 +05:30 
						 
				 
			
				
					
						
							
							
								Muhsin Keloth 
							
						 
					 
					
						
						
							
						
						8a283a7783 
					 
					
						
						
							
							feat: Ask to confirm with name before inbox/team deletion ( #2370 )  
						
						
						
						
					 
					
						2021-06-04 13:17:44 +05:30