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
3a693947b5
feat: Add RTL Support to Widget ( #11022 )
...
This PR adds RTL support to the web widget for improved right-to-left language compatibility, updates colors, and cleans up code.
Fixes https://linear.app/chatwoot/issue/CW-4089/rtl-issues-on-widget
https://github.com/chatwoot/chatwoot/issues/9791
Other PR: https://github.com/chatwoot/chatwoot/pull/11016
2025-03-21 09:39:03 -07:00
Sivin Varghese
5745ffbcb0
fix: Theme inconsistency between portal page and widget ( #11140 )
2025-03-21 13:26:50 +05:30
Shivam Mishra
490fc4eaba
fix: Remove the usage of asyncComponent in emoji picker ( #10232 )
...
This PR has the following fixes
1. preview of article inside the iframe, earlier this didn't work because the iframe didn't get the URL correctly. We fix that by passing the URL is a query instead
2. Emoji picker caused a weird redirect, this was only happening when the chunk was loaded async, this PR changes it to use regular loading instead
2024-10-04 08:10:27 -07:00
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
Fayaz Ahmed
a76cd7684a
chore: Replace darkmode mixin with useDarkMode composable [CW-3474] ( #9949 )
...
# Pull Request Template
## Description
Replaces darkModeMixin with the new useDarkMode composable and replaces
wll usages of mixin the the composable in components and pages
Fixes
https://linear.app/chatwoot/issue/CW-3474/rewrite-darkmodemixin-mixin-to-a-composable
## Type of change
Please delete options that are not relevant.
- [x] New feature (non-breaking change which adds functionality)
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2024-09-12 00:29:41 +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
Nithin David Thomas
28db18ebbd
chore: Shows articles in dark mode for widget ( #8115 )
2023-10-16 16:59:15 +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
Nithin David Thomas
018c468303
chore: Refactors widget to use i18n locale for articles ( #7958 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-09-21 18:24:03 +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
Nithin David Thomas
fabb3c8da4
fix: Help Center articles are not available on the widget [CW-2534] ( #7954 )
2023-09-21 17:06:15 +05:30
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
Muhsin Keloth
26f23a6e21
feat: Custom fields in pre-chat form ( #4189 )
2022-04-19 12:47:29 +05:30
Muhsin Keloth
715400f7ab
fix: Disable pre-chat fields for identified users ( #4234 )
2022-03-22 01:28:22 +05:30
Pranav Raj S
28d102f526
fix: Show new message screen instead of input field ( #4102 )
2022-03-03 12:36:31 +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
Muhsin Keloth
c6326993df
feat: Show pre-chat form before triggering the campaign ( #3215 )
2021-11-11 19:02:16 +05:30
koudshoorn
af1d8c0ee5
feat: Fixes #1940 WCAG support for website widget ( #2071 )
...
Co-authored-by: Kaj Oudshoorn <kaj@milvum.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
2021-09-02 12:13:53 +05:30
Muhsin Keloth
92c14fa87d
feat: CSAT response collection public page ( #2685 )
2021-08-03 18:22:50 +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
Sojan Jose
22965be6dc
feat: Add AgentBot APIs ( #2323 )
2021-06-01 22:34:25 +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
3043ee5058
Fix: Hide prechat for sessions inititated with setUser ( #1914 )
2021-03-20 17:44:20 +05:30
Pranav Raj S
1706199a0e
feat: Add pre_chat_form_settings in inbox settings page ( #1776 )
2021-02-16 00:58:57 +05:30
Pranav Raj S
037ffc7419
feat: Add a pre-chat form on widget ( #1769 )
2021-02-16 00:14:13 +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
45cd949c40
feat: Add a popout option on webwidget ( #1174 )
...
* feat: Add a popout option on webwidget
2020-08-28 17:39:46 +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
f28ec29b8c
Feature: Customise widget for bot conversations ( #834 )
...
* Feature: Customise widget for bot conversations
2020-05-09 22:02:43 +05:30
Nithin David Thomas
a951fb20cb
Chore: UI fixes and enhancements ( #796 )
...
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com >
2020-05-02 09:47:36 +05:30
Pranav Raj S
06153a96ed
Chore: Update swagger API documentation ( #745 )
...
* Chore: Update swagger documentation
2020-04-20 11:55:06 +05:30
Sojan Jose
941fbb0d72
Chore: Web widget Inbox Tech Debts ( #738 )
...
* Chore: Webwidget Inbox Tech Debts
* Additional customization options creating Web Widget
* Changes to edit Page for Web Widget
* Remove the WebWidget API end points
* Minor chores
Address: #680 , #502
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com >
2020-04-19 23:40:28 +05:30
Nithin David Thomas
6c4e1fdaac
Feature: Send images from widget
2020-03-30 12:15:06 +05:30
Nithin David Thomas
60dc564f37
Bug: Fix missing close button on mobile chat window ( #600 )
...
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com >
2020-03-07 23:39:41 +05:30
Nithin David Thomas
2d3212575d
Enhancement: Hides available in widget interaction ( #548 )
2020-02-23 15:16:09 +05:30
Nithin David Thomas
83b0bb4062
Feature: As an end-user, I should be able to see the list of agents in the widget. ( #461 )
...
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com >
2020-02-05 11:27:22 +05:30
Muhsin.K
9290893f9d
Style: Fix the last message style issue ( #433 )
2020-01-19 14:17:15 +05:30
Nithin David Thomas
f7f7a6b9c7
Feature: Widget design update ( #426 )
2020-01-17 13:36:05 +05:30
Nithin David Thomas
7cf19e0b52
Feature: Update design for web widget ( #408 )
2020-01-13 12:10:40 +05:30
Pranav Raj S
cfc56705fd
[Enhancement] Group widget messages by date ( #363 )
...
* [Enhancement] Group widget messages by date
* Update DateSeparator snapshot
2019-12-15 00:06:01 +05:30
Nithin David Thomas
274ad381cb
Makes widget header expand and collapse by messages size ( #293 )
2019-11-26 22:35:26 +05:30
Pranav Raj Sreepuram
b985085786
Fix styles in conversation view
2019-11-12 10:09:58 +05:30
Pranav Raj S
6d8b6d4769
[Bug] Scroll conversation to bottom on load ( #205 )
2019-11-12 09:46:30 +05:30
Pranav Raj S
7e3409c3e1
[Enhancement] Enter to send message, add click on bubble instead of icon ( #202 )
2019-11-09 17:12:31 +05:30
Pranav Raj S
3d3aefb197
[Enhancement] Use JS-Cookie to set Cookies ( #193 )
...
* Update js-cookie
* Add sdk css
* Remove conversation padding
2019-10-30 10:43:11 +05:30
Pranav Raj S
16fe912fbd
[Feature] Website live chat ( #187 )
...
Co-authored-by: Nithin David Thomas <webofnithin@gmail.com >
Co-authored-by: Sojan Jose <sojan@pepalo.com >
2019-10-29 12:50:54 +05:30