Sivin Varghese
280bc58963
chore: Update buttons in conversation screens( #11132 )
...
# Pull Request Template
### Changes includes
* Update send message and add note button
<img width="151" alt="image"
src="https://github.com/user-attachments/assets/646d1d22-07be-4f2f-9090-6642556aa761 "
/>
<img width="151" alt="image"
src="https://github.com/user-attachments/assets/b5651420-c48b-4932-aff9-911788b9eabc "
/>
<img width="165" alt="image"
src="https://github.com/user-attachments/assets/f1ace171-2115-4eba-9055-e568d1b73c5e "
/>
<img width="165" alt="image"
src="https://github.com/user-attachments/assets/0c818461-ccdb-46ab-b7d3-3917e4ee4e74 "
/>
<img width="165" alt="image"
src="https://github.com/user-attachments/assets/eef1545b-1bed-47a1-8b83-ed5d5da3f24f "
/>
<img width="165" alt="image"
src="https://github.com/user-attachments/assets/429de6e6-1263-4216-9222-4eaece95da81 "
/>
<img width="165" alt="image"
src="https://github.com/user-attachments/assets/59a69867-4da1-4695-b88c-329142a693a8 "
/>
<img width="165" alt="image"
src="https://github.com/user-attachments/assets/7114745c-836f-4c5a-b5d6-e200e1343a73 "
/>
* Remove Unused component `AnnouncementPopup.vue`
* Updated button for custom attributes in conversation sidebar.
<img width="225" alt="image"
src="https://github.com/user-attachments/assets/a71f6c31-aca9-4e1b-bf63-6b9d5ed183c8 "
/>
<img width="310" alt="image"
src="https://github.com/user-attachments/assets/8d847e1b-4a13-4108-a487-ce3d36257afa "
/>
* Update button in custom snooze modal buttons
<img width="207" alt="image"
src="https://github.com/user-attachments/assets/78315ce6-9734-467b-a4d3-e753d3eca384 "
/>
* Update modal component close button
<img width="80" alt="image"
src="https://github.com/user-attachments/assets/643e9ef0-b781-47ce-a66b-a9ee4760c952 "
/>
* Update AI assistant modal and AICTA modal
<img width="319" alt="image"
src="https://github.com/user-attachments/assets/8d0986ec-ec7a-4abb-9327-f73df8b4d942 "
/>
<img width="565" alt="image"
src="https://github.com/user-attachments/assets/1e02ddd1-7f51-4d8a-bb57-558b9a50c938 "
/>
* Update remove attachment button
<img width="301" alt="image"
src="https://github.com/user-attachments/assets/90c93eee-0b4d-4839-9db5-edc4b023df4b "
/>
* Update the conversation header buttons
<img width="256" alt="image"
src="https://github.com/user-attachments/assets/abac5d7e-dd83-40ae-b548-76bbafaa2231 "
/>
* Update the retry button in old message bubbles.
---------
Co-authored-by: Pranav <pranav@chatwoot.com >
2025-03-21 14:47:28 +05:30
Sivin Varghese
88f3b4de48
chore(v4): Update colors ( #10700 )
2025-01-16 15:27:23 +05:30
Shivam Mishra
7fd8b4d03a
feat: update colors for v4 ( #10660 )
...
Porting changes from https://github.com/chatwoot/chatwoot/pull/10552
---------
Co-authored-by: Pranav <pranav@chatwoot.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Vishnu Narayanan <vishnu@chatwoot.com >
Co-authored-by: Sojan <sojan@pepalo.com >
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Pranav <pranavrajs@gmail.com >
2025-01-15 17:13:03 +05:30
Shivam Mishra
c51a458c25
style: apply fixes for eslint issues [cw-3590] ( #10210 )
...
These fixes are all auto generated and can be merged directly
Fixes the following issues
1. Event used on components should be hypenated
2. Attribute orders in components
3. Use `unmounted` instead of `destroyed`
4. Add explicit `emits` declarations for components, autofixed [using
this
script](https://gist.github.com/scmmishra/6f549109b96400006bb69bbde392eddf )
We ignore the top level v-if for now, we will fix it later
2024-10-03 15:02:12 +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
Pranav
3a47b7e3d1
feat(design): Update the design for the custom attribute console ( #10049 )
...
This PR continues the design update series, updates the design for the custom attributes management page. This PR improves the interaction in the Add Custom Attribute feature. Now, the attribute model in the add attribute form will default to the currently selected tab.
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2024-08-29 19:06:11 +05:30
Sivin Varghese
d1d1398d80
feat: Rewrite customAttributeMixin to validation helper ( #9916 )
...
# Pull Request Template
## Description
This PR will replace the use of `customAttributeMixin` with
`shared/helpers/Validators` helper.
Fixes
https://linear.app/chatwoot/issue/CW-3446/rewrite-customattributemixin-mixin-to-a-composable
**Files updated**
1. widget/components/PreChat/Form.vue
2. dashboard/components/CustomAttribute.vue
3. dashboard/routes/dashboard/settings/attributes/EditAttribute.vue
## Type of change
- [x] New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
Test the custom validation is working or not with the custom attributes.
## 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
2024-08-09 18:37:26 +05:30
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
Fayaz Ahmed
b474929f5e
chore: Replace eventBus with mitt.js [CW-3275] ( #9539 )
...
# Replace the deprecated `eventBus` with mitt.js
## Description
Since eventBus and it's respective methods are deprecated and removed
from all future releases of vue, this was blocking us from migrating.
This PR replaces eventBus with
[mitt](https://github.com/developit/mitt ). I have created a wrapper
mitt.js to simulate the same old event names so it's backwards
compatible, without making a lot of changes.
Fixes # (issue)
## Type of change
Please delete options that are not relevant.
- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] 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?
1. Made sure all the places we're listening to bus events are working as
expected.
2. Respective specsf or the events from mitt.
## 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
- [x] 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
- [x] Any dependent changes have been merged and published in downstream
modules
2024-05-31 15:50:36 +05:30
Sivin Varghese
eb6a343810
fix: Enable edit option for custom attributes if value is present ( #9543 )
...
# Pull Request Template
## Description
This PR will enable a back edit option for custom attributes if there is
the value present, which is removed by this
[PR](https://github.com/chatwoot/chatwoot/pull/9070/files#diff-fe9b82bbef1da31faa513332ed6015c0ed23765a6368832137a5408547da8938R172 )
Fixes
https://linear.app/chatwoot/issue/CW-3345/edit-attribute-does-not-work-anymore
## Type of change
- [x] Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
**Screenrecordings**
**Before**
https://github.com/chatwoot/chatwoot/assets/64252451/ab89e087-d919-404d-90a9-17982b425dc3
**After**
https://github.com/chatwoot/chatwoot/assets/64252451/98d8b0b2-2f8f-46ec-ace5-b3e2a721623e
## 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
2024-05-28 12:05:34 +05:30
Sivin Varghese
47b1f610f1
feat: Adds helper text for custom fields in contact sidebars ( #9317 )
...
* feat: Adds helper text for custom fields in contact sidebars
* Update app/javascript/dashboard/components/ui/HelperTextPopup.vue
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
* chore: Review fix
---------
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2024-04-29 17:32:44 +05:30
Sivin Varghese
8fe3c91813
feat: Custom attribute sidebar list UX improvements ( #9070 )
...
---------
Co-authored-by: Pranav <pranav@chatwoot.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2024-04-08 21:00:49 -07:00
Sivin Varghese
dafedddc1a
feat: Remove Foundation in favor of Tailwind ( #8984 )
...
* feat: Remove foundation
* chore: Minor fix
* Minor fix
* Update _forms.scss
* chore: More changes
* chore: Minor fix
* chore: Clean up
* fix: font-weight
* chore: More changes
* chore: Setting page
* chore: Editor fix
* chore: Reports page
* chore: More changes
* chore: Minor changes
* chore: More fixes
* chore: More changes
* chore: More changes
* chore: More changes
* chore: Minor fix
* chore: More changes
* chore: More changes
* chore: More changes
* chore: More changes
* chore: Clean up
* chore: Minor fix
* chore: Clean ups
* chore: Rename basic file
* chore: Remove unused files
* chore: Fix expanded input
* Fix campaign rendering
* chore: Clean up
* chore: More changes
* chore: Remove unused files
* fix: Overflow issue
* chore: Minor fix
* chore: Clean up
* chore: Minor fix
* chore: Remove unused files
* chore: Minor fix
* chore: Minor fix
* fix: autoprefixer start/end value has mixed support
* chore: Minor fix
* chore: Remove unused files
* chore: Minor fix
* chore: Minor fix
* chore: Minor fix
* Add responsive design to label settings
* fix inbox view
* chore: Minor fix
* w-60% to w-2/3
* chore: Fix team
* chore: Fix button
* w-[34%] to w-1/3
* chore: Fix border
* Add support mobile views in team page
* chore: fix snackbar
* chore: clean up
* chore: Clean up
* fix: loading state alignment
* fix: alert styles
* chore: Minor fix
* fix: spacing for agent bot row
* fix: layout
* fix: layout for SLA
* fix: checkbox
* fix: SLA checkbox spacing
* Update inbox settings pages
* fix macros listing page layout
* fix canned responses
* chore: Fix bot page
* chore: fix automation page
* chore: fix agents page
* chore: fix canned response editor
* chore: Fix settings table
* chore: fix settings layout
* chore: Minor fix
* fix: canned response table layou
* fix: layout for table header for webhooks
* fix: webhook row layout
* fix: dashboard app modal layout
* fix: add title to canned response truncated shortcode
* fix: dashboard apps row layuot
* fix: layouts hooks
* fix: body color
* fix: delete action color in portal locales
* fix: text color for campagin title
* fix: success button color
---------
Co-authored-by: Pranav <pranav@chatwoot.com >
Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com >
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2024-02-28 13:56:28 +05:30
Surabhi Suman
4b40c61201
feat: Support Regex validation for custom attributes ( #7856 )
...
This allows a user to add/update a custom regex and a cue while defining custom attributes(Only applicable for type- text).
While adding/editing custom attributes, the values are validated against the attribute definition regex, and if it is incorrect, a cue message or default error message is shown and restricts invalid values from being saved.
Fixes : #6866
2024-01-23 18:01:57 +04:00
Sivin Varghese
f31fc2b375
fix: Avoid XSS in custom attributes ( #7800 )
2023-09-05 09:49:54 +05:30
Sivin Varghese
40ec0d109a
feat: Dark Mode ( #7471 )
2023-07-21 22:10:25 +05:30
Pranav Raj S
985b3f3bfc
chore: Reset the base font-size to 16px instead of 10px ( #7455 )
...
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
2023-07-04 03:23:00 +05:30
Muhsin Keloth
cd28f401ba
fix: Custom attribute date is not working in some time zone ( #7224 )
2023-06-09 16:55:03 -07:00
Pavel Kuzmin
2b7ff48bcd
fix: Turn off FOCUS_CUSTOM_ATTRIBUTE event to avoid memory leak ( #6772 )
2023-03-28 18:29:15 -07:00
Nithin David Thomas
2c15d5b4f3
fix: Custom attribute not getting changed on conversations ( #3965 )
2022-02-14 15:52:15 +05:30
Muhsin Keloth
9f37a6e2ba
fix: Render valid urls only in custom attributes ( #3921 )
2022-02-07 13:04:27 +05:30
Pranav Raj S
c792cfc0be
feat: Use Fluent SVG icons on the dashboard ( #3482 )
2021-11-30 21:03:18 -08:00
Muhsin Keloth
00143f7ee5
fix: Render checkbox if string value passed ( #3453 )
2021-11-24 11:02:45 +05:30
Sivin Varghese
da8f9d0337
feat: Add support for List and Checkbox in Custom Attributes ( #3439 )
2021-11-24 09:00:55 +05:30
Muhsin Keloth
a2764e5c1d
chore: Update deleteCustomAttribute method in SDK ( #3334 )
2021-11-15 14:56:35 +05:30
Muhsin Keloth
76370267f3
feat: Render contact custom attributes in contact/conversation sidebar ( #3310 )
2021-11-11 15:23:33 +05:30
Muhsin Keloth
ab77e03c92
feat: Render conversation custom attributes ( #3065 )
2021-10-30 07:09:46 +05:30