Sivin Varghese
6ca38e10e9
feat: Migrate availability mixins to composable and helper ( #11596 )
...
# Pull Request Template
## Description
**This PR includes:**
* Refactored two legacy mixins (`availability.js`,
`nextAvailability.js`) into a Vue 3 composable (`useAvailability`),
helper module and component based rendering logic.
* Fixed an issue where the widget wouldn't load if business hours were
enabled but all days were unchecked.
* Fixed translation issue
[[#11280 ](https://github.com/chatwoot/chatwoot/issues/11280 )](https://github.com/chatwoot/chatwoot/issues/11280 ).
* Reduced code complexity and size.
* Added test coverage for both the composable and helper functions.
## Type of change
- [x] Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
### Loom video
https://www.loom.com/share/2bc3ed694b4349419505e275d14d0b98?sid=22d585e4-0dc7-4242-bcb6-e3edc16e3aee
### Story
<img width="995" height="442" alt="image"
src="https://github.com/user-attachments/assets/d6340738-07db-41d5-86fa-a8ecf734cc70 "
/>
## 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
Fixes https://github.com/chatwoot/chatwoot/issues/12012
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Pranav <pranav@chatwoot.com >
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2025-08-22 00:43:34 +05:30
Sivin Varghese
1baf5cbe19
chore: Replace tooltip in Avatar component with title attribute ( #12152 )
2025-08-11 17:58:07 +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
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
Pranav Raj S
94a20af9db
fix: Render articles in widget if it is available ( #7654 )
...
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Sojan <sojan@pepalo.com >
2023-09-14 19:56:17 +05:30
Pranav Raj S
961d810645
Revert "feat: Show popular articles on widget home" ( #7706 )
2023-08-10 22:27:51 -07:00
Nithin David Thomas
e052a061f4
feat: Show popular articles on widget home ( #7604 )
2023-08-01 21:32:44 +05:30
Nithin David Thomas
703e19304d
feat: Components to render articles in widget home ( #7596 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-07-24 16:45:55 -07:00
Sivin Varghese
1176e5eb8a
feat: Custom phone input in pre-chat form ( #7275 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
Co-authored-by: Sojan Jose <sojan@pepalo.com >
2023-06-26 10:26:06 +05:30
Sivin Varghese
198cd9b28d
feat: Show next available day/hour and minutes on widget ( #6902 )
...
* feat: Show next available hour and minutes on widget
* chore: Adds spec
* chore: Show days
* chore: Code clean up
* chore: Review fixes
* chore: Minor fixes
* chore: Review suggestion fixes
* chore: Minor fixes
* Added timezone to widget payload
* chore: Adds time zone
* chore: Review fixes
* chore: Adds comments
* chore: Rounded up min with nearest multiple of 5
* chore: Review fixes
* chore: Review fixes
* chore: Review fixes
* chore: Review fixes
* chore: Fix specs
* chore: Review fixes
* chore: Fix specs
* chore: Review fixes
* chore: Moved day names to i18n
* chore: Review fixes
* chore: Fix specs
---------
Co-authored-by: Tejaswini Chile <tejaswini@chatwoot.com >
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2023-05-12 19:25:51 +05:30
Muhsin Keloth
d5a2756462
feat: Add the option for consent form ( #6511 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2023-02-28 13:57:05 +05:30
Pranav Raj S
16085fdfbd
fix: Add missing translations ( #6263 )
2023-01-16 15:43:18 -08:00
Sojan Jose
28c8023bad
chore: Update translations ( #6211 )
2023-01-09 21:23:11 -08:00
Pranav Raj S
ffb4bd0109
feat: Add the support for video calls with Dyte in the live-chat widget ( #6208 )
...
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
Co-authored-by: iamsivin <iamsivin@gmail.com >
2023-01-09 11:52:31 -08:00
Sivin Varghese
87ef39ad9c
feat: Add the ability to search emojis ( #5928 )
2022-12-05 16:00:42 -08:00
Muhsin Keloth
26f23a6e21
feat: Custom fields in pre-chat form ( #4189 )
2022-04-19 12:47:29 +05:30
Aswin Dev P.S
c4837cd7ac
feat: End conversation from widget ( #3660 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Fayaz Ahmed <15716057+fayazara@users.noreply.github.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2022-03-15 22:07:30 +05:30
Muhsin Keloth
f405572e5c
Revert "feat: Custom fields in pre-chat form ( #4135 )" ( #4182 )
...
This reverts commit e730804b48 .
2022-03-15 16:54:33 +05:30
Muhsin Keloth
e730804b48
feat: Custom fields in pre-chat form ( #4135 )
...
Fixes : #2744
2022-03-14 15:06:56 +05:30
Pranav Raj S
9c31d7c672
feat: Use vue-router on widget route management ( #3415 )
...
* feat: Add vue-router to widget
Co-authored-by: Pranav <pranav@chatwoot.com >
* Move to dynamic imports
* Move to routerMixin
* Fix popup button display
* Remove unnecessary import
* router -> route
* Fix open state
* Fix issues
* Remove used CSS
* Fix specs
* Fix specs
* Fix widgetColor specs
* Fix mutation specs
* Fixes broken lint errors
* Fixes issues with widget flow
Co-authored-by: Nithin <nithin@chatwoot.com >
Co-authored-by: Nithin David <1277421+nithindavid@users.noreply.github.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2022-01-12 16:25:27 +05:30
Nithin David Thomas
307118b235
feat: Shows error message with retry for widget messages ( #3594 )
...
- Adds error message retry option for widget bubbles
- Adds a fallback for widget images with file type bubble
2021-12-21 12:02:43 +05:30
Muhsin Keloth
c6326993df
feat: Show pre-chat form before triggering the campaign ( #3215 )
2021-11-11 19:02:16 +05:30
Muhsin Keloth
15085cfb98
feat: Conversation transcript in widget ( #2549 )
2021-07-13 11:31:21 +05:30
Muhsin Keloth
f0f66c7da6
feat: Add ability to create a new conversation if the previous conversation is resolved ( #2512 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2021-06-30 21:09:44 +05:30
Muhsin Keloth
dbddb1ece4
feat: Add CSAT response submit action ( #2506 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2021-06-25 12:00:49 +05:30
Muhsin Keloth
29b9915d3b
feat: Add customer satisfaction component ( #2456 )
2021-06-22 13:01:19 +05:30
Sivin Varghese
67ce6f5704
feat: Add regex validation on form message inputs ( #2317 )
...
Co-authored-by: Nithin David Thomas <webofnithin@gmail.com >
Co-authored-by: Sojan <sojan@pepalo.com >
2021-06-08 16:32:01 +05:30
Muhsin Keloth
1290e32150
fix: Resolve bot name if sender value is empty ( #2283 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2021-05-18 00:22:43 +05:30
Muhsin Keloth
f925bc22e2
chore: Add sender details in Unread message ( #2277 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2021-05-17 21:38:59 +05:30
Muhsin Keloth
ce4ce3c86c
fix: Check uploaded file size in widget and dashboard ( #1975 )
...
* File size check logic in widget
* set maxium file size
* update locale texts
* file size check in dashboard
* dynamincally set file size limit error message
* code climate review fixes
* add alert mixin
* move attahcment bus event to constants
* Move file size check logic to helper
* add specs for file size limit check helper
* changes as per review
2021-04-15 22:28:19 +05:30
Nithin David Thomas
8612f307b3
Chore: Update widget offline message ( #2001 )
2021-03-27 13:08:09 +05:30
Pranav Raj S
037ffc7419
feat: Add a pre-chat form on widget ( #1769 )
2021-02-16 00:14:13 +05:30
Muhsin Keloth
3e61ea5cfa
feat: Change the date format display in widget ( #1528 )
...
Co-authored-by: Pranav <pranav@chatwoot.com >
2020-12-24 18:53:47 +05:30
Pranav Raj S
85514cae8d
feat: Display reply time in widget ( #1349 )
...
Fixes #1132
2020-10-18 23:32:22 +05:30
Pranav Raj S
0adbc346df
feat: Add an extended bubble design for the widget ( #1123 )
...
* feat: Add a new design for chat bubble
Signed-off-by: Pranav Raj Sreepuram <pranavrajs@gmail.com >
* Add i18n
* Fix stye issues
* Set fixed font-size
* Update docs for bubble
2020-08-09 16:07:32 +05:30
Nithin David Thomas
49db9c5d8a
Adds unread message bubbles for widget ( #943 )
...
Co-authored-by: Sojan <sojan@pepalo.com >
Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com >
2020-07-08 00:04:44 +05:30
Pranav Raj S
8af200ad20
Fix missing translations, enable dutch language ( #878 )
...
* Fix missing translations, enable dutch language
2020-05-19 19:05:10 +05:30
Pranav Raj S
c7120e9637
Chore: Add translated languages to account settings ( #826 )
...
* Add available languages in account settings
Co-authored-by: Sojan <sojan@pepalo.com >
2020-05-06 13:38:36 +05:30