Vishnu Narayanan
ee02923ace
chore: fix circleci on vite build ( #10214 )
...
- Switch to pnpm based build
- Switch circleci from docker to machine to have more memory
- Fix frontend and backend tests
Fixes
https://linear.app/chatwoot/issue/CW-3610/fix-circle-ci-for-vite-build
---------
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
Co-authored-by: Pranav <pranavrajs@gmail.com >
Co-authored-by: Pranav <pranav@chatwoot.com >
2024-10-07 15:27:41 +05:30
Fayaz Ahmed
3b5f5b41ad
chore: Replace campaign mixin with composable [CW-3463] ( #9987 )
...
# Pull Request Template
## Description
Repalces campaignMixin and its usage with the new useCampaign mixin
Fixes
https://linear.app/chatwoot/issue/CW-3463/rewrite-campaignmixin-mixin-to-a-composable
---------
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2024-08-28 00:53:18 +05:30
Fayaz Ahmed
fe5670832a
chore: Replace filtersMixin with useFilter composable [CW-3466] ( #10036 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2024-08-27 13:50:25 +05:30
Sivin Varghese
bc6420019f
feat: Rewrite automations/methodsMixin to a composable ( #9956 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2024-08-27 12:30:08 +05:30
Fayaz Ahmed
f82ec3b885
chore: Repalce message formatter mixin with useMessageFormatter [CW-3470] ( #9986 )
...
# Pull Request Template
## Description
Replaced the old messageFormatterMixin with a useMessageFormatter
composable
2024-08-27 08:06:51 +05:30
Sivin Varghese
452096f4b2
feat: Replace rtlMixin to a composable ( #9924 )
...
This PR will replace the usage of `rtlMixin` to the `useUISettings` composable, and moved the method to component itself.
2024-08-12 15:50:21 +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
Shivam Mishra
68482db3a2
fix: templates in whatsapp ( #9862 )
2024-07-31 15:33:31 +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
Sivin Varghese
fb99ba7b40
feat: Rewrite uiSettings mixin to a composable ( #9819 )
2024-07-23 21:27:22 +05:30
Sivin Varghese
81d7c51a84
feat: Replace contentTypeMixin within the component ( #9802 )
...
# Pull Request Template
## Description
This PR will completely remove the `contentTypeMixin` and be used in the
component as it is.
Fixes
https://linear.app/chatwoot/issue/CW-3465/rewrite-contenttypemixin-mixin-as-a-helper
## Type of change
- [x] New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
Take a look at this component
`app/javascript/dashboard/components/widgets/conversation/Message.vue`
## 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
2024-07-22 13:08:04 +05:30
Pranav
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
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
Vishnu Narayanan
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
Shivam Mishra
1b63adfb2e
feat: add option for reply to in context menu ( #8043 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-10-05 20:01:20 +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
Pranav Raj S
4e8d17f017
chore: Update specs and warnings in console ( #7467 )
2023-07-05 18:32:55 -07:00
Tejaswini Chile
71837bedf9
feat: Ability to customise the email sender name [CW-1629] ( #7345 )
2023-07-04 20:46:01 +05:30
Sivin Varghese
409466bbd5
chore: RTL configuration ( #6521 )
...
* chore: RTL configuration
* Adds scss file
2023-02-23 17:50:44 +05:30
Sivin Varghese
af5c71e060
chore: Adds the ability to see the existing filter when we apply a new filter ( #6310 )
...
* feat: Adds existing filter to advance filter modal when we apply a filter
2023-01-24 09:10:17 +05:30
Sivin Varghese
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
Fayaz Ahmed
9eb861a3b7
feat: Custom attributes in automations and refactor ( #4548 )
...
* Custom attributes
* Custom Attrs Manifest
* Fix dropdown values for custom attributes
* Handle edit mode for custom attributes
* Ported duplicate logic to a mixin
* fix Code climate issue
* Fix Codeclimate complexity warning
* Bug fix - Custom attributes getting duplicated
* Bug fixes and Code Climate issue fix
* Code Climate Issues Breakdown
* Fix test spec
* Add labels for Custom attributes in dropdown
* Refactor
* Refactor Automion mixin
* Refactor Mixin
* Refactor getOperator
* Fix getOperatorType
* File name method refactor
* Refactor appendNewCondition
* spec update
* Refactor methods
* Mixin Spec update
* Automation Mixins Test Specs
* Mixin Spec Rerun
* Automation validations mixin spec
* Automation helper test spec
* Send custom_attr key
* Fix spec fixtures
* fix: Changes for custom attribute type and lower case search
* fix: Specs
* fix: Specs
* fix: Ruby version change
* fix: Ruby version change
* Removes Lowercased values and fix label value in api payload
* Fix specs
* Fixed Query Spec
* Removed disabled labels if no attributes are present
* Code Climate Fixes
* fix: custom attribute with indifferent access
* fix: custom attribute with indifferent access
* Fix specs
* Minor label fix
* REtrigger circle ci build
* Update app/javascript/shared/mixins/specs/automationMixin.spec.js
* Update app/javascript/shared/mixins/specs/automationMixin.spec.js
* fix: Custom attribute case insensitivity search
* Add missing reset action method to input
* Set team_input to single select instead of multiple
* fix: remove value case check for date,boolean and number data type
* fix: cognitive complexity
* fix: cognitive complexity
* fix: Fixed activity message for automation system
* fix: Fixed activity message for automation system
* fix: Fixed activity message for automation system
* fix: codeclimate
* fix: codeclimate
* fix: action cable events for label update
* fix: codeclimate, conversation modela number of methods
* fix: codeclimate, conversation modela number of methods
* fix: codeclimate, conversation modela number of methods
* fix: codeclimate, conversation modela number of methods
* Fix margin bottom for attachment button
* Remove margin bottom to avoid conflict from macros
* Fix automation action query generator using the right key
* fix: not running message created event for activity message
* fix: not running message created event for activity message
* codeclimate fix
* codeclimate fix
* codeclimate fix
* Update app/javascript/dashboard/mixins/automations/methodsMixin.js
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
* Update app/javascript/shared/mixins/specs/automationHelper.spec.js
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
* Update app/javascript/dashboard/helper/automationHelper.js
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
* Update app/javascript/dashboard/mixins/automations/methodsMixin.js
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
Co-authored-by: Tejaswini <tejaswini@chatwoot.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Sojan Jose <sojan@pepalo.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2022-11-10 10:53:29 +05:30
Sivin Varghese
a9d687565e
chore: Displayed WhatsApp API provider name in inbox settings ( #5346 )
2022-08-29 12:40:15 +05:30
Pranav Raj S
2c372fe315
feat: Improve email rendering, introduce a new layout for emails ( #5039 )
...
Co-authored-by: Fayaz Ahmed <15716057+fayazara@users.noreply.github.com >
2022-08-01 10:53:50 +05:30
Pranav Raj S
7bb8186e43
chore: Update self-closing tag eslint config ( #4826 )
...
* chore: Fix self-closing tag issues
* Fix merge conflicts
Co-authored-by: Fayaz Ahmed <15716057+fayazara@users.noreply.github.com >
2022-06-10 19:29:52 +05:30
Fayaz Ahmed
c5c89449dd
fix: Remove validation for WhatsApp templates with no params ( #4820 )
2022-06-09 21:34:59 +05:30
Sojan Jose
7b9e4982cf
Feat: Support MMS in SMS Channel ( Bandwidth ) ( #4046 )
...
Ability to send and receive MMS to bandwidth channel
fixes : #3961
2022-03-02 15:09:56 +05:30
Fayaz Ahmed
52d1821cd3
feature: Filtering conversations and contacts with custom attributes ( #3851 )
2022-02-01 13:13:55 +05:30
Santhosh C
6cfd7d3836
feat: autogenerate vapid keys for push notifications ( #3128 )
...
* feat: Autogenerate push notification keys
* add vapid service class and remove pushkey model
* add spec for vapid service
* unset vapid env keys
* Unset VAPID_PRIVATE_KEY env variable
Co-authored-by: Sojan Jose <sojan@chatwoot.com >
Co-authored-by: Vishnu Narayanan <vishnu@chatwoot.com >
2021-11-09 21:36:32 +05:30
Sivin Varghese
a8f6eebd66
bug: Fixes Incorrect badge for Twilio SMS inbox and adds the ability to differentiate Twitter tweets and chats ( #3003 )
...
* bug: Fixes Incorrect badge in the thumbnail for Twilio SMS inbox
* Minor fixes
* Minor fixes
* Review fixes
* Minor fixes
* fixes codeclimate error
* Minor fixes
* Minor fixes
* Minor fixes
* Review fixes
* Minor fixes
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2021-09-29 12:56:45 +05:30
Muhsin Keloth
4d668d8db3
feat: Dedicated tab for campaigns ( #2741 )
2021-08-11 20:29:33 +05:30
Muhsin Keloth
cf785123a5
feat: One off campaign UI ( #2621 )
2021-07-15 13:31:43 +05:30
Pranav Raj S
aa7db90cd2
fix: Use Dompurify to strip style characters ( #2632 )
2021-07-15 12:54:31 +05:30
Nithin David Thomas
a5c3c4301c
feat: Add support for markdown in messages ( #1642 )
...
Co-authored-by: Pranav <pranav@chatwoot.com >
2021-01-15 14:40:50 +05:30
Pranav Raj S
db877453a4
feat: Disable attachments and emoji picker in the web widget ( #1102 )
...
Signed-off-by: Pranav Raj Sreepuram <pranavrajs@gmail.com >
2020-08-05 17:46:17 +05:30
Pranav Raj S
5e5f34bedc
chore: Add an indicator for incoming emails ( #1112 )
2020-08-01 20:56:47 +05:30