Sivin Varghese
c3d98fc064
chore: Move URL comparison logic to utils ( #11617 )
2025-05-29 10:19:56 +05:30
Shivam Mishra
f916fb2924
fix: handle empty customDomain when checking for isInternalLink ( #11609 )
...
This PR improves the portal's internal link detection logic to be more
robust when handling empty or undefined configuration values.
Previously, the code could fail when `customDomain` was empty, causing
external links to incorrectly behave as internal links. The fix
introduces a new `isSameOrigin` helper function that safely compares
URLs using proper URL parsing and origin comparison, gracefully handling
edge cases like missing domains, relative paths, and malformed URLs.
This ensures external links consistently open in new tabs regardless of
portal configuration completeness.
2025-05-28 17:56:32 +05:30
Sivin Varghese
dc335e88c9
fix: External links in widget not opening in new tab ( #11608 )
2025-05-28 15:15:05 +05:30
Pranav
61c5d751fc
chore: Make the table of contents in help center sticky ( #11448 )
2025-05-09 08:44:44 +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
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
Shivam Mishra
b8d0252511
feat: remove usage of .sync and define explicitly emits ( #10209 )
...
References
- https://v3-migration.vuejs.org/breaking-changes/v-model
-
https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html
2024-10-03 12:44:18 +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
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
Shivam Mishra
dadd572f9d
refactor: useKeyboardEvents composable ( #9959 )
...
This PR has the following changes
1. Fix tab styles issue caused by adding an additional wrapper for
getting an element ref on `ChatTypeTabs.vue`
2. Refactor `useKeyboardEvents` composable to not require an element
ref. It will use a local abort controller to abort any listener
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2024-08-22 16:40:55 +05:30
Sivin Varghese
56e93d152d
feat: Replace the use of mentionSelectionKeyboard mixin to a composable ( #9904 )
2024-08-07 14:14: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
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
Pranav
7a1a686133
fix: Fix typo in the font for portals ( #9515 )
...
The fonts on the portal were not loaded properly before due to a typo in
the stylesheet. The font that is shown on the public portal is ui-sans
right now. This PR fixes it.
2024-05-21 13:35:35 -07:00
Shivam Mishra
a4001374a5
feat: add missing clickaway directives ( #9451 )
...
* feat: add onClickaway to widget
* feat: add clickaway to portal
* feat: add directive to PublicArticleSearch
2024-05-10 11:15:36 +05:30
Pranav
abbb087a53
feat: Use the font Inter Display for help center articles ( #9239 )
...
Use Inter Display for help center
2024-05-03 09:48:01 +05:30
Sivin Varghese
12af2fe026
feat: Remove the usage of clickAway mixin with directive ( #9323 )
2024-04-30 10:35:14 +05:30
Shivam Mishra
47f8b2cd0c
refactor: handling keyboard shortcuts ( #9242 )
...
* fix: Resolve and go next keyboard shortcuts doesn't work
* refactor: use buildHotKeys instead of hasPressedCommandPlusAltAndEKey
* feat: install tinykeys
* refactor: use tinykeys
* test: update buildKeyEvents
* fix: remove stray import
* feat: handle action list globally
* feat: allow configuring `allowOnFocusedInput`
* chore: Navigate chat list item
* chore: Navigate dashboard
* feat: Navigate editor top panel
* feat: Toggle file upload
* chore: More keyboard shortcuts
* chore: Update mention selection mixin
* chore: Phone input
* chore: Clean up
* chore: Clean up
* chore: Dropdown and editor
* chore: Enter key to send and clean up
* chore: Rename mixin
* chore: Review fixes
* chore: Removed unused shortcut from modal
* fix: Specs
---------
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2024-04-26 15:41:02 +05:30
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
Arooba Shahoor
b3c9d1f1a5
fix: clear timers and animation frame request before component unmounts ( #8700 )
...
Co-authored-by: Sojan Jose <sojan@pepalo.com >
2024-01-22 12:08:33 +05:30
Sivin Varghese
2d1f70eb79
feat: Update public portal colors with new design ( #8230 )
2023-11-23 08:16:52 +05:30
Nithin David Thomas
31c709be5c
fix: Opens foreign links from article page in new tab [cw-2725] ( #8304 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2023-11-22 01:57:58 +05:30
Sivin Varghese
cb1e25a487
feat: Change the highlight in article page on scrolling ( #8330 )
2023-11-15 13:51:46 +05:30
Sivin Varghese
f018b0013c
feat: Updated the design of the article page ( #8166 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-11-08 18:05:13 -08:00
Sivin Varghese
7041d86e4d
feat: Updated home page design ( #8106 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-11-08 17:59:03 -08:00
Sivin Varghese
78398ee800
feat: Updated public portal header design ( #8089 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-11-08 17:56:59 -08:00
Sivin Varghese
ab872beb1d
feat: Helper to support dynamic system theme in public portal ( #8206 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-10-26 12:59:51 +05:30
Sivin Varghese
3e54d3654b
feat: Updated the search result fly-out menu design ( #8203 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-10-25 19:16:49 -07:00
Nithin David Thomas
28db18ebbd
chore: Shows articles in dark mode for widget ( #8115 )
2023-10-16 16:59:15 +05:30
Nithin David Thomas
b71a580573
feat: Adds dark theme support for public portal [CW-2525] ( #7979 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2023-10-04 11:56:00 +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
Pranav Raj S
fa7bbdb0b3
feat: Add support for plain design help center layout ( #7598 )
2023-07-25 05:13:52 +05:30
Nithin David Thomas
4a770fdea7
feat: Add Plus Jakarta Font to dashboard ( #7421 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-06-27 17:39:37 -07:00
Pranav Raj S
3f39b7ad1f
fix: Avoid styles getting purged on prod build ( #7086 )
2023-05-15 19:05:07 -07:00
Pranav Raj S
a3547c5a1f
feat: Show Table of Contents in the article sidebar ( #7085 )
2023-05-15 18:43:16 -07:00
Pranav Raj S
ce3e38df0f
chore: Update the design of the help center portal ( #6775 )
2023-05-08 15:31:38 -07:00
Tejaswini Chile
847d7ea082
feat: Add support to uncategorized articles ( #6912 )
2023-05-02 15:35:26 +05:30
Nithin David Thomas
1fb1be3ddc
feat: Add search functionality for public portal ( #5683 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2022-10-19 17:09:32 -07:00
Pranav Raj S
eb8e348ec1
chore: Update design of the help-center articles ( #5459 )
...
- Update designs
- Fixes meta tags
- Update typography
2022-09-19 20:31:38 -07:00
Nithin David Thomas
1ea289e8b7
feat: Sets up portal public views with rails ERB and tailwind ( #5309 )
...
* feat: Sets up portal public views with rails ERB and tailwind
* linter fixes
* Remove duplicate style file
* Shows articles and categories
* Specify layout for articles page
* Updates public portal styles
* Fixes blog content styles
* Portal style updates for article page
* Review fixes
* Adds breadcrumbs
* fix: rspec
* fix: public portal spec
* Code climate fixes
* Adds test cases for missing files
* Show only published articles
* Updates help center routes
* Review fixes
* Render markdown content for aticle body
* Update app/views/public/api/v1/portals/articles/index.html.erb
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Sojan <sojan@pepalo.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: tejaswini chile <tejaswini@chatwoot.com >
2022-09-12 23:36:24 +05:30