Commit Graph

202 Commits

Author SHA1 Message Date
Tejaswini Chile
cb38ec3267
chore: Allow Facebook channel to receive standby messages (#4511) 2022-04-28 01:14:03 +05:30
Sojan Jose
2c73df4292
Chore: Provide fixed attachment URLs for Channels (#4507)
Prior to this change, The attachment URL sent from Chatwoot to 3rd party integrations like Whatsapp and Facebook
involved a 301 redirect before the original content is served. This causes intermittent breakages for the sent attachments.

fixes: #3632
ref: https://blog.saeloun.com/2021/09/14/rails-7-adds-expiring-urls-to-active-storage.html
2022-04-20 22:42:13 +05:30
Vishnu Narayanan
80e5d6d7a0
feat: add chatwoot_edition variable for CE docker images (#4462)
* chore: add chatwoot_edition variable for CE docker images

* fix cw_edition variable

* chore: update comment

* feat: include cw_edition data in payload to hub

* refactor cw_edition to edition
2022-04-14 17:15:57 +05:30
Sojan Jose
9a8a0bd865
feat: Ability to customize the online presence duration (#4385) 2022-04-05 15:20:34 +05:30
Muhsin Keloth
24b20c10ce
fix: Referer URL validation (#4309)
Fixes #354
2022-03-30 14:36:22 +05:30
Tejaswini Chile
3158966241
Feat: automation rule based on contact conditions (#4230) 2022-03-29 17:29:34 +05:30
Vishnu Narayanan
8155024b6a
feat: fix logging levels (#4314)
https://ruby-doc.org/stdlib-2.7.0/libdoc/logger/rdoc/Logger.html

Fixes https://github.com/chatwoot/chatwoot/issues/4313
2022-03-28 18:14:30 +05:30
Sojan Jose
8e153d6350
fix: Redis 6 on Heroku breaks ActionCable config (#4269)
Heroku made some SSL/TLS changes with Redis 6, which is breaking the ActionCable configuration.
Hence providing an environment variable configuration `REDIS_OPENSSL_VERIFY_MODE` to fix that.

set the value `none` for this environment variable in your Heroku installations where breakage occurs.

fixes: #2420
2022-03-24 19:25:07 +05:30
Tejaswini Chile
e06a6a7c55
Automation enhancement (#4087) 2022-03-21 13:12:27 +05:30
Muhsin Keloth
23fe8847d8
feat: Notification action cable event (#4154) 2022-03-17 18:56:36 +05:30
Aswin Dev P.S
c4837cd7ac
feat: End conversation from widget (#3660)
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
Co-authored-by: Fayaz Ahmed <15716057+fayazara@users.noreply.github.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com>
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2022-03-15 22:07:30 +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
Pranav Raj S
ea44a32758
feat: Add hCaptcha for public forms (#4017)
- added hCaptcha based verification for chatwoot signups

Co-authored-by: Sojan <sojan@pepalo.com>
2022-02-18 20:02:50 +05:30
Fayaz Ahmed
5ad6db07b4
fix: Automation Bugs and minor enhancements (#3936) 2022-02-15 23:36:29 +05:30
Tejaswini Chile
a7987d4d1c
feat: Add date custom filter (#3892) 2022-02-04 13:14:20 +05:30
Pranav Raj S
8dcb4a5ed4
chore: Add resolve action in Dialogflow Integration (#3900) 2022-02-03 12:05:39 +05:30
Tejaswini Chile
a7c947aeae
feat: Clone and update automation rules (#3782)
- endpoints to clone and update automation rules

fixes: #3740
2022-01-20 15:30:21 -08:00
Tejaswini Chile
7df68c6388
Feat: Automations Actions (#3564) 2022-01-13 11:21:06 +05:30
Vishnu Narayanan
acba07cf6e
chore: revert GlobalConfig changes (#3702)
Priority to GlobalConfig changes are reverted and for the time being, env vars will take precedence if set.

Fixes #3699
2022-01-11 19:20:23 -08:00
Tejaswini Chile
a0884310f4
feat: Save automation rules (#3359) 2022-01-10 12:41:59 +05:30
Sojan Jose
13d6734977
chore: Minor API cleanups (#3645)
- exception list updated
- revert mail presenter changes
2021-12-23 00:55: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
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
Sojan Jose
add004a56e
Chore: API Improvements (#3469) 2021-11-27 00:48:46 +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
Tejaswini Chile
11cd7fd6c5
Feat: Added support changes for contact filters (#3435) 2021-11-23 16:36:44 +05:30
Tejaswini Chile
564fa5f392
feat: Update custom filter for present/not_present operator (#3361) 2021-11-12 11:30:39 +05:30
Vishnu Narayanan
58aae7a4a9
fix: make GlobalConfig migrated from .env editable from UI (#3360) 2021-11-11 19:31:25 +05:30
Santhosh C
6cfd7d3836
feat: autogenerate vapid keys for push notifications (#3128)
* feat: Autogenerate push notification keys
* add vapid service class and remove pushkey model
* add spec for vapid service
* unset vapid env keys
* Unset VAPID_PRIVATE_KEY env variable

Co-authored-by: Sojan Jose <sojan@chatwoot.com>
Co-authored-by: Vishnu Narayanan <vishnu@chatwoot.com>
2021-11-09 21:36:32 +05:30
Vishnu Narayanan
97ee1bfa97
feat: add GlobalConfigService to support env vars migration (#3288) 2021-11-03 21:34:42 +04:00
Tejaswini Chile
372bd75028
feat: Add filter APIs for Contacts and Conversations (#3264) 2021-11-01 12:27:04 +04:00
Tejaswini Chile
000c7603d6
feat/3247 Escape html tags from the slack messages (#3306) 2021-11-01 12:08:10 +05:30
Sojan Jose
69f55a25b6
chore: Minor API fixes (#3290)
- Log whether web-hook was successful
- Inbox update shouldn't need channel params
2021-10-28 15:26:20 +05:30
Tejaswini Chile
658a511b88
feat: Conversation and contact endpoint (#3198) 2021-10-20 18:14:56 +05:30
Sojan Jose
e669f6766f
chore: Fix Dialogflow issue (#3210) 2021-10-14 13:17:09 +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
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
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
Sojan Jose
a14f4ede87
chore: Sidebar icons for new inboxes (#3016)
- Sidebar icons for line and telegram inboxes
- Sentry fix for contact IP lookup job
2021-09-15 18:12:56 +05:30
Sojan Jose
328edd24de
chore: Move Facebook event processing to worker (#2988) 2021-09-13 18:05:14 +05:30
Muhsin Keloth
06d8916341
fix: Handle more rest client exceptions (#2930) 2021-08-31 19:45:11 +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
Muhsin Keloth
6515b69560
feat: CSAT for all channels (#2749) 2021-08-23 22:00:47 +05:30
Pranav Raj S
ed317c5bb3
feat: Use relay server for self-hosted mobile push notifications (#2757) 2021-08-17 01:44:16 +05:30
Vishnu Narayanan
319412f6dc
feat: include installation method in data to cw hub (#2831) 2021-08-16 23:35:00 +05:30
Sojan Jose
acb39cbc8f
chore: Ability to create contact with identifiers (#2802) 2021-08-13 13:02:46 +05:30
Sojan Jose
1f59205f20
chore: handle more exceptions (#2793) 2021-08-12 01:32:22 +05:30
Sojan Jose
8daf1fe033
chore: Add down gem for Local file downloads (#2765)
- Add down gem to handle downloading files to host machine
- Remove the LocalResource class
- Introduce max limit for contact avatars send via SDK
2021-08-11 16:40:28 +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
a7ca55c080
chore: Change the conversation bot status to pending (#2677)
fixes: #2649
2021-07-21 22:02:43 +05:30
Sojan Jose
eda52930be
chore: Add Telemetry (#2631)
ref: https://www.chatwoot.com/docs/self-hosted/telemetry
2021-07-15 23:58:54 +05:30
Sojan Jose
d7982a6ffd
chore: Add assigned option to conversation finder API (#2630)
- Adds the ability to filter all the conversations which are assigned
- Add rack timeout gem
- Remove size attribute from Sidekiq config
2021-07-14 22:51:27 +05:30
Pranav Raj S
5726447e47
fix: Unescape Slack incoming messages (#2604) 2021-07-09 17:45:02 +05:30
Pranav Raj S
0d02142925
feat: Support messages along with the actions in Dialogflow response (#2579) 2021-07-07 10:04:48 +05:30
Muhsin Keloth
8027c69c1c
chore: Change the notification text for mention notification type (#2534) 2021-06-29 14:32:57 +05:30
Muhsin Keloth
29b9915d3b
feat: Add customer satisfaction component (#2456) 2021-06-22 13:01:19 +05:30
Pranav Raj S
6c49e58ff8
feat: Add contact label filter (#2454)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2021-06-18 20:08:58 +05:30
Sivin Varghese
67ce6f5704
feat: Add regex validation on form message inputs (#2317)
Co-authored-by: Nithin David Thomas <webofnithin@gmail.com>
Co-authored-by: Sojan <sojan@pepalo.com>
2021-06-08 16:32:01 +05:30
Sojan Jose
467b45b427
feat: Improved password security policy (#2345)
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2021-06-07 17:26:08 +05:30
Sojan Jose
9ffdb0ec70
chore: Add select field example to WootMessageSeeder (#2338)
Fixes: #2076
2021-05-25 21:41:53 +05:30
Sojan Jose
d5215fea93
feat: APIs for Integration Hooks (#2250)
- Introduces JSON Schema validations via JSONSchemer
- Add CRUD APIs for integration hooks
2021-05-17 10:32:59 +05:30
Sojan Jose
b30ecb27a6
feat: Add APIs for Dialogflow integration V1 (#2155)
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2021-05-05 21:06:11 +05:30
Sojan Jose
98e2a9b8b5
feat: Builder for creating Campaign conversations (#2192)
- Builder for creating Campaign conversations
- Widget endpoint to fetch the campaigns
2021-05-03 20:23:09 +05:30
Sojan Jose
4b49d21543
chore: Add event for conversations transferred to Bot (#2167)
* chore:  Event for conversation transferred to Bot

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
Co-authored-by: Nithin David <webofnithin@gmail.com>
2021-04-28 20:53:23 +05:30
Sojan Jose
c8b81b066b
chore: Add timeouts to requests (#2024) 2021-03-31 16:39:57 +05:30
Sojan Jose
bb37f7b263
chore: Handle Sentry Errors (#2020)
If a contract contains an invalid email address, the sidekiq jobs for conversation continuity would error out. handling this exception gracefully.
2021-03-30 21:06:31 +05:30
Sojan Jose
42534e1df4
chore: Add fail safes for Redis connections (#2016) 2021-03-30 18:16:17 +05:30
Sojan Jose
c453455ad1
fix: Handle application errors in Sentry (#1982)
- Handle notification errors for attachment messages
- Fix empty identifiers being passed
- Fix 404 when invalid source id
- Handle webhook exceptions
2021-03-27 12:27:48 +05:30
Sojan Jose
42e83de5b0
feat: Activity messages for team assignments (#1893)
- assignment messages when the conversation team is changed
- change assignee based on team
- move round-robin and assignee logic to concerns
2021-03-12 15:13:58 +05:30
Sojan Jose
0e721653e5
feat: Business hour Inbox APIs (#1821)
* feat: Business hour Inbox APIs
2021-02-23 12:11:15 +05:30
Muyi
da94e65d20
fixed slack channel builder so that the channel list can have more th… (#1725)
fixed slack channel builder so that the channel list can have more than 100 elements

Co-authored-by: xinruiyang <xinruiyang@deepmap.ai>
2021-02-10 20:22:06 +05:30
Sojan Jose
f46c4b5130
chore: Minor Changes to Bot Message APIs (#1739) 2021-02-08 12:50:11 +05:30
Pranav Raj S
b0563a666e
feat: Add support for Clever cloud deployments (#1703) 2021-01-29 17:08:40 +05:30
Sojan Jose
d64ba1df8b
chore: Add seeds for Bot Messages (#1676) 2021-01-22 01:01:02 +05:30
Sojan Jose
f36af7a7de
chore: Fix db:prepare error in deployments (#1668)
Fixes #1667
2021-01-19 16:47:25 +05:30
Sojan Jose
14eefe3824
feat: Add Installation onboarding flow (#1640)
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2021-01-17 14:07:18 +05:30
Sony Mathew
18d3c40fb3
feat: installation config in super admin console (#1641)
* feat: installation config in super admin console

* Added the ability for super admins to view, edit and update
installation config values. Also they can add new isntallation config
values. The impact of editing and adding depends on which all
installation config values are being used in the code.
* Known limitation now: Ability to edit hash values (for eg: feature
flags) are disabled. This requires more work and will be taken up in
a secondary set of changes.
* Minor UX improvement. Clicking on the Sidekiq option in the super
admin siebar will now open the sidekiq dashboard in a new tab rather
than in the same tab that you were using super admin.

* fix: method name fix in custom adminsitrate field

* feat: added locked attribute to global config
* Added the locked attribute to instalaltion config table. Added
necessary migrations. Added changes in config loader.
* Added the changes on the installation config yml
* Locked the account feature defaults in code

* feat: show only editable configs in admin console
* Added a new scope in installation config model
* Added scope in adminstrate controller for installation_config

* fix: new installation config create error
* Fixed the error in new installation config create

* fix: specs coverage
* Added specs for installation config super admin controller

* chore: update git ignore with encrypted config ext
2021-01-15 13:21:53 +05:30
Sojan Jose
7542330d61
feat: Add Platform APIs (#1456) 2021-01-14 20:35:22 +05:30
Sojan Jose
346830ab1d
feat: Add Cron Jobs In Chatwoot and update installation notice (#1630) 2021-01-11 17:34:41 +05:30
Pranav Raj S
8e2b4acc43
chore: Remove account.destroy listener (#1530) 2020-12-19 18:11:43 +05:30
Pranav Raj S
88c4b63eec
chore: Add slack external_source_id for outgoing messages (#1503) 2020-12-10 22:53:49 +05:30
Sojan Jose
a988724c91
feat: Authenticate by SSO tokens (#1439)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-11-25 13:59:38 +05:30
Sojan Jose
eb2ded6f65
feat: Agent & Inbox Report APIs (#1391) 2020-11-16 19:41:52 +05:30
Pranav Raj S
2babfd6148
fix: Add a check for thread_ts (#1389)
- If no thread timestamp is available, ignore the message
- Add specs to cover the case
2020-11-09 22:01:57 +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
Abhishek
ff96d43953
feat: notify on slack disconnect (#1323) 2020-10-28 00:22:57 +05:30
Hiroshi SHIBATA
9045b8d9ca
chore: Fixed typos (#1369) 2020-10-27 20:22:55 +05:30
Sojan Jose
46098f2970
chore: Monkey patch Azure Storage Service (#1366)
Monkey patch azure storage service until the changes come into rails stable versions
2020-10-26 00:31:19 +05:30
Sojan Jose
59bee66e63
chore: Handle exceptions on external URL calls (#1334) 2020-10-11 20:22:21 +05:30
Sony Mathew
e01fdb5f00
chore: refactored redis config (sentinel related) (#1327)
Refactored the redis config module which had redis sentinel related
configs. Also changed the specs accordingly.
2020-10-09 12:37:42 +05:30
Sojan Jose
88b2469dc8
feat: Add API to get the active contacts (#1313) 2020-10-05 23:30:27 +05:30
Abhishek
77d380dd6b
chore: refactor redis config (#1310)
- refactor Redis config in Redis::Config Module
-  unit tests for Redis::Config module
2020-10-05 17:31:10 +05:30
Sojan Jose
b862817b29
feat: Enable reauthorization for Facebook (#1286) 2020-09-30 01:12:32 +05:30
Vishal Pandey
313b2da703
bugfix: fix file uploads not showing original file name
fixes: #1246
2020-09-21 18:42:30 +05:30
Sojan Jose
74d07c876e
chore: Fix RestClient::GatewayTimeout, label_list of NilClass (#1243) 2020-09-18 18:50:53 +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