Sivin Varghese 
							
						 
					 
					
						
						
							
						
						9bd658137a 
					 
					
						
						
							
							feat: Scroll lock on message context menu ( #11454 )  
						
						... 
						
						
						
						This PR uses `useScrollLock` from `VueUse` to lock scrolling on the
conversation panel when the message context menu is open. 
						
						
					 
					
						2025-05-23 16:12:18 +05:30 
						 
				 
			
				
					
						
							
							
								Sivin Varghese 
							
						 
					 
					
						
						
							
						
						696611ae63 
					 
					
						
						
							
							feat: Add Teleport component to fix RTL/LTR utility classes ( #11455 )  
						
						... 
						
						
						
						# Pull Request Template
## Description
This PR introduces a `CustomTeleport` component that wraps Vue's
Teleport to preserve directionality context (ltr / rtl) when teleporting
content outside the app’s root container.
### Problem
Currently, the app sets the text direction (`[dir="ltr"]` or
`[dir="rtl"]`) on a container `div` inside `<body>`, not on `<body>`
itself. When content is teleported directly into `body`, it no longer
inherits the correct direction context. As a result, direction-aware
utility classes like `ltr:pl-2`, `rtl:ml-1`, etc., break because CSS
selectors like `[dir="ltr"] .ltr\:pl-2` no longer match. Identified this
issue when working on this
[PR](https://github.com/chatwoot/chatwoot/pull/11382 )
### Solution
The `CustomTeleport` component automatically applies the correct `[dir]`
attribute (`ltr` or `rtl`) on the teleported content's wrapper based on
the current `isRTL` setting from the store. This ensures that
direction-specific Tailwind utility classes continue to work as
expected, even when the content is rendered outside the app root.
## 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
- [ ] 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: Pranav <pranavrajs@gmail.com > 
						
						
					 
					
						2025-05-12 11:49:23 -07:00 
						 
				 
			
				
					
						
							
							
								Sivin Varghese 
							
						 
					 
					
						
						
							
						
						137c6f8a75 
					 
					
						
						
							
							fix: Context menu and its submenu boundary overflow ( #10729 )  
						
						... 
						
						
						
						# Pull Request Template
## Description
This PR adds smart positioning to prevent context menu and submenu from
overflowing screen boundaries. The context menu and its submenu now
dynamically adjust their position when there isn't enough space.
Fixes
https://linear.app/chatwoot/issue/CW-3936/assign-to-agent-ui-element-is-drawn-off-canvas 
https://github.com/chatwoot/chatwoot/issues/10727 
## Type of change
- [x] Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
**Loom video**
**Before**
https://www.loom.com/share/6c267dde103c4f2281ed5b4d006a43b1?sid=047966f5-d6d3-4de6-ade8-270141e6e215 
**After**
https://www.loom.com/share/5599c6061bb74c3ea527dd06960d3189?sid=ffb01149-bb7a-449e-b0ec-02cc191f472b 
## 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
- [ ] 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 
						
						
					 
					
						2025-01-22 17:56:43 +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 
						 
				 
			
				
					
						
							
							
								Sivin Varghese 
							
						 
					 
					
						
						
							
						
						40ec0d109a 
					 
					
						
						
							
							feat: Dark Mode ( #7471 )  
						
						
						
						
					 
					
						2023-07-21 22:10:25 +05:30 
						 
				 
			
				
					
						
							
							
								Pranav Raj S 
							
						 
					 
					
						
						
							
						
						70e7530cb4 
					 
					
						
						
							
							feat: Setup context menu for message ( #6750 )  
						
						
						
						
					 
					
						2023-03-24 16:20:19 -07:00 
						 
				 
			
				
					
						
							
							
								Fayaz Ahmed 
							
						 
					 
					
						
						
							
						
						2082409657 
					 
					
						
						
							
							feat: Add support for right click context menu in conversations ( #4923 )  
						
						... 
						
						
						
						Co-authored-by: Pranav Raj S <pranav@chatwoot.com > 
						
						
					 
					
						2022-07-26 10:47:28 +05:30