Commit graph

147 commits

Author SHA1 Message Date
Sojan Jose
b6e8173b24
feat: HMAC verification for web widget (#1643)
* feat: HMAC verification for web widget. Let you verify the authenticated contact via HMAC on the web widget to prevent data tampering.
* Add docs for identity-validation

Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2021-01-17 22:44:03 +05:30
Muhsin Keloth
2d5aa9d3bd
chore: Add count and current page in notification meta details (#1619) 2021-01-13 17:04:27 +05:30
Pranav Raj S
8c66dbd342
fix: Labels cannot be added to conversations (#1644) 2021-01-13 12:15:11 +05:30
Pranav Raj S
160a6fc6cf
feat: Save UI state in the database (#1635)
feat: Save UI state in the database
2021-01-10 19:25:33 +05:30
Sojan Jose
7884090551
chore: Enable updating conversation additional attributes (#1611)
- Enable updating additional attributes via conversation API
- Handle the case when additional_attributes is nil

Fixes: #1357
2021-01-07 13:47:38 +05:30
Pranav Raj S
a2d6fa0f74
feat: API to add label to contacts (#1563) 2021-01-03 20:07:57 +05:30
Pranav Raj S
811657c9e7
feat: API to allow agents to delete a message (#1353) 2020-12-28 23:36:50 +05:30
Pranav Raj S
9d3dda9a61
feat: Add full name to the user signup form (#1534) 2020-12-21 14:05:19 +05:30
Pranav Raj S
edb09d5a9c
chore: Improve location display in sidebar (#1509)
- Log IP Address on widget load
- Save country code to contact
2020-12-13 22:23:56 +05:30
Muhsin Keloth
f9bd447912
chore: Upgrade vue-i18n to 8.x (#1383)
Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
2020-12-12 12:08:36 +05:30
Pranav Raj S
1ade4f75ea
chore: Ingore case while searching contact name, email (#1505) 2020-12-11 23:25:00 +05:30
Pranav Raj S
88c4b63eec
chore: Add slack external_source_id for outgoing messages (#1503) 2020-12-10 22:53:49 +05:30
Pranav Raj S
64733ca3bc
fix: Move integration text to translation file (#1463)
- Move integration text to translation file
- Split switch_locale
2020-11-30 16:24:54 +05:30
Vishal Pandey
942d1fd0af
feat: Search contacts using phone number (#1440) 2020-11-23 11:00:07 +05:30
Sojan Jose
eb2ded6f65
feat: Agent & Inbox Report APIs (#1391) 2020-11-16 19:41:52 +05:30
Pranav Raj S
5c3de5e095
fix: Enhance CRM UI (#1397)
* feat: Sort by name
* feat: Fetch labels from sidebar
* Remove unused language file
* Add beta tag to contacts
* Add timeMixin, reduce font-size
* Remove unused methods
* Remove unused prop
* Disabled footer if no contacts or invalid page
* Add keyup for input
* Fix conversation not loading if there are no active conversations
* return last_seen_at as unix time
* Fix contact edit modal
* Add loader for edit contact button
* Fix review comments
2020-11-11 16:02:14 +05:30
Nithin David Thomas
f214c9c47c
feat: Add Contacts page (#1335)
Co-authored-by: Sojan <sojan@pepalo.com>
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-11-10 15:25:26 +05:30
Akash Srivastava
074084b258
feat: Auto resolve conversations after n days of inactivity (#1308)
fixes: #418
2020-11-01 12:53:25 +05:30
Adam Zysko
65ed4c78a4
feat: Business hours
Data models and APIs for business hours

ref: #234
2020-11-01 00:14:33 +05:30
Sojan Jose
1d9debaee0
feat: IP lookup (#1315)
- feature to store contact IP for accounts
- IP lookup through geocoder gem
- ability to do IP lookup through external APIs
- add commit hook to prevent push to develop and master
- migrations to fix default values for jsonb columns
2020-10-28 02:14:36 +05:30
Ronald Walker
cbe9e06472
chore: DRY up check_authorization method (#1351) 2020-10-20 19:22:21 +05:30
Pranav Raj S
85514cae8d
feat: Display reply time in widget (#1349)
Fixes #1132
2020-10-18 23:32:22 +05:30
Sojan Jose
59bee66e63
chore: Handle exceptions on external URL calls (#1334) 2020-10-11 20:22:21 +05:30
Dmitriy Shcherbakan
ecebe163e1
feat: Ability to unmute muted conversations (#1319) 2020-10-08 12:02:08 +05:30
Sojan Jose
88b2469dc8
feat: Add API to get the active contacts (#1313) 2020-10-05 23:30:27 +05:30
Sojan Jose
e44afa03f3
chore: Prevent i18n config bleeding across requests (#1214) 2020-10-05 17:55:46 +05:30
Sojan Jose
b862817b29
feat: Enable reauthorization for Facebook (#1286) 2020-09-30 01:12:32 +05:30
Subin T P
701eccb35c
Feature: Knowledge Base APIs (#1002)
- Introduce models & migrations for portals, categories, folders and articles
- CRUD API for portals
- CRUD API for categories

Addresses: #714

Co-authored-by: Sojan <sojan@pepalo.com>
2020-09-26 02:32:34 +05:30
Sojan Jose
532331edb6
feat: Ability to search conversation with message content (#1265)
- API end point which takes message content as search parameter
- end point supports additional filtering with labels and inbox ids
- swagger doc
2020-09-23 15:27:41 +05:30
Pranav Raj S
0deb1af852
chore: Add a check for defined labels in SDK API (#1259) 2020-09-20 19:29:39 +05:30
Sony Mathew
fc7b84d612
Chore: Fix N+1 queries in dashboard side (#1254)
* Chore: Fix N+1 queries in dashboard side

Fixed a couple of N+1 queries fired on the dashboard side of
the app to improve performance.
2020-09-19 12:46:34 +05:30
Sojan Jose
74d07c876e
chore: Fix RestClient::GatewayTimeout, label_list of NilClass (#1243) 2020-09-18 18:50:53 +05:30
Sojan
739c062676 chore: Enable an echo id for message create end points 2020-09-13 16:16:52 +05:30
Sojan Jose
afc062537c
chore: Fix integration hooks destroy method (#1224) 2020-09-12 23:09:55 +05:30
Sojan Jose
31c07771e8
feat: Notification on new messages in conversation (#1204)
fixes: #895
fixes: #1118
fixes: #1075

Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
2020-09-10 19:19:15 +05:30
Sojan Jose
ac5d755545
chore: Update dependencies (#1173) 2020-09-08 11:24:08 +05:30
Sojan Jose
afb5694ed6
chore: Enable runtime metrics on Heroku (#1178)
Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
2020-09-03 15:24:08 +05:30
Sojan Jose
2193de9853
chore: General fixes and clean up (#1169) 2020-08-25 23:04:02 +05:30
Pranav Raj S
8cf05f1d9f
feat: Ability to edit a contact (#1092)
Ability to edit contact information in conversation sidebar

Co-authored-by: Sojan <sojan@pepalo.com>
2020-08-23 00:05:07 +05:30
Pranav Raj S
ec6cd4bbba
feat: Use order_by_name as default sort order for inbox/user (#1160) 2020-08-22 22:20:22 +05:30
Sojan Jose
cdd385b269
feat: Custom Attributes for contacts (#1158)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-08-21 19:30:27 +05:30
Sojan Jose
22880df429
Feature: Send chat transcript via email (#1152)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-08-17 11:25:13 +05:30
Sojan Jose
a6a62d92bf
chore: Add Additional Contact APIs (#1130)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-08-10 12:15:29 +05:30
Pranav Raj S
db877453a4
feat: Disable attachments and emoji picker in the web widget (#1102)
Signed-off-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-08-05 17:46:17 +05:30
Pranav Raj S
3b23aa7913
Bugfix: Use server timestamp to set agent_last_seen_at (#1114) 2020-08-03 13:40:20 +05:30
Pranav Raj S
2b1d445003
feat: Use display_name instead of name of the agent (#1097)
* feat: Use display_name instead of name of the agent
2020-07-27 22:19:26 +05:30
Divyesh Kothari
89ed0b425b
feat: Ability for the logged in user to create a new account (#985)
Co-authored-by: Divyesh <dkothari@box8.in>
Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
2020-07-26 12:54:50 +05:30
Sojan Jose
8079bf50a0
Feature: API Channel (#1052) 2020-07-21 12:15:24 +05:30
Sojan Jose
d800b55ac6
Chore: Add display name to the user (#1067)
* Chore: Adding browser info to web widget triggered event

fixes: #970

* Chore: Rename nickname to display name

references: #972

* Chore: Change nickname in code

* chore: fix errors

* Chore: update nginx config

fixes: #1057

* Chore: Fix specs
2020-07-20 18:28:14 +05:30
Sony Mathew
96efc44b82
Chore: Feature lock email settings in UI (#1065)
* Chore: Feature lock email settings in UI

The email settings under account settings needed to be
feature locked in a way different from teh current way for it
to be enabled for accounts in a self hosted scenario.

Some refactorings were also done along with this change.

1. There was a feature flag defined in code in account model called
domain_emails_enabled was used to check if the inbound emails was
enabled for the account. But there was already a feature flag called
"inbound_emails" defined in features.yml. So changed to use this to
check if inbound emails are enabled for an account.
2. Renamed and re-purposed existing `domain_emails_enabled` to
`custom_email_domain_enabled` to use for feature toggling the UI
for email settings.
3. To enable & disable multiple features using the featurable concern
we were passing an array of values. Changed this to accept a comma
separated set of values.

* Chore: Feature lock email settings in UI

Fixed the specs for accounts controller & removed
unneccessary code from Account seetings component in UI

* Chore: Convert newlines to <br>s

Removed the layout used while sending replies in
conversation continuity.

Converted the newlines in the messages to <br/> tags
for the correct HTML rendering.

* Chore: Bug fix in reply email domain

Renamed the function custom_email_domain_enabled  to
inbound_email_enabled.

Fixed bug on setting reply emails's domain.
2020-07-19 23:08:07 +05:30