Commit graph

369 commits

Author SHA1 Message Date
Sojan Jose
7b9e4982cf
Feat: Support MMS in SMS Channel ( Bandwidth ) (#4046)
Ability to send and receive MMS to bandwidth channel

fixes: #3961
2022-03-02 15:09:56 +05:30
Sojan Jose
4260441f8c
Chore: clean up Reporting Events (#4044)
Tech debt clean up

Fixes #4057

Co-authored-by: Aswin Dev P S <aswin@chatwoot.com>
2022-02-28 18:16:12 +05:30
Muhsin Keloth
aff14b697f
chore: Add webhook URL validation (#4080) 2022-02-28 15:44:02 +05:30
Sojan Jose
4ca66c1195
fix: Automation loop on conversation_update (#4071) 2022-02-25 18:01:21 +05:30
Aswin Dev P.S
e348db1e37
Fix: add option to choose 24 hour working slot (#4018)
* Add option to choose 24 hour working slot

* fix spec

* add check to update open hour and close hour for open all day

* update 24 hour working slot change in widget side

* add validation to check open_all_day and closed_all_day true at the same time
2022-02-22 01:28:49 -08:00
Fayaz Ahmed
5ad6db07b4
fix: Automation Bugs and minor enhancements (#3936) 2022-02-15 23:36:29 +05:30
Sojan Jose
5ad7e93059
chore: Discard activities from email notifiable messages (#3989) 2022-02-15 18:15:45 +05:30
Aswin Dev P.S
464e12ceb7
fix: Update auto reply and hide reply time for email inbox (#3985)
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2022-02-15 17:11:28 +05:30
Pranav Raj S
2591a04c0b
chore: Remove message_signature_enabled from users (#3982) 2022-02-15 12:10:53 +05:30
Sojan Jose
3d73d8935a
feat: Add the ability for a super admin to define account limits (#3946)
Fixes: #3773
2022-02-14 15:55:08 +05:30
Aswin Dev P.S
4e416b4d51
Add openssl verify mode and email encryption for smtp configuration (#3885)
* Add openssl verify mode and email encryption for smtp configuration
* Add spec for code coverage
2022-02-08 03:26:13 -08:00
Muhsin Keloth
a737f89c47
fix: Ongoing campaign URL validation (#3890) 2022-02-04 14:38:18 +05:30
Sojan Jose
cf10f3d03b
chore: Provider APIs for SMS Channel - Bandwidth (#3889)
fixes: #3888
2022-02-03 15:22:13 -08:00
Tejaswini Chile
8821106da9
Fix: Added the backend validation for name (#3878)
- Added the backend validation for name
- Add message size constraint
2022-02-02 14:21:17 -08:00
Tejaswini Chile
e99ea0b582
feat: Email signature API support (#3874) 2022-02-02 19:37:33 +05:30
Shivam Chahar
8e6d8e7654
fix: Validate avatar only when it has changed (#3849) 2022-01-26 16:01:41 -08:00
Sojan Jose
59deffc7e3
feat: Ability to toggle conversation continuity via email (#3817)
Fixes: #3368
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2022-01-26 15:59:48 -08:00
Sojan Jose
34e8ad9dc5
feat: Unify user and super admin credentials (#3830)
Fixes: #3061, #3489
2022-01-25 16:58:49 -08:00
Shivam Chahar
9617137688
chore: Account auto resolution time validation (#3651) 2022-01-19 13:16:21 +05:30
Sojan Jose
290196d43b
chore: Clean up assignment logic (#3763) 2022-01-13 21:38:10 -08:00
Tejaswini Chile
7df68c6388
Feat: Automations Actions (#3564) 2022-01-13 11:21:06 +05:30
Sojan Jose
f44be0b1e6
fix: SuperAdmin Improvements (#3733)
- Fix broken access tokens pages
- Fix broken avatar images in the super admin users tab
- Fix broken pagination links in super admin
- Add agent bot tabs

Fixes: #2021
2022-01-11 19:00:00 -08:00
Sojan Jose
ebb04487a8
chore: Prevent null in Contact JSONB attributes (#3730) 2022-01-11 15:14:55 -08:00
Aswin Dev P.S
7ee7062843
feat: Toggle to disallow users to send messages after a conversation is resolved (#3605) 2022-01-11 00:32:03 -08:00
Tejaswini Chile
a0884310f4
feat: Save automation rules (#3359) 2022-01-10 12:41:59 +05:30
Sojan Jose
577e9905c6
chore: Fix issue with conversation assignment notifications (#3661)
- fixes issues with conversation assignment notifications not working in certain cases
2021-12-28 21:53:13 +05:30
Sojan Jose
009abc1948
chore: API improvements (#3637)
- Unique validations for Inbox members and Team member objects
- Move notification processing to Async
2021-12-21 22:48:01 +05:30
Muhsin Keloth
262474166f
chore: Add display id in all conversation notifications (#3635)
- Added conversation display id in push payload for the notifications conversation_creation and conversation_assignment
2021-12-21 19:59:22 +05:30
Sojan Jose
6fe5484119
chore: Allow more filetypes in uploads (#3557)
- Allowing the ability to upload more common file types like zip, Docx etc
- Fallback for image bubble when the image URL isn't available

fixes: #3270

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
Co-authored-by: Nithin David <1277421+nithindavid@users.noreply.github.com>
2021-12-20 23:50:37 +05:30
Sojan Jose
8d65608666
chore: Clean up migrations (#3613)
Fixes: #3530
2021-12-19 09:47:07 +05:30
Aswin Dev P.S
5ee209c079
chore: Fix user email re-confirmation flow (#3581)
Users can change their email from profile settings. They will be logged out immediately. Users can log in again with the updated email without verifying the same. This is a security problem.

So this change enforce the user to reconfirm the email after changing it. Users can log in with the updated email only after the confirmation.

Fixes: https://huntr.dev/bounties/7afd04b4-232e-4907-8a3c-acf8bd4b5b22/
2021-12-16 19:32:49 +05:30
Tejaswini Chile
9984edd3ef
Feat: Manage conversation for tweets based on the tweet flag (#3353)
Add tweet conversation only if tweets are enabled.

Fixes #1961
2021-12-16 00:24:50 +05:30
Sojan Jose
b1eea7f7d1
chore: Introduce enterprise edition license (#3209)
- Initialize an "enterprise" folder that is copyrighted.
- You can remove this folder and the system will continue functioning normally, in case you want a purely MIT licensed product.
- Enable limit on the number of user accounts in enterprise code.
- Use enterprise edition injector methods (inspired from Gitlab).
- SaaS software would run enterprise edition software always.

Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2021-12-09 12:07:48 +05:30
Pranav Raj S
2be71e73dc
feat: Add a view for mentions (#3505)
- Added a new table mentions for saving user mentions
- Added a filter conversation_type in the API
- Added a view to see the mentions
2021-12-09 11:20:14 +05:30
Muhsin Keloth
3ee6b7d6e9
chore: Add the ability to use same key for conversation and contact (#3526) 2021-12-08 20:15:27 +05:30
Muhsin Keloth
46afcd9348
fix: Index custom attribute uniqueness on account (#3516)
- Move custom attribute uniqueness validation to account
2021-12-07 18:20:47 +05:30
Sojan Jose
d5c30760a7
chore: Whatsapp templates fix for 360 dialog (#3479)
Fixes: #3426
2021-11-30 20:50:35 +05:30
Shivam Chahar
a4ee8ee239
Chore: Improve conversation auto resolution (#3405)
Fixes: #1583
2021-11-27 09:26:18 +05:30
Vishnu Narayanan
3a48e08fe0
feat: migrate facebook env vars to globalConfig (#3369)
Migrate facebook env vars to globalConfig and make it editable from the super admin UI.
2021-11-25 00:55:26 +05:30
Sojan
0033a35ab8 Merge branch 'hotfix/1.22.1' into develop
# Conflicts:
#	db/schema.rb
2021-11-22 23:35:44 +05:30
Sojan Jose
791d90c6b7
chore: Migrate PubSub Token to contact inbox (#3434)
At present, the websocket pubsub tokens are present at the contact objects in chatwoot. A better approach would be to have these tokens at the contact_inbox object instead. This helps chatwoot to deliver the websocket events targetted to the specific widget connection, stop contact events from leaking into other chat sessions from the same contact.

Fixes #1682
Fixes #1664

Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2021-11-22 23:32:17 +05:30
Aswin Dev P.S
24e6a92297
feat: IMAP Email Channel (#3298)
This change allows the user to configure both IMAP and SMTP for an email inbox. IMAP enables the user to see emails in Chatwoot. And user can use SMTP to reply to an email conversation.

Users can use the default settings to send and receive emails for email inboxes if both IMAP and SMTP are disabled.

Fixes #2520
2021-11-19 11:52:27 +05:30
Muhsin Keloth
bf96e8b68d
choore: Change values to attribute_values in custom attributes (#3413) 2021-11-18 18:59:28 +05:30
Akhil G Krishnan
b81a9f2010
Chore: Replaced dependent destroy with dependent destroy_async in all models (#3249) 2021-11-18 10:32:29 +05:30
Shivam Chahar
fec4a29081
Feat: Include previous messages in mention/assign notifications email (#3385) 2021-11-17 18:05:53 +05:30
Muhsin Keloth
9ea42ebff2
chore: Add the support for list and checkbox in custom attribute model (#3400)
ref: #3399
2021-11-16 23:25:19 +05:30
Sojan Jose
d78cb67a2a
chore: Fix conversation status in webhooks (#3364)
- fix the wrong conversation status being sent in webhooks
- additional information in websocket events
- refactor activity messaging code
- move activity message generation to background job to stop the callback loop
2021-11-12 16:17:59 +05:30
Muhsin Keloth
76370267f3
feat: Render contact custom attributes in contact/conversation sidebar (#3310) 2021-11-11 15:23:33 +05:30
Sojan Jose
a4c87f2052
chore: Handle attachments in Whatsapp Channel (#3299)
send and receive attachments in 360Dialog WhatsApp channels
2021-11-11 13:03:48 +05:30
Tejaswini Chile
358171062e
Feat: Add Null values at the last while sorting (#3292)
* Add Null values at the last while sorting
* Add contacts at last with special character in it
* Optimize SQL order and direction
2021-11-10 14:11:00 +05:30
Pranav Raj S
8e6ce3a813
feat: Add notes for Contacts (#3273)
Fixes #2275
2021-10-25 18:35:58 +05:30
Sojan Jose
06289b03ea
chore: Add Contact Note APIs (#3266) 2021-10-24 12:40:30 +05:30
Sojan Jose
3b53ca157c
chore: fix the failing user destroy for admin (#3223)
- fix the invitee association on the user
- handle Instagram events with inbox missing
2021-10-16 00:11:53 +05:30
Pranav Raj S
99abbb8158
feat: Display sent status of emails in email channel (#3125) 2021-10-14 12:55:46 +05:30
Muhsin Keloth
6bfa551c85
fix: Trigger campaigns only during business hours (#3085)
Fixes #2433
2021-10-12 17:58:33 +05:30
Fayaz Ahmed
b9e85a628b
Feat : Toggle to enforce user validation in Chatwoots web SDK (#3137)
* If enabled, enforces user validation with identifier_hash

* Fixes the hmac flag payload

* Adds missing i18n label for checkbox

* If enabled, Adds EOF on json file

* If applied, Handles HMAC Disable option

Co-authored-by: Tejaswini Chile <tejaswini776@gmail.com>
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2021-10-08 12:53:24 +05:30
Sojan Jose
c54aae21ff
chore: Move agent availability to Account level (#3074)
- Move agent availability to the account level
2021-10-07 13:21:46 +05:30
Murtaza Bagwala
f874925f0e
fix: set default content type as text for message (#3060)
Fixes #2974
2021-10-06 00:10:29 +05:30
Sojan Jose
bd7aeba484
chore: Provider API prototype (#3112)
Enabling Support for Whatsapp via 360Dialog as a prototype for the provider APIs. 

Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2021-10-05 23:35:06 +05:30
Tejaswini Chile
40d0b2faf3
feat: Add Instagram Channel (#2955) 2021-10-05 14:35:32 +05:30
Aswin Dev P.S
be9a055a3f
feat: Ability to send attachments to telegram (#3108)
This feature allows the user to send and delete attachments in the telegram conversation.

Fixes #3037
2021-10-01 01:45:29 +05:30
Aswin Dev P.S
15aaa8883c
feat: API to Filter reports by teams (#3066)
Add API to Filter reports by teams

Fixes: #2916
2021-09-27 21:12:08 +05:30
Tejaswini Chile
54bdb2957f
feat: Add assignee last seen to conversations (#3069)
- Adds assignee last seen attribute to conversations
2021-09-23 20:59:10 +05:30
Aswin Dev P.S
4f51a46c2b
feat: Ability to delete a contact (#2984)
This change allows the administrator user to delete a contact and its related data like conversations, contact inboxes, and reports.

Fixes #1929
2021-09-23 12:52:49 +05:30
Muhsin Keloth
0c24df96a8
chore: Conversation custom attribute APIs (#3024) 2021-09-22 10:46:48 +05:30
Pranav Raj S
b59e73b10b
fix: Update associations when a label is updated (#3046) 2021-09-21 10:16:32 +05:30
Tejaswini Chile
b1b0268705
feat: Support sending and receiving attachments in Slack Integration (#3022)
- Process incoming slack attachments
- Send attachments from chatwoot to slack
2021-09-18 00:49:01 +05:30
Aswin Dev P.S
794a56d4cc
Feat: Out of office autoresponder (#2992)
This change allows the user to enable autoresponder during the out-of-office time.

Fixes: #2035
2021-09-17 22:17:11 +05:30
Sojan Jose
0c3e8b6dbd
chore: Return medium in inbox APIs (#3025)
Return medium in inbox APIs
2021-09-16 16:51:06 +05:30
Sojan Jose
2396b59f11
chore: API fixes (#3014)
- Minor API fixes
- Configuration screen for LINE inbox
2021-09-14 22:44:53 +05:30
Sojan Jose
22d1c8baf2
Chore: Inbox Members API improvements (#3008)
- New Inbox Member APIs
- Return JSON errors for Platform APIs
2021-09-14 11:55:02 +05:30
Brandon Wilson
571fefd7cd
fix: Selected agent profile picture in agent multi select (#2949) 2021-09-13 13:43:19 +05:30
Sojan Jose
0a38632f14
feat: Line Channel (#2904)
- Ability to configure line bots as a channel in chatwoot
- Receive a message sent to the line bot in chatwoot
- Ability to reply to line users from chatwoot

fixes: #2738
2021-09-11 01:31:17 +05:30
Sojan Jose
671c5c931f
feat: Telegram Channel (#2901)
- Ability to configure telegram bots as a channel in chatwoot
- Receive a message sent to the telegram bot in chatwoot
- Ability to reply to telegram users from chatwoot
- Receive attachment messages in chatwoot

fixes: #1843
2021-09-10 00:00:52 +05:30
Sojan Jose
9c4ce9af35
chore: Strip unnecessary data from push payload (#2924) 2021-09-09 13:59:42 +05:30
Sojan Jose
8de4ce0037
chore: attachment validation fix (#2976)
- Attachment validation was supposed to affect the web widget channel only. But it was validating for all channels
2021-09-07 22:59:02 +05:30
Sojan Jose
ad83d1bb71
feat: Platform API improvements (#2900)
- Platform APIs to add and update custom attributes to users
- Platform APIs to delete accounts
- Platform APIs to delete users
2021-09-02 18:29:45 +05:30
Sojan Jose
6fdd4a2996
chore: Security Improvements to the API (#2893)
- Devise auth tokens are reset on password update
- Avatar attachment file type is limited to jpeg,gif and png
- Avatar attachment file size is limited to 15 mb
- Widget Message attachments are limited to types ['image/png', 'image/jpeg', 'image/gif', 'image/bmp', 'image/tiff', 'application/pdf', 'audio/mpeg', 'video/mp4', 'audio/ogg', 'text/csv']
- Widget Message attachments are limited to 40Mb size limit.
2021-09-01 15:08:05 +05:30
Sojan Jose
5319af3dfc
chore: Merge contact copy over information (#2812)
fixes: #2767, #2773

Co-authored-by: Nithin David <1277421+nithindavid@users.noreply.github.com>
2021-08-31 15:30:18 +05:30
Sivin Varghese
fdcc322660
feat: Add the ability to create custom attribute (#2903) 2021-08-31 13:54:34 +05:30
Tejaswini Chile
65f3e83afd
feat: APIs to filter reports (#2889)
Fixes #2823
2021-08-27 22:46:32 +05:30
Brandon Wilson
f94abaef5f
feat: Shows inbox identifier token for API inbox (#2894)
Fixes: #2605
2021-08-27 19:56:45 +05:30
Fayaz Ahmed
0a08e1ffc0
feat: Adds async and defer attributes to chatwoot script tag (#2890)
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com>
2021-08-26 19:51:10 +05:30
Muhsin Keloth
1257f86f22
chore: Add description field in custom attribute model (#2872) 2021-08-24 21:17:23 +05:30
Muhsin Keloth
6515b69560
feat: CSAT for all channels (#2749) 2021-08-23 22:00:47 +05:30
Tejaswini Chile
eb80324eaa
feat: Add message content to mention email template (#2838) 2021-08-18 15:28:45 +05:30
Vishal Pandey
21d2b4d918
chore: Consider inbox.timezone in open_at logic (#2183)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2021-08-12 02:29:15 +05:30
Sojan Jose
ab54d9c629
chore: Upgrade rails and ruby versions (#2400)
ruby version: 3.0.2
rails version: 6.1.4
2021-08-03 20:11:52 +05:30
Sojan Jose
e46aa1aa64
chore: Mark Facebook accounts for reconnection (#2405)
fixes: #2037
2021-08-01 18:15:39 +05:30
Vishnu Narayanan
223385d134
fix: Specify external db with non-standard port (#2711)
POSTGRES_PORT was not taking effect if provided separately
instead of using DATABASE_URL. This adds support for using
databases running on non-standard ports.

#1145
#1147

Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2021-07-28 19:36:51 +05:30
Pranav Raj S
7664006625
chore: Improve search, list performance of contact/conversation APIs (#2696) 2021-07-23 18:39:24 +05:30
Pranav Raj S
6e1493501a
feat: Add APIs for custom attribute definitions (#2689) 2021-07-23 17:04:33 +05:30
Sojan Jose
d955d8e7dc
feat: Ability to snooze conversations (#2682)
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2021-07-23 15:24:07 +05:30
Sojan Jose
a7ca55c080
chore: Change the conversation bot status to pending (#2677)
fixes: #2649
2021-07-21 22:02:43 +05:30
Sojan Jose
217dd8a6f0
chore: Add assigned_count to conversation APIs (#2665) 2021-07-19 19:10:58 +05:30
Mrunal Selokar
e0535168a0
chore: Removing duplicate callback to create auth token (#2624)
Removed after create callback in user model to create a new access token. This is already being taken care of by AccessTokenable module.

Fixes #2620
2021-07-15 15:24:38 +05:30
Sojan Jose
dfddf9cacc
chore: one off SMS campaign APIs (#2589) 2021-07-14 12:24:09 +05:30
Pranav Raj S
cb44eb2964
feat: Add CSAT reports (#2608) 2021-07-14 10:20:06 +05:30
Muhsin Keloth
ba547b3f60
chore: Delete related notifications if a conversation is deleted (#2592) 2021-07-12 12:28:16 +05:30
Sojan Jose
e11b3c4f17
chore: Expose contact custom attributes in events (#2562)
Expose contact custom attributes in events so the external system can behave accordingly without triggering an additional API call.
2021-07-05 14:35:53 +05:30