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 and GitHub
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 and GitHub
5745ffbcb0
fix: Theme inconsistency between portal page and widget ( #11140 )
2025-03-21 13:26:50 +05:30
Shivam Mishra and GitHub
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 and GitHub
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
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
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 and GitHub
28db18ebbd
chore: Shows articles in dark mode for widget ( #8115 )
2023-10-16 16:59:15 +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
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
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 and GitHub
fabb3c8da4
fix: Help Center articles are not available on the widget [CW-2534] ( #7954 )
2023-09-21 17:06:15 +05:30
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 and GitHub
961d810645
Revert "feat: Show popular articles on widget home" ( #7706 )
2023-08-10 22:27:51 -07:00
Nithin David Thomas and GitHub
e052a061f4
feat: Show popular articles on widget home ( #7604 )
2023-08-01 21:32:44 +05:30
Muhsin Keloth and GitHub
26f23a6e21
feat: Custom fields in pre-chat form ( #4189 )
2022-04-19 12:47:29 +05:30
Muhsin Keloth and GitHub
715400f7ab
fix: Disable pre-chat fields for identified users ( #4234 )
2022-03-22 01:28:22 +05:30
Pranav Raj S and GitHub
28d102f526
fix: Show new message screen instead of input field ( #4102 )
2022-03-03 12:36:31 +05:30
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 and GitHub
c6326993df
feat: Show pre-chat form before triggering the campaign ( #3215 )
2021-11-11 19:02:16 +05:30
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 and GitHub
92c14fa87d
feat: CSAT response collection public page ( #2685 )
2021-08-03 18:22:50 +05:30
Muhsin Keloth and GitHub
15085cfb98
feat: Conversation transcript in widget ( #2549 )
2021-07-13 11:31:21 +05:30
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 and GitHub
22965be6dc
feat: Add AgentBot APIs ( #2323 )
2021-06-01 22:34:25 +05:30
Muhsin Keloth and GitHub
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 and GitHub
3043ee5058
Fix: Hide prechat for sessions inititated with setUser ( #1914 )
2021-03-20 17:44:20 +05:30
Pranav Raj S and GitHub
1706199a0e
feat: Add pre_chat_form_settings in inbox settings page ( #1776 )
2021-02-16 00:58:57 +05:30
Pranav Raj S and GitHub
037ffc7419
feat: Add a pre-chat form on widget ( #1769 )
2021-02-16 00:14:13 +05:30
Pranav Raj S and GitHub
85514cae8d
feat: Display reply time in widget ( #1349 )
...
Fixes #1132
2020-10-18 23:32:22 +05:30
Pranav Raj S and GitHub
45cd949c40
feat: Add a popout option on webwidget ( #1174 )
...
* feat: Add a popout option on webwidget
2020-08-28 17:39:46 +05:30
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 and GitHub
f28ec29b8c
Feature: Customise widget for bot conversations ( #834 )
...
* Feature: Customise widget for bot conversations
2020-05-09 22:02:43 +05:30
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 and GitHub
06153a96ed
Chore: Update swagger API documentation ( #745 )
...
* Chore: Update swagger documentation
2020-04-20 11:55:06 +05:30
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 and GitHub
6c4e1fdaac
Feature: Send images from widget
2020-03-30 12:15:06 +05:30
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 and GitHub
2d3212575d
Enhancement: Hides available in widget interaction ( #548 )
2020-02-23 15:16:09 +05:30
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 and GitHub
9290893f9d
Style: Fix the last message style issue ( #433 )
2020-01-19 14:17:15 +05:30
Nithin David Thomas and Pranav Raj S
f7f7a6b9c7
Feature: Widget design update ( #426 )
2020-01-17 13:36:05 +05:30
Nithin David Thomas and Pranav Raj S
7cf19e0b52
Feature: Update design for web widget ( #408 )
2020-01-13 12:10:40 +05:30
Pranav Raj S and Sojan Jose
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 and Sony Mathew
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 and GitHub
6d8b6d4769
[Bug] Scroll conversation to bottom on load ( #205 )
2019-11-12 09:46:30 +05:30
Pranav Raj S and GitHub
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 and Sojan Jose
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
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