Sivin Varghese and GitHub
d5f34bf9d0
feat: Replace conversation/teamMixin within the components ( #9923 )
2024-08-11 10:09:08 +05:30
Sivin Varghese and GitHub
3558878ae2
feat: Replace the use of macroMixin with a composable ( #9912 )
...
# Pull Request Template
## Description
This PR will replace usage of `macroMixin` with the `useMacros`
composable. And updated components from option API to composition API.
**Files updated**
1. dashboard/routes/dashboard/settings/macros/MacroNode.vue
2. dashboard/routes/dashboard/settings/macros/MacroEditor.vue
Fixes
https://linear.app/chatwoot/issue/CW-3449/rewrite-macrosmixin-mixin-to-a-composable
## Type of change
- [x] New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
**Test cases**
1. Check whether we can create a new macro.
2. Check whether validations and error animation are working or not.
3. Ability to drag the macro files
4. Check whether the edit pages and functionality is working or not.
## 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:40:06 +05:30
Sivin Varghese and GitHub
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
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
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
Sivin Varghese and GitHub
fb99ba7b40
feat: Rewrite uiSettings mixin to a composable ( #9819 )
2024-07-23 21:27:22 +05:30
79aa5a5d7f
feat: Replace alertMixin usage with useAlert ( #9793 )
...
# Pull Request Template
## Description
This PR will replace the usage of `alertMixin` from the code base with
the `useAlert` composable.
Fixes
https://linear.app/chatwoot/issue/CW-3462/replace-alertmixin-usage-with-usealert
## Type of change
- [x] Breaking change (fix or feature that would cause existing
functionality not to work as expected)
## How Has This Been Tested?
Please refer this issue description
https://linear.app/chatwoot/issue/CW-3462/replace-alertmixin-usage-with-usealert
## 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
- [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: Sojan Jose <sojan@pepalo.com >
2024-07-23 16:41:11 +05:30
79381b08cc
feat: Move timeMixin to a helper ( #9799 )
...
# Pull Request Template
## Description
This PR will replace the usage of `timeMixin` with `timeHelper`
Fixes
https://linear.app/chatwoot/issue/CW-3451/move-time-mixin-to-a-helper
## Type of change
- [x] New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
Please refer to this issue description.
https://linear.app/chatwoot/issue/CW-3451/move-time-mixin-to-a-helper
## 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: Sojan Jose <sojan@pepalo.com >
2024-07-22 13:07:29 +05:30
23e30fcb1a
feat: Delete bulkActionsMixin ( #9800 )
...
# Pull Request Template
## Description
This PR will remove the `bulkActionsMixin` usage. Seems like it is not
used anywhere.
Fixes https://linear.app/chatwoot/issue/CW-3453/delete-bulkactionsmixin
## 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
- [ ] 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: Sojan Jose <sojan@pepalo.com >
2024-07-19 11:14:56 +05:30
9de8c27368
feat: Use vitest instead of jest, run all the specs anywhere in app/ folder in the CI ( #9722 )
...
Due to the pattern `**/specs/*.spec.js` defined in CircleCI, none of the
frontend spec in the folders such as
`specs/<domain-name>/getters.spec.js` were not executed in Circle CI.
This PR fixes the issue, along with the following changes:
- Use vitest instead of jest
- Remove jest dependancies
- Update tests to work with vitest
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2024-07-10 08:32:16 -07:00
Shivam Mishra and GitHub
9f625715ab
fix: Cannot read properties of undefined (reading 'toLowerCase') ( #9511 )
...
Tried to replicate the issue, but Sentry didn't have enough information.
`toggleMessageSignature` is a user triggered action in
`ReplyBottomPanel.vue`, the value for `channelType` is provided from
`inboxMixin`. The error will occur if either `inbox` is an empty object
`{}` or `channel_type` in `inbox` object is undefined.
I couldn't find any instance where this could be the case. The PR has a
stop gap solution that ensures that no action is triggered
2024-05-23 12:08:04 +05:30
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
1038d1500e
feat: SLA reports view ( #9189 )
...
* feat: SLA report table
* feat: Add SLA popover card
* feat: Update popover position
* feat: Add loader
* Update SLACardLabel.vue
* feat: Update column order
* chore: fix conditions
* Update SLATable.vue
* chore: enable reports in ui
* chore: Revamp report SLA apis
* chore: revert download method
* chore: improve the code
* Update enterprise/app/views/api/v1/accounts/applied_slas/download.csv.erb
Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com >
* chore: style fixes
* chore: fix specs
* feat: Add number of conversations
* chore: review comments
* fix: translation
* Update app/javascript/dashboard/i18n/locale/en/report.json
Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com >
* Update app/javascript/dashboard/i18n/locale/en/report.json
Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com >
* Update app/javascript/dashboard/i18n/locale/en/report.json
Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com >
* Update SLAReportItem.vue
* Update report.json
* Update package.json
* chore: review comments
* chore: remove unused translation
* feat: Add TableHeaderCell component
* chore: more review fixes
* Update app/javascript/dashboard/components/widgets/TableHeaderCell.vue
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
* Update TableHeaderCell.vue
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com >
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2024-04-09 10:14:36 +10:00
Sivin Varghese and GitHub
e49ef773d8
feat: UI to show the SLA threshold in chat screen ( #9146 )
...
- UI will show the breach in the conversation list.
- UI will show the breach in the conversation header.
Fixes: https://linear.app/chatwoot/issue/CW-3146/update-the-ui-to-show-the-breach-in-the-conversation-list
Fixes: https://linear.app/chatwoot/issue/CW-3144/ui-update-to-show-the-breachgoing-to-breach
2024-04-04 15:46:46 +05:30
89d0b2cb6e
feat: Add the bot performance reports UI ( #9036 )
...
Co-authored-by: Pranav <pranav@chatwoot.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2024-03-14 23:04:14 -07:00
27ac262a26
feat(ee): Add support for SLA in automation rules ( #8910 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2024-02-21 14:45:43 -08:00
b7a7e5a0d3
feat: Inbox list API integration ( #8825 )
...
* feat: Inbox view
* feat: Bind real values
* chore: code cleanup
* feat: add observer
* fix: Inbox icon
* chore: more code cleanup
* chore: Replace conversation id
* chore: Minor fix
* chore: Hide from side bar
* chore: Fix eslint
* chore: Minor fix
* fix: dark mode color
* chore: Minor fix
* feat: Add description for each notification types
* chore: remove commented code
* Update InboxList.vue
* Update InboxView.vue
* chore: fix specs
* fix: specs
* Update InboxView.vue
---------
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2024-02-01 12:10:58 +05:30
Surabhi Suman and GitHub
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
Pranav Raj S and GitHub
2c7f93978e
fix: Update broken specs ( #8651 )
...
- Use fakeTimer for time.spec.js
- Use default sort as last_activity_at_desc
- Update specs for getAllConversations getter
2024-01-05 13:09:09 -08:00
Vishnu Narayanan and GitHub
8a8f325f64
fix: messageTimestamp test ( #8644 )
2024-01-05 12:36:26 +05:30
Clairton Rodrigo Heinzen and GitHub
17725e4dd0
fix: Breakage of message pane when Openai integration isn't enabled ( #8381 )
...
Error when the Openai integration isn't enabled
fixes: https://github.com/chatwoot/chatwoot/issues/8379
2023-11-18 10:18:55 -08:00
7380f0e7ce
chore: Making OpenAI label suggestions optional ( #8374 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-11-17 19:54:15 -08:00
5d224f2e04
feat: allow inbox specific flags for signature toggle ( #8280 )
...
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
2023-11-08 10:47:22 +05:30
6a07251007
feat: Add the ability to self-assign conversations in macros ( #8048 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-10-10 09:38:23 +05:30
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
b18cac77fb
chore: Moved file upload methods to mixin ( #7987 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-09-27 11:05:19 +05:30
9ba5adfd60
chore: Support multiple values for automation message content ( #7871 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-09-19 13:04:58 +05:30
Pranav Raj S and GitHub
71e9566854
Revert "feat: Ability to send attachment in new conversation ( #7698 )" ( #7903 )
2023-09-12 20:57:49 +05:30
8bc2bc6d40
feat: Ability to send attachment in new conversation ( #7698 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-09-08 12:12:24 +05:30
Muhsin Keloth and GitHub
b89c917198
feat: Add CTAs for AI features ( #7538 )
2023-08-16 08:39:41 +05:30
Shivam Mishra and GitHub
f8ae6cd95c
fix: no method error when conversation is nil ( #7566 )
2023-07-26 17:40:41 +05:30
2a6f3356c9
chore: Show error message if the AI process APIs fails ( #7560 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2023-07-24 19:15:34 +05:30
c83105ce4f
feat: dismiss label suggestions only for 24 hours ( #7579 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-07-24 17:51:09 +05:30
Pranav Raj S and GitHub
27419eef66
feat: Add report on customer waiting time ( #7545 )
2023-07-20 12:01:22 -07:00
Pranav Raj S and GitHub
25ed66edf5
feat: Update reports UI to make it better ( #7544 )
2023-07-19 12:12:15 -07:00
91c1061214
feat: Add more AI options ( #7502 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-07-16 12:25:16 -07:00
Shivam Mishra and GitHub
7c080fa9fa
feat: label suggestion UI ( #7480 )
2023-07-13 09:16:09 +05:30
Muhsin Keloth and GitHub
9bb455ec2d
feat: Ability to choose the custom time for snooze conversation ( #7257 )
2023-06-19 18:23:35 +05:30
Sivin Varghese and GitHub
6bd0e074dc
feat: Sort agents on availability status ( #7174 )
2023-05-25 14:49:56 +05:30
Muhsin Keloth and GitHub
87f758ee1f
feat: Order conversations by priority ( #7053 )
2023-05-11 12:56:43 +05:30
Pranav Raj S and GitHub
04da8aa8dc
fix: Remove duplicates message in WhatsApp Channel ( #7003 )
2023-04-26 19:57:06 -07:00
Muhsin Keloth and GitHub
f1fc658a0d
feat: Add an action in Macro to change the priority ( #6940 )
2023-04-24 17:14:30 +05:30
Sivin Varghese and GitHub
be2356724e
fix: Time specs ( #6841 )
2023-04-06 16:33:31 +05:30
Sivin Varghese and GitHub
ab6276327a
feat: Show year in message timestamp if the message is not from the current year ( #6830 )
...
* feat: Shows year in message timestamp if the message is not from the current year
* chore: Naming fix
2023-04-06 15:09:38 +05:30
Tejaswini Chile and GitHub
6a0ca35de4
Feat: detect language of the message content ( #6660 )
2023-04-04 08:57:27 +05:30
ca1adb9960
feat: conversation participants ( #4145 )
...
Fixes #241
Fixes : chatwoot/product#648
Co-authored-by: Aswin Dev P.S <aswindevps@gmail.com >
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-02-16 13:35:06 +05:30
Shivam Mishra and GitHub
ba69f4cd35
test: fix time spec breaking circle CI ( #6443 )
2023-02-13 18:35:09 +05:30
Tejaswini Chile and GitHub
7c21cef467
Added event for conversation opened ( #6412 )
2023-02-08 12:05:22 +05:30
Sivin Varghese and GitHub
9782f71bdf
feat: Shows the last activity, created at timestamp in the same row ( #6267 )
2023-01-23 21:50:16 +05:30
add33d032c
feat: Adds automation view for assigning an agent ( #6131 )
...
* feat: Adds automation view for assigning an agent
Co-authored-by: Tejaswini Chile <tejaswini@chatwoot.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-01-10 11:35:56 +05:30