Sivin Varghese
88587b1ccb
feat: Add natural language date parser for snooze functionality ( #13587 )
...
# Pull Request Template
## Description
This PR introduces a custom, lightweight natural-language date parser
(dependency-free except for date-fns) to power snooze actions via the
command bar (e.g., “Remind me tomorrow at 6am”). It also adds support
for multi-language searches.
<details>
<summary>Supported Formats</summary>
## Snooze Date Parser — Supported Input Formats
## 1. Durations
Specify an amount of time from now.
### Basic
- `5 minutes` · `2 hours` · `3 days` · `1 week` · `6 months` · `ten
year`
- `in 2 hours` · `in 30 minutes` · `in a week` · `in a month`
- `5 minutes from now` · `a week from now` · `two weeks from now`
### Half / fractional
- `half hour` · `half day` · `half week` · `half month`
- `in half a day` · `in half an hour` · `in half a week`
- `one and a half hours` · `in one and a half hours`
- `1.5 hours` · `2.5 days`
### Compound
- `1 hour and 30 minutes` · `2 hours and 15 minutes`
- `2 days at 3pm` · `1 week at 9am`
### Shorthand (no spaces)
- `2h` · `30m` · `1h30m` · `2h15m`
- `1h30minutes` · `2hr15min` · `1hour30min`
### Informal quantities
- `couple hours` · `a couple of days` · `in a couple hours`
- `a few minutes` · `in a few hours` · `in a few days`
- `fortnight` · `in a fortnight` _(= 2 weeks)_
### Trailing "later"
- `2 days later` · `a week later` · `month later`
### Prefix words (`after` / `within`)
- `after 2 hours` · `after 3 days` · `after ten year`
- `within a week` · `within 2 hours`
### Recognised word-numbers
`a` (1) · `an` (1) · `one` – `twenty` · `thirty` · `forty` · `fifty` ·
`sixty` · `ninety` · `half` (0.5) · `couple` (2) · `few` (3)
---
## 2. Relative Days
- `today` · `tonight` · `tomorrow`
- `tomorrow morning` · `tomorrow afternoon` · `tomorrow evening` ·
`tomorrow night`
- `tomorrow at 3pm` · `tomorrow 9` · `tonight at 8` · `tonight at 10pm`
- `tomorrow same time` · `same time tomorrow`
- `day after tomorrow` · `the day after tomorrow` · `day after tomorrow
at 2pm`
- `later today` · `later this afternoon` · `later this evening`
---
## 3. Weekdays
- `monday` · `friday` · `wed` · `thu`
- `friday at 3pm` · `monday 9am` · `wednesday 14:30`
- `monday morning` · `friday afternoon` · `wednesday evening`
- `monday morning 6` · `friday evening 7`
- `this friday` · `upcoming monday` · `coming friday`
- `same time friday` · `same time wednesday`
---
## 4. "Next" Patterns
- `next hour` · `next week` · `next month` · `next year`
- `next week at 2pm` · `next month at 9am`
- `next monday` · `next friday` · `next friday at 3pm`
- `next monday morning` · `next friday evening`
- `monday of next week` · `next week monday`
- `next january` · `next december`
- `next business day` · `next working day`
---
## 5. Time of Day
- `morning` · `afternoon` · `evening` · `night` · `noon` · `midnight`
- `this morning` · `this afternoon` · `this evening`
- `early morning` · `late evening` · `late night`
- `morning at 8am` · `evening 6pm` · `afternoon 2pm`
- `eod` · `end of day` · `end of the day`
---
## 6. Standalone Time
- **12-hour:** `3pm` · `9am` · `at 3pm` · `at 9:30am`
- **24-hour:** `14:30` · `at 14:30`
---
## 7. Named Dates (Month + Day)
- `jan 15` · `january 15` · `march 20` · `dec 25`
- `jan 1st` · `march 3rd` · `april 2nd` · `december 31st`
- `15 march` · `25 dec` _(reversed order)_
- `jan 15 2025` · `dec 25 2025` · `march 20 next year`
- `jan 15 at 2pm` · `march 5 at 2pm`
- `december 2025` · `january 2024` _(month + year only)_
---
## 8. Month + Ordinal Patterns
Target a specific week or day within a month.
### Week of month
- `april first week` · `july 2nd week` · `feb 3rd week`
- `first week of april` · `2nd week of july`
### Day of month
- `april first day` · `march second day` · `march 5th day`
- `third day of march` · `5th day of jan at 2pm`
### Supported ordinals
- **Digit:** `1st` `2nd` `3rd` `4th` `5th` … (up to 31 for days, 5 for
weeks)
- **Word:** `first` `second` `third` `fourth` `fifth` `sixth` `seventh`
`eighth` `ninth` `tenth`
---
## 9. Formal / Numeric Dates
- **ISO:** `2025-01-15`
- **Slash (M/D/Y):** `01/15/2025`
- **Dash (D-M-Y):** `15-01-2025`
- **Dot (D.M.Y):** `15.01.2025`
- Any of the above **+ time:** `2025-01-15 at 3pm`
---
## 10. Special Phrases
- `this weekend` · `weekend` · `next weekend`
- `end of week` · `end of month`
- `end of next week` · `end of next month`
- `beginning of next week` · `start of next week`
- `beginning of next month`
---
## 11. Noise / Filler Stripping
The parser silently removes conversational prefixes so all of these work
exactly the same as the bare expression:
```
snooze for 2 hours → 2 hours
remind me tomorrow → tomorrow
please snooze until friday → friday
can you set a reminder for next week → next week
schedule this for jan 15 → jan 15
postpone to next monday → next monday
defer for 2 days → 2 days
delay it by 1 hour → 1 hour
```
### Recognised filler verbs / prefixes
`snooze` · `remind` · `remind me` · `set a reminder` · `add a reminder`
·
`schedule` · `postpone` · `defer` · `delay` · `push`
### Recognised prepositions (stripped)
`on` · `to` · `for` · `at` · `until` · `till` · `by` · `from` · `after`
· `within`
### Typo corrections
`tommorow` / `tommorrow` → `tomorrow` · `nxt` → `next`
---
## 12. Multi-Language Support
The parser supports localised input via translations in `snooze.json`.
### Translatable token categories
- **Units:** minute, hour, day, week, month, year _(singular + plural)_
- **Relative days:** tomorrow, day after tomorrow, next week / month,
this / next weekend
- **Time of day:** morning, afternoon, evening, night, noon, midnight
- **Word numbers:** one through ten, twelve, fifteen, twenty, thirty
- **Ordinals:** first through fifth
- **Structural words:** at, in, of, after, week, day, from now, next
year
- **Meridiem:** am, pm
### Auto-detected from locale
Weekday names and month names are resolved automatically via
`Intl.DateTimeFormat` for the user's locale — no manual translation
needed.
</details>
## Type of change
- [x] New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
**Screenshots**
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/c690d328-a0df-41d2-b531-2b4e6ce6b5fd "
/>
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/fa881acc-4fed-4ba3-9166-58bd953bcb26 "
/>
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/4d9a224b-641c-409c-a7ce-3dec2b5355e2 "
/>
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/465b9835-d82c-4bc7-a2ae-94976ada2d3b "
/>
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/839fe8fc-8943-4b66-83ca-5c61c95f24d8 "
/>
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/3a9a54f2-7669-40f2-b098-a3f5c183526d "
/>
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/7791ab2b-c763-49a9-90a0-e91b0d8f0a26 "
/>
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/4689390c-0e7f-48ae-acc7-d8e28695452f "
/>
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/d0aa5217-d0e1-4f41-b663-72888d028a3a "
/>
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/4fa9ff5b-a874-43d5-812f-6abe1a95a5ac "
/>
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/2c8199a6-f872-46af-986f-bdf8597248f5 "
/>
<img width="974" height="530" alt="image"
src="https://github.com/user-attachments/assets/5bd9effc-7518-4f96-b2f2-7c547f32f500 "
/>
## 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
2026-03-06 12:20:22 +04:00
Pranav
bb8bafe3dc
feat(ce): Add Year in review feature ( #13078 )
...
<img width="1502" height="813" alt="Screenshot 2025-12-15 at 5 01 57 PM"
src="https://github.com/user-attachments/assets/ea721f00-403c-4adc-8410-5c0fa4ee4122 "
/>
2025-12-15 17:24:45 -08:00
Sivin Varghese
e33f28dc33
feat: Companies page ( #12842 )
...
# Pull Request Template
## Description
This PR introduces a new Companies section in the Chatwoot dashboard. It
lists all companies associated with the account and includes features
such as **search**, **sorting**, and **pagination** to enable easier
navigation and efficient management.
Fixes
https://linear.app/chatwoot/issue/CW-5928/add-companies-tab-to-dashboard
## Type of change
- [x] New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
### Screenshot
<img width="1619" height="1200" alt="image"
src="https://github.com/user-attachments/assets/21f0a666-c3d6-4dec-bd02-1e38e0cd9542 "
/>
## 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: Vinay Keerthi <11478411+stonecharioteer@users.noreply.github.com>
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
2025-11-18 15:29:15 +05:30
Tanmay Deep Sharma
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
Muhsin Keloth
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
Chatwoot Bot
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
dec637ab8a
feat: Add new pagination component ( #10263 )
2024-10-14 21:06:54 -07:00
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
Sojan Jose
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
Sivin Varghese
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
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
Vishnu Narayanan
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
Muhsin Keloth
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
Vishnu Narayanan
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
Nithin David Thomas
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
87ef39ad9c
feat: Add the ability to search emojis ( #5928 )
2022-12-05 16:00:42 -08:00
Fayaz Ahmed
32d885a19b
feat: Add macros routes and views ( #5604 )
2022-10-11 23:20:20 -07:00
Pranav Raj S
9b5c0de0ea
chore: Add router views for agent_bots ( #5600 )
2022-10-11 17:58:52 -07:00
Sivin Varghese
43f46e96d4
feat: Header for help-center pages ( #4987 )
2022-07-08 21:19:19 +05:30
Sojan Jose
a9e84ec182
chore: Update translations from Crowdin ( #4772 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2022-06-08 18:07:45 +05:30
Fayaz Ahmed
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
Fayaz Ahmed
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
Sojan Jose
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
Fayaz Ahmed
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
Fayaz Ahmed
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
c2b4991fd8
feat: Add automation route ( #3410 )
2021-11-18 14:09:55 +05:30
Sojan Jose
b866c54ad5
chore: Bring updated translations ( #2945 )
2021-09-03 15:48:24 +05:30
Sivin Varghese
4a23a393f7
feat: Creates custom attributes route ( #2877 )
2021-08-25 20:30:34 +05:30
Muhsin Keloth
29b9915d3b
feat: Add customer satisfaction component ( #2456 )
2021-06-22 13:01:19 +05:30
Muhsin Keloth
14b51e108a
feat: Add Integration hooks UI ( #2301 )
2021-06-06 16:59:05 +05:30
Sojan Jose
cf09c2af4d
chore: Update language translations ( #2280 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2021-05-17 23:53:19 +05:30
Muhsin Keloth
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
941d4219f0
feat: Set up store for teams ( #1689 )
2021-03-15 18:35:56 +05:30
Pranav Raj S
97ad39713b
Feature: Improve label experience ( #975 )
...
Co-authored-by: Sojan <sojan@pepalo.com>
2020-06-25 21:04:03 +05:30
Sojan Jose
52d28105e4
Chore: Remove dead code related to billing ( #935 )
...
- remove subscription model
- remove billing-related code
2020-06-07 20:31:48 +05:30
Nithin David Thomas
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
Nithin David Thomas
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
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
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
2783fb6006
Move src to dashboard ( #152 )
2019-10-16 14:36:17 +05:30