Shivam Mishra
9a1c54a82d
feat: disable automation rules if condition fails multiple times ( #9017 )
...
* feat: add email for disabling automation rule
* feat: disable automation rules and notify admin
* feat: reset error count after update
* feat: trigger invalid_condition_error if rule is invalid
* feat: setup error trackable concern
* refactor: use ErrorTrackable in Reauthorizable
* fix: optional argument
* feat: separate reauthorization_required_key
* test: update case to use ERROR_TRACKABLE_COUNT
* Revert "test: update case to use ERROR_TRACKABLE_COUNT"
This reverts commit f439847147556a02759a7597a7fcf1d66091cafc.
* Revert "feat: separate reauthorization_required_key"
This reverts commit f4514fce217b0a2f2c2bf701a15de0a8b47acbc4.
* Revert "fix: optional argument"
This reverts commit 93b4194ec3f10f67e2402388c966c071c4d3b4fd.
* Revert "refactor: use ErrorTrackable in Reauthorizable"
This reverts commit 513c2a522bc782e73ea4b0f5ae34ce01e70e042c.
* Revert "feat: setup error trackable concern"
This reverts commit 278683060cf422f60af5d5c77100aa5272141141.
* feat: use reauthorizable for automation rule
* feat: remove redis key
* test: fix method names
* chore: refactor
---------
Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com >
Co-authored-by: Sojan <sojan@pepalo.com >
2024-03-28 13:14:16 +05:30
Muhsin Keloth
586552013e
feat: Update the contact_type when creating or updating the contact ( #9107 )
...
* feat: Update location and country code when the contact create/update
* feat: Update the location and country_code when creating or updating the contact.
* chore: improve comments
* feat: Update the contact_type when the contact created/updated
* chore: add more specs
* chore: code cleanups
* chore: code cleanups
* Update contact_spec.rb
* Update inbox.rb
* Update sync_attributes_spec.rb
* chore: build fixes
* chore: check visitor type before update
* chore: review fixes
2024-03-15 10:55:40 +05:30
Muhsin Keloth
804a42c271
feat: Update the location and country_code when creating or updating the contact ( #9106 )
...
* feat: Update the location and country_code when creating or updating the contact.
* chore: improve comments
2024-03-13 16:40:21 +05:30
Muhsin Keloth
216de4d123
fix: Conversation assignment notification title ( #9071 )
2024-03-06 23:05:13 +05:30
Muhsin Keloth
ef90b7a3d8
feat: Revamp the notification title and content ( #8988 )
2024-03-06 20:51:56 +05:30
Sojan Jose
ae4c8d818f
feat: Ability to block contacts permanently ( #8922 )
...
Co-authored-by: Pranav <pranav@chatwoot.com >
2024-02-21 14:18:42 -08:00
Sojan Jose
978a8a4cb2
fix: support_email and inbound_email_domain returning empty string ( #8963 )
...
chore: Fix for inbound email domain being nil
2024-02-19 15:43:35 +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
Shivam Mishra
3ed80fa867
feat: expiry for cache keys [CW-3038] ( #8793 )
...
* feat: set cache keys for 3 days only
* feat: invalidate should set the latest timestamp
* refactor: cache_keys concern
* remove invalidate_cache method
* refactor reset to set to new value instead of delete
* ensure only one event is dispatched
* feat: set expiry to 24 hours
* chore: make expiry 48 hours
* feat: include destroy event
* feat: set expiry to 72 days
* fix: typo
* test: cache update after `touch`
* test: update cache keys
* refactor: remove after_touch, it's already handled in commit
2024-01-29 15:27:26 +05:30
Shivam Mishra
834c219b9b
feat(perf): update query to do a simpler search [CW-2997] ( #8763 )
...
Message search would frequently timeout. The reason was that the query would join the conversation too, the new query searches the message table directly
Co-authored-by: Sojan <sojan@pepalo.com >
2024-01-23 14:20:00 +04:00
Sojan Jose
5f6e17f307
feat: Use Telegram HTML Parsemode ( #8731 )
...
- this ensures that the markdown formatted messages from the Chatwoot dashboard will render consistently in telegram UI for the supported types like bold, italics, links etc
2024-01-18 15:36:36 +04:00
Sojan Jose
76fe2f9bb8
chore: Switch to Markdown instead of MarkdownV2 for telegram channel ( #8720 )
2024-01-17 14:28:13 +05:30
Muhsin Keloth
818424259f
chore: Get all notification API improvments ( #8549 )
...
Co-authored-by: Sojan Jose <sojan@chatwoot.com >
2024-01-17 09:02:18 +05:30
Nithin David Thomas
d1e7e75638
feat: Adds internal support for markdown in Telegram outgoing messages ( #8640 )
...
This PR adds support for Markdown in the telegram API for send message. The dashboard uses commonmark syntax for markdown but telegram is using MarkdownV2.
More info - https://core.telegram.org/bots/api#markdownv2-style
Adds support for bold - *bold*, _italic text_, __underline__, ~strikethrough~
Co-authored-by: Sojan Jose <sojan@pepalo.com >
2024-01-16 13:32:59 +04:00
Pranav Raj S
8c9a351c84
feat: Add support for ascending and descending options in sort ( #8542 )
2023-12-12 17:15:48 -08:00
Pranav Raj S
d28f512de4
fix: Update the label name to use .strip to avoid unnecessary whitespace characters ( #8541 )
...
- The cache stores the labels as label1, label2. Without removing the whitespace, the output of cached_label_list_array would be [label1, [whitespace]label2], which doesn't match with the existing labels. This list is returned with proper label names.
2023-12-12 15:04:29 -08:00
Pranav Raj S
890515edfd
feat(perf): Cache labels on the conversation model ( #8527 )
2023-12-11 18:27:55 -08:00
Muhsin Keloth
b1a68759cf
feat: Add the support for custom attributes in message variables ( #8511 )
2023-12-08 14:13:35 -08:00
Muhsin Keloth
db33b7d1dc
feat: Clear all previous notifications if a new notification is added to a conversation ( #8490 )
2023-12-06 14:03:43 +05:30
Muhsin Keloth
76711d95ff
chore: Change primary actor to Conversation for all the notification types. ( #8435 )
2023-12-06 10:43:09 +05:30
Muhsin Keloth
aad18e1ca4
feat: Add notification_deleted action cable event ( #8431 )
2023-12-01 23:06:22 +05:30
Sojan Jose
8c67ea56e7
chore: Campaign conversations should be created in open state ( #8209 )
...
- Ensure that conversations originating from campaigns are created in the open state.
2023-10-25 13:03:08 -07:00
Muhsin Keloth
54bc4c23df
fix: Telegram model specs ( #8207 )
2023-10-26 00:14:09 +05:30
Muhsin Keloth
4a89bab23a
feat: Handle Telegram send message/attachments errors ( #8173 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-10-25 08:36:31 -07:00
Shivam Mishra
b9694a0818
feat: support reply to for Telegram ( #8105 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-10-20 13:14:20 +05:30
Shivam Mishra
9018ec9678
test: reset Current.user after spec ( #8123 )
2023-10-17 18:06:54 +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
Muhsin Keloth
0bc20873f6
feat: Add delivery status for Twilio Channel ( #8082 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-10-11 21:17:46 +05:30
Sojan Jose
6a73953003
chore: Add delay before running dataimport job ( #8039 )
...
- We have observed some failures for data import jobs in the cloud due to race conditions with job executions and active storage file uploading. This PR adds delays and retries to accommodate that.
2023-10-03 22:18:57 -07:00
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
Pranav Raj S
29e8e41443
fix: Delete agent bots without deleting the messages ( #7754 )
2023-08-17 13:48:49 -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
Sojan Jose
e3b8c1fbb5
fix: Include waiting on agent conversations to unattended view ( #7667 )
...
Updating the `unattended` tab to include conversations where the customer responded and is awaiting an agent's response.
Previously it showed only the conversations where the first response was pending.
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-08-15 15:09:10 -07:00
Pranav Raj S
4baa4363f4
fix: Update unread_count being 0 if agent has not seen the conversation ( #7690 )
2023-08-07 18:50:31 -07:00
Pranav Raj S
21691f2407
fix: Update breaking specs on sentiment and open AI integration ( #7513 )
2023-07-12 14:43:11 -07:00
Pranav Raj S
09f46aa912
chore: Update onMessage event to include conversation id ( #7497 )
2023-07-10 15:04:31 -07:00
Sojan Jose
40830046e8
feat: Audit Logs for Account User Changes ( #7405 )
...
- Audit log for user invitations: https://linear.app/chatwoot/issue/CW-1768/invited-a-user-to-the-account
- Audit log for change role: https://linear.app/chatwoot/issue/CW-1767/name-or-email-changed-the-role-of-the-user-email-to-agent-or-admin
- Audit log for status change: https://linear.app/chatwoot/issue/CW-1766/availability-status-as-events-for-audit-logs
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2023-06-28 22:42:06 +05:30
Pranav Raj S
93daaea19b
feat: Add a sort option for conversations waiting for a reply from an agent ( #7364 )
2023-06-21 13:20:39 -07:00
Sojan Jose
595e6e79f0
chore: Add sla policy association to conversation ( #7360 )
...
Adds the sla policy association to the conversation
Fixes: https://linear.app/chatwoot/issue/CW-1615/applying-an-sla-to-the-conversation
2023-06-21 14:48:50 +05:30
Tejaswini Chile
1ee6a8fe90
chore: Add validation for processed content field ( #7306 )
...
* logging the messages id for message validation exception
* Update the processed_message_content validation over length
* codeclimate
* specs failing for contacts
2023-06-14 18:28:42 +05:30
Tejaswini Chile
879a244f93
fix: Automations condition based quoted text ( #7272 )
2023-06-09 17:00:05 +05:30
Sojan Jose
d03924b846
feat: Enable sending template messages in webhooks ( #7252 )
...
fixes: https://github.com/chatwoot/chatwoot/issues/5291
2023-06-05 20:27:28 +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
Shivam Mishra
f1a77ba934
feat: allow superadmins to reset cache keys for IndexedDB ( #7180 )
...
Allows super admins to reset the cache for an account. This will force the front end to fetch the data again on the next load.
fixes: https://linear.app/chatwoot/issue/CW-1817
Co-authored-by: Sojan <sojan@pepalo.com >
2023-05-29 23:05:17 +05:30
Sojan Jose
afc97faa8b
chore: Rotate pubsub token on password change ( #7194 )
...
Fixes: https://linear.app/chatwoot/issue/CW-1350/
2023-05-27 13:24:31 +05:30
Muhsin Keloth
2c85098698
fix: Mentions in assigned/participation notification( #7185 )
2023-05-25 18:18: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
Sojan Jose
ca85d4e1c6
fix: External url validation in attachment ( #7082 )
...
fixes: https://linear.app/chatwoot/issue/CW-1746/activerecordrecordinvalid-validation-failed-external-url-is-too-long
2023-05-15 20:33:58 +05:30
Sojan Jose
385eab6b96
chore: Add max length validation to text fields ( #7073 )
...
Introduces a default max length validation for all string and text fields to prevent processing large payloads.
2023-05-12 22:12:21 +05:30