4014a846f0
feat: Add the frontend support for MFA ( #12372 )
...
FE support for https://github.com/chatwoot/chatwoot/pull/12290
## Linear:
- https://github.com/chatwoot/chatwoot/issues/486
## Description
This PR implements Multi-Factor Authentication (MFA) support for user
accounts, enhancing security by requiring a second form of verification
during login. The feature adds TOTP (Time-based One-Time Password)
authentication with QR code generation and backup codes for account
recovery.
## Type of change
- [ ] New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Added comprehensive RSpec tests for MFA controller functionality
- Tested MFA setup flow with QR code generation
- Verified OTP validation and backup code generation
- Tested login flow with MFA enabled/disabled
## Checklist:
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] 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 <pranav@chatwoot.com >
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Sojan Jose <sojan@pepalo.com >
2025-09-18 21:16:06 +05:30
99997a701a
feat: Add twilio content templates ( #12277 )
...
Implements comprehensive Twilio WhatsApp content template support (Phase
1) enabling text, media, and quick reply templates with proper parameter
conversion, sync capabilities, and feature flag protection.
### Features Implemented
**Template Types Supported**
- Basic Text Templates: Simple text with variables ({{1}}, {{2}})
- Media Templates: Image/Video/Document templates with text variables
- Quick Reply Templates: Interactive button templates
- Phase 2 (Future): List Picker, Call-to-Action, Catalog, Carousel,
Authentication templates
**Template Synchronization**
- API Endpoint: POST
/api/v1/accounts/{account_id}/inboxes/{inbox_id}/sync_templates
- Background Job: Channels::Twilio::TemplatesSyncJob
- Storage: JSONB format in channel_twilio_sms.content_templates
- Auto-categorization: UTILITY, MARKETING, AUTHENTICATION categories
### Template Examples Tested
#### Text template
```
{ "name": "greet", "language": "en" }
```
#### Template with variables
```
{ "name": "order_status", "parameters": [{"type": "body", "parameters": [{"text": "John"}]}] }
```
#### Media template with image
```
{ "name": "product_showcase", "parameters": [
{"type": "header", "parameters": [{"image": {"link": "image.jpg"}}]},
{"type": "body", "parameters": [{"text": "iPhone"}, {"text": "$999"}]}
]}
```
#### Preview
<img width="1362" height="1058" alt="CleanShot 2025-08-26 at 10 01
51@2x"
src="https://github.com/user-attachments/assets/cb280cea-08c3-44ca-8025-58a96cb3a451 "
/>
<img width="1308" height="1246" alt="CleanShot 2025-08-26 at 10 02
02@2x"
src="https://github.com/user-attachments/assets/9ea8537a-61e9-40f5-844f-eaad337e1ddd "
/>
#### User guide
https://www.chatwoot.com/hc/user-guide/articles/1756195741-twilio-content-templates
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2025-08-29 16:13:25 +05:30
4397ee7d3b
chore: Update translations, add pnpm sync:i18n command ( #10893 )
...
Added a command to sync files in the locale/*/ folder. Run `pnpm
sync:i18n` would copy index.js in `dashboard/locale/en` to every other
folder `dashboard/locale/*/`
---------
Co-authored-by: Pranav <pranavrajs@gmail.com >
2025-02-12 17:43:46 -08:00
Sivin Varghese and GitHub
dec637ab8a
feat: Add new pagination component ( #10263 )
2024-10-14 21:06:54 -07:00
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
58e78621ba
chore: Custom Roles to manage permissions [ UI ] ( #9865 )
...
In admin settings, this Pr will add the UI for managing custom roles (
ref: https://github.com/chatwoot/chatwoot/pull/9995 ). It also handles
the routing logic changes to accommodate fine-tuned permissions.
---------
Co-authored-by: Pranav <pranavrajs@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2024-09-17 11:40:11 -07:00
28728635c9
feat: Custom date picker ( #9247 )
...
* feat: Custom date picker
* chore: Calender footer
* chore: Minor fix
* chore: Reset date picker
* chore: Minor fix
* feat: Toggle button
* chore: Clean up
* chore: Use font inter
* chore: Cleanup and fix bugs
* fix: custom date range reset the calendar
* chore: fix logic bug
* feat: Add manual date range
* fix: styles in rtl
* chore: Helper specs
* chore: Clean up
* chore: Review fixes
* chore: remove magic strings
* chore: Add comments
* chore: Review fixes
* chore: Clean up
* chore: remove magic strings
* fix: Use outline instead of border
* chore: Minor style fix
* chore: disable pointer events for the disabled dates
* chore: Fix code climate
---------
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2024-04-29 14:43:57 +05:30
Muhsin Keloth and GitHub
78724f7459
feat: Table footer design updates ( #9194 )
...
* feat: table footer component cleanup
* Update TableFooter.vue
* feat: Update design
* chore: remove RTL mixin
* chore: Make component in composable format
* chore: review fixes
2024-04-09 10:50:41 +10:00
cc47ccaa2c
feat(ee): Add SLA management UI ( #8777 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Pranav <pranav@chatwoot.com >
2024-02-20 23:03:22 -08:00
b7a7e5a0d3
feat: Inbox list API integration ( #8825 )
...
* feat: Inbox view
* feat: Bind real values
* chore: code cleanup
* feat: add observer
* fix: Inbox icon
* chore: more code cleanup
* chore: Replace conversation id
* chore: Minor fix
* chore: Hide from side bar
* chore: Fix eslint
* chore: Minor fix
* fix: dark mode color
* chore: Minor fix
* feat: Add description for each notification types
* chore: remove commented code
* Update InboxList.vue
* Update InboxView.vue
* chore: fix specs
* fix: specs
* Update InboxView.vue
---------
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2024-02-01 12:10:58 +05:30
9e2f991484
feat: audit logs UI ( #6803 )
...
* feat: init auditlogs ui
* chore: add api
* fix: action
* chore: add action,username,time
* feat: add pagination support
* chore: format time
* chore: refactor
* chore: refactor auditlogs api response
* chore: update icon
* chore: rubocop fixes
* Fixes the way meta is handled in store
* Fixes meta not appearing issue
---------
Co-authored-by: Sojan Jose <sojan@pepalo.com >
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
2023-04-17 19:11:05 +05:30
88ed028a06
feat: Revamps search to use new search API's ( #6582 )
...
* feat: Revamps search to use new search API's
* Fixes search result spacing
* Fixes message result
* Fixes issue with empty search results
* Remove console errors
* Remove console errors
* Fix console errors, canned responses
* Fixes message rendering on results
* Highlights search term
* Fixes html rendering for emails
* FIxes email rendering issues
* Removes extra spaces and line breaks
---------
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-03-03 20:58:21 +05:30
Sivin Varghese and GitHub
87ef39ad9c
feat: Add the ability to search emojis ( #5928 )
2022-12-05 16:00:42 -08:00
Fayaz Ahmed and GitHub
32d885a19b
feat: Add macros routes and views ( #5604 )
2022-10-11 23:20:20 -07:00
Pranav Raj S and GitHub
9b5c0de0ea
chore: Add router views for agent_bots ( #5600 )
2022-10-11 17:58:52 -07:00
Sivin Varghese and GitHub
43f46e96d4
feat: Header for help-center pages ( #4987 )
2022-07-08 21:19:19 +05:30
a9e84ec182
chore: Update translations from Crowdin ( #4772 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2022-06-08 18:07:45 +05:30
bad24f97ab
feat: Add support for Whatsapp template messages in the UI ( #4711 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2022-06-07 17:33:33 +05:30
79a525aa62
feat: Add Bulk actions to conversations ( #4647 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2022-06-03 11:12:22 +05:30
97675c61ea
chore: Update to the latest translations ( #3923 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2022-02-07 17:19:34 +05:30
d7cfe6858e
feat: Add advanced contact filters ( #3471 )
...
Co-authored-by: Tejaswini <tejaswini@chatwoot.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2021-12-02 19:12:44 -08:00
c2333214af
feat: Add Advanced Conversation Filters ( #3239 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
Co-authored-by: Tejaswini <tejaswini@chatwoot.com >
2021-11-18 19:15:02 +05:30
Muhsin Keloth and GitHub
c2b4991fd8
feat: Add automation route ( #3410 )
2021-11-18 14:09:55 +05:30
Sojan Jose and GitHub
b866c54ad5
chore: Bring updated translations ( #2945 )
2021-09-03 15:48:24 +05:30
Sivin Varghese and GitHub
4a23a393f7
feat: Creates custom attributes route ( #2877 )
2021-08-25 20:30:34 +05:30
Muhsin Keloth and GitHub
29b9915d3b
feat: Add customer satisfaction component ( #2456 )
2021-06-22 13:01:19 +05:30
Muhsin Keloth and GitHub
14b51e108a
feat: Add Integration hooks UI ( #2301 )
2021-06-06 16:59:05 +05:30
cf09c2af4d
chore: Update language translations ( #2280 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2021-05-17 23:53:19 +05:30
aa47bad4c1
chore: Add campaign empty page ( #2173 )
...
* Enhancement: Create route for contact details page
* add campaign page, add button, campaign description
* add locale texts
* update locale texts
* update grid
Co-authored-by: Nithin David <webofnithin@gmail.com >
2021-04-28 06:27:47 -07:00
Nithin David Thomas and GitHub
941d4219f0
feat: Set up store for teams ( #1689 )
2021-03-15 18:35:56 +05:30
97ad39713b
Feature: Improve label experience ( #975 )
...
Co-authored-by: Sojan <sojan@pepalo.com >
2020-06-25 21:04:03 +05:30
Sojan Jose and GitHub
52d28105e4
Chore: Remove dead code related to billing ( #935 )
...
- remove subscription model
- remove billing-related code
2020-06-07 20:31:48 +05:30
99eaf59509
Feature: Ability to set an account name ( #667 )
...
* Ability to change the account name
* Ability to set a language to the account
Addresses: #667 #307
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com >
2020-04-06 22:17:07 +05:30
c119c6577b
Feature: As a admin, I should be able to add webhooks to account ( #572 )
...
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com >
2020-02-29 17:43:49 +05:30
Pranav Raj S and GitHub
c4e2a84f65
Feature: Agent Profile Update with avatar ( #449 )
...
* Feature: Agent Profile Update with avatar
* Add Update Profile with name, avatar, email and password
2020-02-16 17:20:38 +05:30
Pranav Raj S and Sojan Jose
439e064d90
Feature: Contact Panel with conversation details ( #397 )
...
* Add Contact panel changes
* Fix parent iframe blocked
* Add Conversation Panel, Contact messages
* Update contact panel with conversation details
* Update designs in sidebar
* Fix specs
* Specs: Add specs for conversationMetadata and contact modules
* Fix currentUrl issues
* Fix spelling
* Set default to empty string
2020-01-01 22:30:43 +05:30
Pranav Raj S and GitHub
2783fb6006
Move src to dashboard ( #152 )
2019-10-16 14:36:17 +05:30