Muhsin Keloth
eb6de74269
fix: OpenAPI label suggestion response payload ( #10008 )
2024-08-22 15:32:33 +05:30
Muhsin Keloth
429d281501
fix: Handle OpenAI API errors ( #9560 )
2024-08-22 10:24:13 +05:30
Muhsin Keloth
40bd79f1ca
feat: Add issue status in linear issue search item ( #9598 )
Publish Chatwoot CE docker images / build (push) Has been cancelled
Run Chatwoot CE spec / test (push) Has been cancelled
Run Response Bot spec / test (push) Has been cancelled
2024-08-08 13:44:08 +05:30
Sojan Jose
829bb842fd
feat: Generate SSO URL in Chatwoot, move Captain to primary tab ( #9871 )
...
Publish Chatwoot CE docker images / build (push) Waiting to run
Run Chatwoot CE spec / test (push) Waiting to run
Run Response Bot spec / test (push) Waiting to run
- Generate SSO URL in Chatwoot, move Captain to the primary tab
Co-authored-by: Pranav <pranavrajs@gmail.com>
2024-08-01 19:22:34 -07:00
Sojan Jose
0331815cc5
feat: Integration with Captain (alpha) ( #9834 )
...
- Integration with captain (alpha)
Co-authored-by: Pranav <pranavrajs@gmail.com>
2024-07-25 14:24:04 -07:00
Muhsin Keloth
9046730206
feat: FCM HTTP v1 API changes ( #9629 )
...
Fixes https://linear.app/chatwoot/issue/CW-3210/legacy-firebase-changes
2024-06-18 10:38:06 +05:30
Muhsin Keloth
a55fffab3a
chore: Linear integration fixes ( #9538 )
2024-05-29 11:28:13 +05:30
Sivin Varghese
7c5e67bf28
feat: Adds backend support for rendering tables in articles ( #9526 )
2024-05-24 08:44:01 +05:30
Muhsin Keloth
35508feaae
feat: Linear front end ( #9491 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
Co-authored-by: iamsivin <iamsivin@gmail.com>
2024-05-23 11:58:24 +05:30
Muhsin Keloth
023b3ad507
feat: Add APIs for linear integration ( #9346 )
2024-05-22 13:37:58 +05:30
Sojan Jose
a2d0e60a88
fix: Get online status from db when not present in cache [CW-3233] ( #9477 )
...
Previously, we returned the static value 'online' when the status was
not present in the Redis cache. This PR changes it to fall back to the
DB value and updates the cache in such cases.
fixes:
https://linear.app/chatwoot/issue/CW-3233/write-a-back-up-for-online-status-in-case-if-redis-keys-are-not
2024-05-15 21:23:19 -07:00
Sojan Jose
e98e27dc1f
chore: Make IP_LOOKUP_BASE_URL configurable ( #9467 )
...
Since we download the GeoIP database during worker/server initialization, there is a high chance of spamming the server with too many requests for downloads, especially if the number of web and worker nodes is high. This PR provides the ability to specify a custom URL for the GeoLite database download, configurable via an environment variable. This helps in distributing the load and avoiding server overload during the initialization process
2024-05-14 14:32:17 -07:00
Shivam Mishra
64283b35a5
refactor: Use processed message content for slack ( #9349 )
2024-05-06 16:31:20 +05:30
jderecho
0d7773d88f
feat: Draft through API for Cross-Device Support ( #8018 )
...
- Add APIs for cross-device message drafts
ref: #6890
2024-05-02 18:42:18 -07:00
Vishnu Narayanan
9057c865c3
feat: Add rake task to clear ActionCable jobs ( #9307 )
2024-04-30 08:03:40 -07:00
Shivam Mishra
78f94511ff
feat: add sitemap for help center ( #9280 )
...
* feat: start sitemap
* feat: add base url and last mod to sitemap
* fix: typo
* test: sitemap generation
* test: add draft articles
* fix: escape dots in regex matching
* feat: perpend protocol to the url
* feat: use ChatwootApp.help_center_root
* feat: don't parse the URL
* fix: function declaration
2024-04-26 21:36:39 +05:30
Muhsin Keloth
d7e928df26
feat: Add loom video embed support for help center articles ( #9288 )
...
* feat: Add loom support for helpcenter articles
* fix: responsiveness
* fix: style issues
* fix: review comments
* Update custom_markdown_renderer.rb
2024-04-24 11:44:10 +05:30
Sojan Jose
15638e9b8b
chore: Add validation to prevent message flooding ( #9254 )
...
- Add a validation to limit messages created per minute to avoid message flooding cases.
2024-04-18 00:14:59 -07:00
Shivam Mishra
2397f817fb
fix: add priority in filter keys [CW-3177] ( #9179 )
...
* fix: ConditionValidationService fails on conversation priority
* fix: custom attribute clash in spec
2024-04-05 10:03:48 +05:30
Sojan Jose
5c9acfb4e9
chore: Handle duplicate Webhooks from slack ( #9187 )
...
* chore: Handle duplicate Webhooks from slack
* chore: fixes
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2024-04-04 17:00:45 +05:30
Sojan Jose
1303469087
feat: Ability filter blocked contacts ( #9048 )
...
- This PR introduces the ability to filter blocked contacts from the contacts filter UI
2024-03-20 18:11:50 +05:30
Pranav
f78f278e2f
fix: Update validations for filter service ( #8239 )
...
- Refactor filter service for better readability and maintenance
- Add validations for the following:
- If an invalid attribute is passed, a custom exception InvalidAttribute will be thrown.
- If an invalid operator is passed, a custom exception InvalidOperator will be thrown.
- If an invalid value (currently checking only null check), a custom exception InvalidValue will be thrown.
Fixes: https://linear.app/chatwoot/issue/CW-2702/activerecordstatementinvalid-pginvalidtextrepresentation-error-invalid
Fixes: https://linear.app/chatwoot/issue/CW-2703/activerecordstatementinvalid-pginvaliddatetimeformat-error-invalid
Fixes: https://linear.app/chatwoot/issue/CW-2700/activerecordstatementinvalid-pgsyntaxerror-error-syntax-error-at-or
Co-authored-by: Sojan <sojan@pepalo.com>
2024-03-20 16:29:36 +05:30
Sojan Jose
81060a72a4
feat: Improve reply suggestions using help center articles ( #9026 )
2024-03-03 20:25:19 -08:00
Shivam Mishra
106319406b
fix: remove rubocop rule ( #8985 )
...
* fix: remove rubocop rule
* chore: remove ignore comment
* chore: remove ignore comment
2024-02-22 13:36:15 +05:30
Shivam Mishra
c031cb19d2
fix: downcase email before finding ( #8921 )
...
* fix: downcase email when finding
* feat: add `from_email` class
* refactor: use `from_email`
* feat: add rule to disallow find_by email directly
* chore: remove redundant test
Since the previous imlpmentation didn't do a case-insentive search, a new user would be created, and the error would be raised at the DB layer. With the new changes, this test case is redundant
* refactor: use from_email
2024-02-21 18:51:00 +05:30
Sojan Jose
84f6cadae7
chore: Remove unused builders for widget ( #8876 )
...
- These builders are not used in our code base, hence removing them
2024-02-08 21:12:55 +04:00
Muhsin Keloth
1b21e0d429
feat: Add notification.updated event ( #8871 )
2024-02-07 18:15:51 +05:30
Sojan Jose
7776b74126
chore: Apply fixes for items in rubocop_todo [CW-1806] ( #8864 )
...
This PR addresses several items listed in our rubocop_todo by implementing the necessary corrections and enhancements. As a result, we are now able to remove the rubocop_todo file entirely, streamlining our codebase and ensuring adherence to our coding standards.
fixes: https://linear.app/chatwoot/issue/CW-1806/chore-rubocop-audit
2024-02-07 13:36:04 +04:00
Shivam Mishra
07ea9694a3
feat: new accounts controller for signup+onboarding ( #8804 )
...
* feat: add v2 accounts controller
* feat: allow empty account and user name
* feat: ensure and is present for v1 signup
* test: remove validation checks
* chore: apply suggestions
* chore: revert en.yml formatting
* chore: line at EOF
* fix: routes
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2024-02-02 16:10:45 +05:30
Sojan Jose
390cd756e8
chore: Reorganize the installation config settings ( #8794 )
...
- Reorganizing installation config settings to move more configurations into UI from environment variables
- Changes to installation config to support premium plans in the enterprise edition
- Fixes the broken premium indicator in account/show and accounts/edit page
2024-01-31 16:48:42 +04:00
Shivam Mishra
1dc66db516
fix: SQL error when rules with missing attributes is triggered ( #8673 )
2024-01-22 16:09:34 +05:30
Pranav Raj S
fdbb3bf4b1
fix: Optimize email fetching logic to fix bandwidth exceeded issues ( #8730 )
...
The Inboxes::FetchImapEmailsJob is designed to fetch the entire email object and check if its message id is already in the database. However, this process is resource-intensive and time-consuming, as fetching the full email object takes a significant amount of time.
On average, fetching 100 emails can take approximately 3-4 minutes to complete depending on the IMAP server. Since we are not using server flags to identify which emails have already been fetched (to avoid compatibility issues with flags in different email services), we have to fetch all previously available emails. Currently we fetch all the messages that were created from yesterday. This becomes problematic with services like Gmail, which throttle requests based on bandwidth usage.
To address this issue, I have updated the logic as follows:
Fetch the sequence IDs of all the mails in the "Inbox" that were created from yesterday.
Use the FETCH command to fetch only the message-ids using BODY.PEEK[HEADER.FIELDS (MESSAGE-ID)] with the sequence IDs we got in the previous step. This is a faster operation with lower bandwidth usage, as it only returns the sequence ID and message ID.
Check if the message IDs are already present in the database for the selected inbox.
If not present, fetch the entire email object using the FETCH command and create the message.
If the message ID is already present, ignore it and move on to the next message-id.
I have also addressed the issue of duplicate emails appearing in conversations when two fetch email jobs occur simultaneously. I have added a lock for the channel to ensure that the job gracefully exits without waiting for the current job to complete.
Fixes #7247
Fixes #6082
Fixes #8314
Co-authored-by: Sojan <sojan@pepalo.com>
2024-01-18 11:45:16 +04:00
Sojan Jose
316cf35795
chore: Add display manifest to whitelabel settings ( #8708 )
...
- Adds display manifest to white label settings
- Improve the app config rendering with options for display name and description
2024-01-16 09:50:23 +04:00
Shivam Mishra
10076c6a3e
feat: set lock timeout to 1 second ( #8661 )
2024-01-12 08:28:07 +05:30
Muhsin Keloth
64138ef220
chore: Rescue Slack::Web::Api::Errors::NotInChannel error ( #8670 )
...
The primary cause of this issue is when Chatwoot sends a message to a channel that has either been deleted or is unauthorized. So, we will prompt reauthorization when this error occurs.
Fixes https://linear.app/chatwoot/issue/CW-2930/slackwebapierrorsnotinchannel-not-in-channel
2024-01-09 14:30:17 -08:00
Sojan Jose
0b2f539ad0
chore: Update self-hosted billing redirect ( #8580 )
2023-12-18 16:34:47 -08:00
Nithin David Thomas
f002870c6a
feat: Super admin design improvements ( #8517 )
...
- Revamp the super admin design
- Introduce a new settings page for support and billing settings
- Move the access tokens into users, agent bots and platform app show pages
Co-authored-by: Sojan <sojan@pepalo.com>
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-12-08 19:40:35 -08:00
Muhsin Keloth
aad18e1ca4
feat: Add notification_deleted action cable event ( #8431 )
2023-12-01 23:06:22 +05:30
Muhsin Keloth
6c8dacfa0d
feat: Facebook delivery reports ( #8136 )
2023-11-20 12:22:45 +05:30
Muhsin Keloth
5f503b1a57
feat: Change slack bot and activity message appearance ( #8349 )
2023-11-16 12:59:52 +05:30
Sojan Jose
bcf7c6c45a
chore: Improve account seeding ( #8357 )
2023-11-15 13:29:00 +05:30
Sivin Varghese
950f085e80
feat: Updated the design of the category page ( #8165 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-11-08 18:03:16 -08:00
Muhsin Keloth
3eb1d49577
fix: Handle all types of errors in API channel webhooks ( #8307 )
2023-11-07 12:54:49 +05:30
Muhsin Keloth
b4d20689b7
feat: Mark the messages as failed if the API channel webhooks fail for any reason. ( #8277 )
2023-11-04 12:26:28 +05:30
Shivam Mishra
36b6c0cb9c
feat: support image height in markdown rendering of messages ( #8177 )
...
- This PR adds BaseMarkdownRenderer, it takes all the required attributes from the image node, parses the cw_image_height query and renders it.
2023-11-02 13:51:54 -07:00
Pranav Raj S
653e0335c0
fix: Handle PermissionDeniedError for Dialogflow processor ( #8252 )
2023-10-30 13:24:03 -07:00
Pranav Raj S
6c4b92f7f6
fix: Revert the changes for SyncCustomFilterCountJob ( #8238 )
2023-10-27 10:45:48 -07:00
Muhsin Keloth
7438f3b157
fix: Rescue slack ChannelNotFound error ( #8196 )
2023-10-25 13:53:30 +05:30
Shivam Mishra
62d8ec7edb
feat: support reply to for incoming messages on facebook ( #8076 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-10-13 16:33:50 +05:30
Vishnu Narayanan
8189dd932c
feat: Report cwctl events to hub ( #8009 )
2023-10-10 09:16:03 +05:30
Muhsin Keloth
26e8877cd9
feat: Support link unfurling for all the channels within the same connected channel account. ( #8033 )
2023-10-08 17:55:03 +05:30
Sojan Jose
826d9ec5a7
chore: Refactor Response Bot Data Schema ( #8011 )
...
This PR refactors the schema we introduced in #7518 based on the feedback from production tests. Here is the change log
- Decouple Inbox association to a new table inbox_response_sources -> this lets us share the same response source between multiple inboxes
- Add a status field to responses. This ensures that, by default, responses are created in pending status. You can do quality assurance before making them active. In future, this status can be leveraged by the bot to auto-generate response questions from conversations which require a handoff
- Add response_source association to responses and remove hard dependency from response_documents. This lets users write free-form question answers based on conversations, which doesn't necessarily need a response source.
2023-10-01 19:31:38 -07:00
Muhsin Keloth
24fe3805d8
feat: Slack link unfurling ( #7940 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-09-29 19:35:56 +05:30
Pranav Raj S
fd633e1613
feat: Add inbox webhook events ( #8006 )
...
- Add webhook events for inbox creation/updation.
- Right now, the feature is added under a feature_flag. It is not available by default on all installations.
2023-09-28 15:28:10 -07:00
Muhsin Keloth
cbbe939662
fix: Set avatar for users(agent/contact) in slack channels ( #7960 )
2023-09-26 09:38:14 +05:30
Nithin David Thomas
53dc38e650
fix: Renders youtube and vimeo links within blank lines as embeds ( #7422 )
...
Within the article we are now rendering every link for youtube and vimeo as embeds. This isn't a good solution, as users might need to have plain links as well. This fix will render only links within two blank lines as embeds.
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-09-21 00:16:03 -07:00
Muhsin Keloth
0dd5104acb
chore: Move slack message concern to the helper ( #7912 )
2023-09-19 11:09:23 +05:30
Muhsin Keloth
4fa299ff15
chore: Disable archived channels from the slack integration ( #7904 )
2023-09-12 22:21:50 +05:30
Pranav Raj S
4503ba018d
chore: Increase the limit of greeting message ( #7883 )
2023-09-08 15:33:09 +05:30
Muhsin Keloth
ce4cfee8bd
fix: Attachment sent from slack doesn't reach to chatwoot ( #7852 )
2023-09-05 17:23:58 +05:30
Shivam Mishra
336584c95a
feat: mutex for InstagramEventsJob [CW-2447] ( #7828 )
2023-09-04 15:02:13 +05:30
Shivam Mishra
2acf09b3eb
refactor: use conversation_id instead of sender_id ( #7831 )
2023-08-31 16:10:37 +07:00
Shivam Mishra
e2a6dc3e04
chore: Upgrade Node.js to v20 ( #7759 )
...
Co-authored-by: Vishnu Narayanan <vishnu@chatwoot.com>
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-08-28 19:20:35 +05:30
Shivam Mishra
5598b4b27e
feat: implement mutex for SlackSendJob ( #7783 )
2023-08-25 11:58:29 +07:00
Pranav Raj S
3dd3b7b3aa
fix: Rescue InvalidAuth and mark integration as inactive ( #7797 )
2023-08-24 17:02:24 +05:30
Shivam Mishra
44f6a9ec3c
feat: update lock timeout and retry configuration ( #7785 )
2023-08-24 12:59:47 +07:00
Shivam Mishra
26ef21a243
feat: locking and retry in FB message parsing ( #7701 )
2023-08-23 09:48:17 +07:00
Sojan Jose
178bc80b25
fix: Update email alerts for Slack integration ( #7739 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2023-08-17 11:46:37 -07:00
Muhsin Keloth
cfe86d9c06
fix: Create new slack thread if the thread identifier changes ( #7702 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
2023-08-11 14:19:49 +05:30
Shivam Mishra
84240e197a
fix: Summary prompt test ( #7709 )
2023-08-11 13:42:27 +05:30
Pranav Raj S
04287a0924
fix: Rename channel_list to channels to avoid "no implicit conversion of nil" exception ( #7700 )
2023-08-09 16:11:51 -07:00
Muhsin Keloth
c1c3a62412
fix: Improve reply prompt ( #7588 )
...
Co-authored-by: Sojan Jose <sojan@chatwoot.com>
2023-08-09 10:25:37 +05:30
Sojan Jose
4c75bb68f4
chore: Fix OpenAI sentry errors ( #7687 )
...
- add check for nil condition
- add logs for openAI
2023-08-07 14:08:26 -07:00
Pranav Raj S
47b6967dad
fix: Update account data seeder to avoid invalid information ( #7673 )
...
- The message sender was incorrect. Incoming messages were created under the contact's name, and outgoing messages were created under the user's name instead of the reverse.
- The seed user's email address was incorrect in the message data.
- The Sendmail configuration overrode the Letter Opener config which made it difficult to test the email.
- This PR also fixes an ESLint lint issue on develop.
2023-08-04 16:32:54 -07:00
Pranav Raj S
9ddd428935
feat: Update the slack integration-flow to allow users to select the channel ( #7637 )
2023-07-28 14:50:30 -07:00
Vishnu Narayanan
9636478c2a
chore: Improve logging for ip look up and audit logs [CW-2145] ( #7512 )
...
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-07-27 16:48:30 +05:30
Shivam Mishra
39f14bebbd
fix: undefined method first for nil:NilClass ( #7567 )
...
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-07-25 13:00:21 +03:00
Liam
4b27fdf4db
fix: Increase the out of office message length to 10_000 ( #7583 )
2023-07-24 20:29:04 -07:00
Vishnu Narayanan
d188600559
fix: modify exception tracker to log even if sentry configured ( #7563 )
...
Right now, if sentry is configured exception won't be logged. This results in the log management tool missing every error captured with ChatwootExceptionTracker. This change logs the exception, even if Sentry is configured or not.
Fixes https://linear.app/chatwoot/issue/CW-2145/improve-logging-info-debug-trace
2023-07-21 11:58:49 +03:00
Pranav Raj S
3a77e672f8
feat: Compute average response time of replies ( #7530 )
2023-07-17 11:21:31 -07:00
Muhsin Keloth
91c1061214
feat: Add more AI options ( #7502 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com>
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-07-16 12:25:16 -07:00
Muhsin Keloth
19ff738211
feat: Add more options for AI reply suggestions ( #7493 )
2023-07-13 10:26:25 +05:30
Shivam Mishra
a940f4c1d2
feat: Allow label suggestions with OpenAI APIs ( #7428 )
2023-07-10 14:40:54 +05:30
Pranav Raj S
022f4f899f
Revert "feat: Support Azure single-tenant application using the Graph… ( #7436 )
2023-06-29 16:50:18 -07:00
Tejaswini Chile
d05c953eef
feat: Support Azure single-tenant application using the Graph API ( #6728 ) ( #6878 )
2023-06-28 08:13:08 +05:30
Pranav Raj S
f1f14312fe
chore: Upgrade Tailwind CSS to 3.3.2 ( #7380 )
2023-06-26 11:27:16 -07:00
Nithin David Thomas
e6a49b5800
feat: Shows Youtube and Vimeo links as embeds [cw-1393] ( #7330 )
...
This change will render the youbtube, vimeo and .mp4 urls as embedded in the article page in the help centre.
Fixes: https://linear.app/chatwoot/issue/CW-1393/help-center-support-video-upload-in-articles
Co-authored-by: Sojan <sojan@pepalo.com>
2023-06-21 20:28:28 +05:30
Tejaswini Chile
9d0de04f7c
fix: set custom filter count in redis ( #7164 )
2023-06-19 16:10:03 +05:30
Nithin David Thomas
d2aa19579e
feat: Adds support for superscript in help center articles ( #7279 )
...
- Adds support for superscript when rendering article markdown
- Chatwoot Markdown Render to render markdown everywhere
Co-authored-by: Sojan <sojan@pepalo.com>
2023-06-14 15:39:00 +05:30
Sojan Jose
d93a8d05bc
chore: Increase character limit for external url fields ( #7230 )
...
- Increase the external url field validation to 2048 characters
fixes: https://github.com/chatwoot/chatwoot/issues/7098
2023-05-31 19:17:24 +05:30
Sojan Jose
ffc6364690
chore: Improve Whatsapp Templates Sync ( #7210 )
...
- update the templates updated at, even if the API request fails ( to prevent jobs from stacking up in case of API failures upstream )
- sequence the job in batches of 25 requests per minutes schedule ( in case API response time is high, also not to send too many requests in a single batch )
- move the sync job re-rerun to 3 hours ( since we are updating the updated at even in case of failures )(prev 15 minutes )
Fixes: https://linear.app/chatwoot/issue/CW-1590
2023-05-29 22:23:22 +05:30
Tejaswini Chile
590e4e9c1c
Fix: prevent IMAPBadResponse exception from sending the authorization mail ( #7154 )
2023-05-22 13:51:56 +05:30
Sojan Jose
7ab7bac6bf
chore: Enable the new Rubocop rules ( #7122 )
...
fixes: https://linear.app/chatwoot/issue/CW-1574/renable-the-disabled-rubocop-rules
2023-05-19 14:37:10 +05:30
steffenhaak
132cf802d5
fix: Open AI Integration should respond in conversation language ( #7092 )
...
Appended "Reply in the user's language." to obtain the answer in the user's language.
Fixes: https://linear.app/chatwoot/issue/CW-1735/chore-use-account-language-for-the-prompts
Co-authored-by: Sojan <sojan@pepalo.com>
2023-05-18 18:50:48 +05:30
Muhsin Keloth
86384bf876
feat: Reply suggestion and summary generation using OpenAI ( #7029 )
...
Add `reply_suggestions` and `summary_generation` options for OpenAI integration
Fixes: https://linear.app/chatwoot/issue/CW-1595/frontend-for-generating-conversation-summary
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com>
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-05-10 17:50:37 +05:30
Sojan Jose
022383d942
chore: Upgrade to Rails 7 ( #6719 )
...
fixes : #6736
2023-05-06 10:44:52 +05:30
Tejaswini Chile
b081fe08b8
feat: whatsapp duplicate message ( #7004 )
2023-05-03 15:18:20 +05:30
Sojan Jose
02c467b6db
chore: GPT Reply suggestion & summarize endpoints ( #7011 )
...
Adds additional endpoints for OpenAI integration which will allow
- Reply Suggestions
- Summarization
ref: #6436
fixes: https://linear.app/chatwoot/issue/CW-1596/backend-for-generating-conversation-summary
2023-04-28 19:57:25 +05:30
Shivam Mishra
cae1e30160
feat: Update demo data to include better messages ( #6995 )
2023-04-26 10:20:56 -07:00
Shivam Mishra
0bbb28c432
feat: sort conversation on priority ( #6943 )
...
* feat: update seed script to include prioritt
* feat: add sort_handler for conversations
* test: sort on priority order
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2023-04-25 09:47:47 +05:30
Muhsin Keloth
92fa9c4fdc
feat: Ability to improve drafts in the editor using GPT integration ( #6957 )
...
ref: https://github.com/chatwoot/chatwoot/issues/6436
fixes: https://linear.app/chatwoot/issue/CW-1552/ability-to-rephrase-text-in-the-editor-using-gpt-integration
---------
Co-authored-by: Sojan <sojan@pepalo.com>
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com>
2023-04-24 23:52:23 +05:30
Tejaswini Chile
6a0ca35de4
Feat: detect language of the message content ( #6660 )
2023-04-04 08:57:27 +05:30
Tejaswini Chile
44f73e044a
slack with template message link ( #6811 )
2023-04-03 11:32:37 +05:30
Pranav Raj S
ebc144683a
chore: Update conversation thread rendering in Slack ( #6812 )
2023-04-02 22:26:08 -07:00
Tejaswini Chile
d1ac33e98c
feat: Phone number based automation conditions ( #6783 )
2023-04-02 10:54:51 +05:30
Tejaswini Chile
21da03fe5b
Fix: Consider bot message on slack integration ( #6793 )
2023-03-31 18:56:51 +05:30
Tejaswini Chile
7bd830ebfe
fix: Email based automation conditions filter ( #6786 )
2023-03-30 22:34:18 +05:30
Tejaswini Chile
d8604107aa
fix: Add link to conversation in slack message ( #6768 )
2023-03-30 13:03:19 +05:30
Tejaswini Chile
fdb067a352
fix: mentions are not rendered properly in slack ( #6762 )
2023-03-28 13:40:16 +05:30
Shivam Mishra
00ee0478eb
feat: IndexedDB based caching for labels, inboxes and teams [CW-50] ( #6710 )
...
* feat: allow caching of labels in the account scope
* feat: send cache keys in account json response
* feat: kickstart web worker
* feat: setup basic architecture for workers
* feat: install idb
* feat: add datamanger
* fix: typos
* refactor: rename method
* feat: make init db a manual step
* refactor: separate accountIdFromRoute
* feat: cache enabled API client
* feat: enable caching for inboxes and labels
* feat: enable cache for team
* feat: manage exceptions for team
* feat: add team to data manager
* feat: add a generic listener
* refactor: send only cache keys
* refactor: separate validate method
* feat: add listeners
* feat: add event for revalidate
* feat: add cache keys endpoint
* refactor: fetch cache keys instead of full account data
* fix: key pattern
* feat: don't fetch account for cache_keys
* fix: cache key base class
* refactor: cache keys helper
* feat: add helper
* fix: cache-key update logic
* feat: delete indexeddb on logout
* feat: remove worker.js
* refactor: move data-manager
* refactor: name of file
* feat: add test for DataManager
* refactor: add fake idb to jest setup
* test: cache keys helper
* test: cache keys helper
* test: cache_keys in accounts controller
* refactor: remove cache_keys context
* feat: add policy for cache-keys
2023-03-27 12:16:25 +05:30
Sojan Jose
de8c26dce8
chore: Additional indexes and fixes ( #6675 )
...
- Fix breakage related to the look-up job in Heroku deploys
- Add additional db indexes for performance optimisations
2023-03-15 19:52:02 +05:30
Pranav Raj S
eb7070d946
feat(poc): Disable widget based on country ( #6658 )
2023-03-14 09:09:57 -07:00
Sojan Jose
abe57873db
chore: Disable throwing Webhook exceptions to Sentry ( #6663 )
...
- There is little value in throwing the third-party webhook-related exceptions to sentry. Let's rather write it to logs instead.
2023-03-14 17:40:40 +05:30
Tejaswini Chile
c9b63ae8eb
fix: hook exception for empty hook ( #6646 )
2023-03-10 16:40:15 +05:30
Tejaswini Chile
f2684545d9
fix: Handle dialogflow hook without setting and credentials ( #6638 )
2023-03-09 20:11:08 +05:30
Tejaswini Chile
60fee519bd
Exception tracker with account ( #6603 )
2023-03-03 12:14:44 +05:30
Tejaswini Chile
a4fc0eef4b
fix: Exception tracking for dialogflow bot service ( #6593 )
2023-03-02 21:33:07 +05:30
Tejaswini Chile
b76fda53a2
fix: Email subject automation issue ( #6533 )
2023-02-27 18:33:11 +05:30
Shivam Mishra
06ffaa90fc
fix: bots included in time to response metrics ( #6409 )
...
* feat: ignore bots in avg_first_response_time
* feat: ignore bots in avg_first_response count
* feat: add bot handoff event
* feat: add handoff event listener and reporting event
* fix: ignore agent bot in first response
* refactor: calculate first_response with last handoff
* refactor: method defn order
* test: new reporting events
* feat: Revert "feat: ignore bots in avg_first_response count"
This reverts commit de1977c219 .
* feat: Revert "feat: ignore bots in avg_first_response_time"
This reverts commit bb9171945d .
* fix: business hour calculation for first_reply
* fix: event_start_time for first_response
* feat: add migration to recompute first_responses
* refactor: separate mute helpers for conversation
* refactor: rename migration
* refactor: migration script
* fix: migration typo
* fix: typo in query
* feat: update schema.rb
* Revert "feat: update schema.rb"
This reverts commit 353ef355f2 .
* feat: update schema
* refactor: update events as a batch job
* fix: ignore the event if value is negative
* feat: don't create a new hand-off if it's already present
* refactor: break the action into smaller chunks
* refactor: update reporting listener spec
Handle the case to ensure extra bot handoffs are not created for a give conversation
* fix: import error
---------
Co-authored-by: Vishnu Narayanan <vishnu@chatwoot.com>
2023-02-25 09:48:48 +05:30
Pranav Raj S
80784e3cab
feat: Add Google Translate API Integration ( #6454 )
2023-02-15 20:50:45 -08:00
Sojan Jose
5cbfcfbfa0
chore: Limit conversation resolution Job ( #6433 )
...
We will be adding a limit to the resolution job so that it is performed at a spaced interval. This will ensure there won't be a sudden spike in resource usage
fixes : chatwoot/product#707
2023-02-13 14:00:52 +05:30
Pranav Raj S
d672aa357b
chore: Add subject to the slack message ( #6404 )
2023-02-06 12:42:06 -08:00
Sojan Jose
6b839a0442
feat: Ability for super admin to impersonate a user ( #6382 )
2023-02-06 11:00:08 -08:00
Sojan Jose
38aee8d9ea
chore: Switch to web-push gem ( #6390 )
...
- The previous gem, `webpush` was last updated a while ago. Also, with the recent ruby upgrade, we needed a fix for zaru/webpush#106 . Hence switching to the `web-push` gem where the issues are fixed.
2023-02-03 18:55:22 +05:30
Tejaswini Chile
00cbdaa8ca
Feat: Support for Microsoft Oauth in Email Channel ( #6227 )
...
- Adds the backend APIs required for Microsoft Email Channels
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
Co-authored-by: Sojan <sojan@pepalo.com>
2023-01-17 02:39:05 +05:30
Pranav Raj S
cbfbe6dbad
feat: Add backend APIs for Dyte integration ( #6197 )
...
- The backend changes required for Dyte Integration.
2023-01-09 12:37:18 +05:30
Tejaswini Chile
5541d9e00b
Fix: automation email improvement ( #6061 )
2022-12-19 13:21:33 +05:30
Pranav Raj S
38587b3aa1
fix: Update Slack integration to fix message delivery issues ( #6093 )
2022-12-17 16:41:11 -08:00
Sojan Jose
e2059cfc5b
fix: SocketError: getaddrinfo: for imap channels ( #5824 )
...
fixes : #5431
2022-11-08 20:23:46 -08:00
Sojan Jose
8b659de73d
chore: Use connection_pool for redis ( #5790 )
...
fixes : #3199
2022-11-02 17:31:20 -07:00
Sojan Jose
6cfd594d85
fix: flaky test whatsapp_cloud_service_spec.rb:17 ( #5786 )
...
Fix flaky test: flaky /spec/services/whatsapp/providers/whatsapp_cloud_service_spec.rb:17
example build: https://app.circleci.com/pipelines/github/chatwoot/chatwoot/48955/workflows/a2959d25-19ea-4812-ba15-5aac69c43265/jobs/49523
Cause: factory bot can create phone numbers of length 15 digits, which is valid e164, while our regex only handled up to 14 digits
2022-11-01 19:51:42 -07:00
Nusret Ozates
10d86fbb35
chore: Ability to Remove password info from sentinel config ( #4550 )
...
Introduce the REDIS_SENTINEL_PASSWORD environment variable to customize the behaviour of sentinel passwords.
Co-authored-by: EXT02D22861 <nusret.ozates@consultant.turkcell.com.tr>
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2022-10-19 17:25:16 -07:00
Pranav Raj S
38776906ab
chore: Generate webhook-verify-token automatically ( #5593 )
...
- Autogenerate webhook verification token in the WhatsAppCloud channel.
Co-authored-by: Sojan <sojan@pepalo.com>
2022-10-11 17:32:31 -07:00
OMAR.A
1819041f5a
fix: "wa_source_id" function return value ( #5451 )
...
- Fix contact inbox builder returning invalid WhatsApp source id
- Add specs to cover source id validations
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2022-09-29 10:34:55 -07:00
Jordan Brough
59b31615ed
chore: Use "create!" and "save!" bang methods when not checking the result ( #5358 )
...
* Use "create!" when not checking for errors on the result
* Use "save!" when not checking the result
2022-09-13 17:40:06 +05:30
Sojan Jose
7f3f6f7129
fix: Account seeder error on staging ( #5371 )
...
- Fix for Account seeding error on staging environments
2022-09-01 21:23:57 +05:30
Sojan Jose
c8d01a84ce
feat: Ability to seed Demo Accounts ( #5352 )
...
Introduces the ability to seed sample data into accounts in development and staging.
fixes : #3429
2022-09-01 00:31:43 +05:30
Tejaswini Chile
747ce9c80f
fix: Update automation to use case-insensitive filter ( #5302 )
2022-08-22 10:16:50 +05:30
Sojan Jose
2ecb2ca0f0
feat: Enable Capacity Config UI ( #5164 )
...
- Enables Capacity Config in UI
- Rewrite auto assignment Logic to consider only online agents
fixes : #4990
2022-08-16 16:58:23 +05:30
Sojan Jose
8e75b3fc2a
chore: Remove stale contact presence records ( #5205 )
...
fixes : chatwoot/product#493
2022-08-05 12:51:39 +02:00
Sojan Jose
8db5a528ef
chore: Roundrobin should consider auto-offline false config ( #5160 )
...
Previously round-robin conversation assignment logic wasn't considering the case where the Agent who had auto-offline config set as false.
fixes : #4780
2022-08-01 15:32:34 +02:00
Yemin Sajid
7f48cffeb3
feat: Support case insensitive tags for Slack note prefix ( #5123 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2022-07-28 09:57:39 +05:30
Sojan Jose
4187428729
chore: Update dependencies to the latest versions ( #5033 )
2022-07-15 09:51:59 +07:00
Pranav Raj S
b7606e4dd2
feat: Add native support for CSML in agent_bot API ( #4913 )
2022-06-23 19:17:46 +05:30
Pranav Raj S
6b9f4d08ca
fix: Disable marking IMAP connection as invalid for Standard Errors ( #4764 )
2022-06-02 11:38:58 +05:30
Sojan Jose
5c161e0fef
chore: Split Inbox Settings Page Component ( #4664 )
...
Clean up the Inbox settings page component as the logic was growing complex.
- Moved subpages like collaborators and configuration to new components
- Moved Assignment settings to the collaborators tab
- Introduced a new inbox seeder to quickly preview setting pages of all inbox types when in development
2022-05-11 13:33:24 +05:30
Tejaswini Chile
f64cf85ab2
Fix: sentry issue for slack incoming files check ( #4656 )
...
Interpreter error for nil. any? added nil. present?
Fixes: https://sentry.io/share/issue/48c10d26490f4bdaab78c82244fcea98/
2022-05-09 23:54:45 +05:30
Tejaswini Chile
0eeab8c56c
Fix: slack repeated callback event message for attached files ( #4610 )
2022-05-09 19:18:30 +05:30
Sojan Jose
04dfb034cc
chore: Upgrade Exception tracking ( #4638 )
...
- Upgrade Sentry Libraries
- Enable provision for account and user info in error tracking
- Add ChatwootExceptionTracker
fixes : #4375
2022-05-09 14:23:19 +05:30
Sojan Jose
8d2b719dc1
chore: Sentry issues ( #4623 )
...
Fixes various issues reported on sentry
- Twilio channel creation validation errors
- Room Channel error with nil class
- Webhook Uri exception
2022-05-06 14:50:55 +05:30
Sojan Jose
c9a8796a36
chore: Sentry Issue fixes ( #4618 )
...
Address the following sentry issues
fixes : #4616 , #4617
2022-05-05 00:31:11 +05:30
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