Liam
bdeb2f9812
feat: Searching contacts by company name ( #7867 )
...
Implement the functionality of being able to search the contacts page by company name.
Fixes : #7818
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-09-21 00:53:12 -07:00
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
Sojan Jose
9ba5adfd60
chore: Support multiple values for automation message content ( #7871 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2023-09-19 13:04:58 +05:30
Shivam Mishra
53d530b815
feat: Add upload under account scope ( #7914 )
2023-09-19 09:51:54 +05:30
Vishnu Narayanan
7b6a56714f
fix: double rendor error on message create api for suspended accounts ( #7917 )
2023-09-14 20:06:48 +05:30
Sojan Jose
616371adbb
chore: Improve the behavior of lock to single conversation ( #7899 )
2023-09-14 12:32:57 +05:30
Muhsin Keloth
2d4ef0c328
feat: Add None option in automation assign agent actions ( #7900 )
2023-09-14 09:01:58 +05:30
Vishnu Narayanan
5e6e234afe
feat (perf): Remove conversation count in contacts list view ( #7915 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-09-14 08:49:37 +05:30
Muhsin Keloth
18e9e771b5
fix: Check body exists before deleting null bytes in Twilio ( #7910 )
2023-09-13 13:40:26 +05:30
Jordan Brough
4f5c5e9f85
fix: Erase null bytes from incoming Twilio messages ( #7901 )
...
We've had some messages come in from a few different phone numbers that had null bytes in them. I don't know how this happens. They don't seem to be malicious.
They currently cause the Postgres gem to raise an error when Chatwoot attempts to save the message body to the database:
ArgumentError (string contains null byte)
Related Rails GitHub issue: rails/rails#26891
2023-09-12 18:07:18 -07:00
Pranav Raj S
f05535c5ad
Revert "chore: Improve the behaviour of lock to single conversation (… ( #7886 )
2023-09-09 09:59:21 +05:30
Sojan Jose
bfd192ebb2
chore: Improve the behaviour of lock to single conversation ( #7863 )
2023-09-08 11:16:24 +05:30
Shivam Mishra
e529e1206e
fix: Update inline image processing logic to fix missing images when multiple inline images present ( #7861 )
2023-09-06 14:35:19 +05:30
Shivam Mishra
9ebabb9832
feat: common attachment endpoint follow-up changes ( #7826 )
2023-09-01 15:18:48 +07:00
Shivam Mishra
deec1d213b
feat: add a common upload endpoint ( #7806 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2023-08-31 10:36:02 +07:00
Sojan Jose
6ab964b161
chore: fix flaky spec ( #7686 )
...
- fix flaky reporting specs
- fix flaky export spec
2023-08-25 00:11:41 -07:00
Shivam Mishra
5598b4b27e
feat: implement mutex for SlackSendJob ( #7783 )
2023-08-25 11:58:29 +07:00
Sojan Jose
64ae9f625a
chore: Persist emojis in Contact Import ( #7803 )
...
The previous fix would remove emojis in contact data. This change ensures they are persisited
ref: #7787
2023-08-24 14:04:52 -07:00
Pranav Raj S
6ddc99d066
fix: Update the in_reply_to to logic to use processed_mail ( #7793 )
2023-08-24 16:19:17 +05:30
Sojan Jose
acb7debd3f
chore: Contact import improvements ( #7787 )
...
- Ensure existing contact information is updated on data import
- Refactor the existing job to make it more readable
- Fixes issues with import files in the wrong encoding
fixes : #7307
2023-08-23 23:24:47 -07:00
Shivam Mishra
26ef21a243
feat: locking and retry in FB message parsing ( #7701 )
2023-08-23 09:48:17 +07:00
Muhsin Keloth
0d41853b0b
fix: OpenAI CE specs ( #7710 )
2023-08-21 12:54:35 +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
Jordan Brough
996f842882
feat: Allow Twilio::REST::TwilioError errors to raise and prevent Inbox creation ( #7379 )
...
This update will mean that errors will roll back the current transaction and the error will be sent back to the frontend and the user will know that the Inbox did not finish setting up successfully.
2023-08-16 15:00:02 -07:00
Vishnu Narayanan
7b8a3fcae0
feat: auditlog for team and inbox member updates ( #7516 )
...
- adds an audit log when an agent is added or removed from a team
- adds an audit log when an agent is added or removed from an inbox
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-08-15 19:55:19 -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
ebefb2e201
fix: Consider the emails where in-reply-to header has multiple values ( #7715 )
...
- Return the first message id for now to avoid the errors and subsequently missing the message.
- Use .last instead of .first to avoid expensive query.
- Fix array response in response bot.
Fixes: https://linear.app/chatwoot/issue/CW-2358/activerecordstatementinvalid-pgdatatypemismatch-error-argument-of-and
2023-08-11 17:53:57 -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
Muhsin Keloth
c1c3a62412
fix: Improve reply prompt ( #7588 )
...
Co-authored-by: Sojan Jose <sojan@chatwoot.com>
2023-08-09 10:25:37 +05:30
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
Sojan Jose
d06cf27800
chore: Specs for pageCrawler Service ( #7632 )
2023-08-04 15:44:51 -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
Sojan Jose
846f520ad2
feat: toggle typing and update last seen endpoints for client apis ( #7621 )
...
- Add toggle_typing endpoint for client APIs
- Adds update last seen endpoint for client APIs
Fixes : #7581
2023-07-26 20:40:48 +03:00
Sojan Jose
6cbe1ed911
chore: Disable message hooks for conversations without incoming message ( #7620 )
...
When using client APIs to create conversations and auto-assignment is turned on, welcome messages were getting triggered. This PR disable the behaviour and ensure template hooks are triggered only if there are incoming messages present.
Fixes: https://linear.app/chatwoot/issue/CW-2187
2023-07-26 20:38:49 +03:00
OMAR.A
1d8341504a
fix: contacts count on filter ( #7446 )
...
- Fixes the wrong count shown during the contact filter when contact has multiple labels associated.
2023-07-26 17:31:04 +03:00
Pranav Raj S
a6a0e78bbe
feat: Sort articles based on views ( #7599 )
2023-07-24 20:27:43 -07:00
Sojan Jose
480f34803b
feat: Response Bot using GPT and Webpage Sources ( #7518 )
...
This commit introduces the ability to associate response sources to an inbox, allowing external webpages to be parsed by Chatwoot. The parsed data is converted into embeddings for use with GPT models when managing customer queries.
The implementation relies on the `pgvector` extension for PostgreSQL. Database migrations related to this feature are handled separately by `Features::ResponseBotService`. A future update will integrate these migrations into the default rails migrations, once compatibility with Postgres extensions across all self-hosted installation options is confirmed.
Additionally, a new GitHub action has been added to the CI pipeline to ensure the execution of specs related to this feature.
2023-07-21 18:11:51 +03:00
Vishnu Narayanan
4828071fc3
feat: add audit trail for channel updates ( #7396 )
2023-07-21 12:08:19 +05:30
Pranav Raj S
d7566c453d
chore: Take the count directly rather than grouping the conversations ( #7535 )
2023-07-19 12:12:30 -07:00
Vishnu Narayanan
ea825d49da
feat: add auditlogs for account model ( #7511 )
2023-07-19 23:52:34 +05:30
Tejaswini Chile
f3f665cabb
fix: Sentiment analysis queue update ( #7552 )
2023-07-19 20:27:20 +05:30
Tejaswini Chile
5b480f563d
feat: Sentiment model download and upload to vendor ( #7526 )
2023-07-18 12:17:50 +05:30
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
Pranav Raj S
21691f2407
fix: Update breaking specs on sentiment and open AI integration ( #7513 )
2023-07-12 14:43:11 -07:00
Tejaswini Chile
10dd0ba647
feat: Sentiment Analysis ( #7475 )
2023-07-12 15:03:31 +05:30
Pranav Raj S
09f46aa912
chore: Update onMessage event to include conversation id ( #7497 )
2023-07-10 15:04:31 -07:00
Shivam Mishra
a940f4c1d2
feat: Allow label suggestions with OpenAI APIs ( #7428 )
2023-07-10 14:40:54 +05:30
Tejaswini Chile
71837bedf9
feat: Ability to customise the email sender name [CW-1629] ( #7345 )
2023-07-04 20:46:01 +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
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
Tejaswini Chile
d05c953eef
feat: Support Azure single-tenant application using the Graph API ( #6728 ) ( #6878 )
2023-06-28 08:13:08 +05:30
Vishnu Narayanan
f963e00731
fix: capture user and ip details on Inbox delete ( #7395 )
...
Fixes: https://linear.app/chatwoot/issue/CW-1772/ip-address-and-user-details-are-missing-in-some-of-the-logs
Co-authored-by: Sojan <sojan@pepalo.com>
2023-06-27 19:49:24 +05:30
Luis
533f9f7fe4
fix: Email collect overriding existing contact name ( #7355 )
...
Currently, if Enable email collect box is enabled, and the user starting the chat already has an account with the same email, it will override the current account with {name} from the email name@email.com , this fixes it.
Co-authored-by: Sojan <sojan@pepalo.com>
2023-06-22 19:09:12 +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
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
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
Sivin Varghese
93d8157a55
feat: Adds Lithuanian language selectable as site language ( #7354 )
2023-06-20 17:29:05 +05:30
Vishnu Narayanan
6bea2cbc4a
feat: add audit trail for macros ( #7352 )
2023-06-20 13:04:59 +05:30
Tejaswini Chile
afb7e67795
fix: empty account variable for custom_attrbute_definition running in background job ( #7351 )
2023-06-20 12:15:36 +05:30
Tejaswini Chile
9d0de04f7c
fix: set custom filter count in redis ( #7164 )
2023-06-19 16:10:03 +05:30
Shivam Mishra
237358af24
refactor: use as_json for formatting the string ( #7332 )
2023-06-19 13:33:48 +05:30
Shivam Mishra
e8a27bea4b
feat: Add APIs for limit check in accounts ( #7242 )
2023-06-15 20:11:40 -07:00
Pranav Raj S
69b9123963
fix: Use available_name only ( #7312 )
...
We have display_name and the actual name for an agent. display_name is used in all public facing parts. The https://github.com/chatwoot/chatwoot/pull/7232/files PR missed this and used actual name instead.
This PR fixes it.
2023-06-15 17:52:53 +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
Muhsin Keloth
6eb4fa41ff
feat: Add sender details and message create date in the attachment API ( #7308 )
2023-06-14 17:29:13 +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
Shivam Mishra
2e79a32db7
fix: calculation for resolution count ( #7293 )
...
* fix: calculation for resolution count
* test: resolution count bug fix
- ensure enqueued jobs are run
- fix the dates check, conversations resolved today should show up in today
* feat: ensure conversations are resolved
* test: do not count extra events if the conversation is not resolved currently
* fix: typo
2023-06-14 13:50:10 +05:30
Shivam Mishra
a86e236d19
feat: update cache headers for cache_keys ( #7283 )
...
Update the cache headers for cache_keys to max-age=10, private, stale-while-revalidate=300
1. The cache will be fresh for 10 seconds (max-age=10). During this time, the browser will use the cached version without checking with the server.
2. After the initial 10 seconds, the browser can continue to serve the stale cache for up to 5 minutes (stale-while-revalidate=300). During this period, it will also try to revalidate and update the cache in the background.
3. After 310 seconds in total (10 seconds fresh, 300 seconds stale), if the browser has not been able to revalidate the cache, it will attempt to fetch the fresh resource directly from the server for subsequent requests, causing potential latency equivalent to a network request.
This means that the data will be directly revalidated only every 5 mins. Other times, it will stay fresh for 10 seconds and revalidate in the background. In most cases, we won't have to rely on a cache validation check because there is a WebSocket event for revalidation, so we know if something changes.
Right now the stale-while-revalidate is 5 minutes, we can then move it to 15 minutes.
> The stale-while-revalidate header is not supported in Safari, for Safari the cache keys will only stay in memory for 10 seconds before being marked stale
2023-06-14 13:21:51 +05:30
Tejaswini Chile
23ca6d56f9
feat: Contact Exports ( #7258 )
2023-06-13 09:18:43 +05:30
Tejaswini Chile
c99d9f9557
fix: search for nil in-reply-to messages ( #7286 )
2023-06-12 16:01:56 +05:30
Vishnu Narayanan
9ff5978d6e
feat: Add audit trail events for team ( #7285 )
2023-06-09 17:30:36 -07:00
Tejaswini Chile
879a244f93
fix: Automations condition based quoted text ( #7272 )
2023-06-09 17:00:05 +05:30
Tejaswini Chile
f64f2138db
fix: Update mail check for html_part ( #7273 )
2023-06-09 16:08:40 +05:30
Sojan Jose
48f2e58e59
feat: Ability to update avatars from super admin ( #7264 )
...
- Ability to update user avatars from super admin
- Ability to update bot avatars from super admin
fixes : #7060
2023-06-09 15:32:24 +05:30
Chamath K.B. Attanayaka
c715e396f0
feat: added input_select type message support for whatsapp ( #6886 )
...
- Added input_select message type support for Whatsapp Cloud API and Whatsapp 360dialog.
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-06-09 15:20:45 +05:30
Tejaswini Chile
2b7989f52b
fix: reply mailer with sender name ( #7232 )
2023-06-08 17:07:08 +05:30
Sojan Jose
117d5301b4
chore: API documentation updates for CSAT surveys ( #7255 )
...
- Expose conversation uuid in APIs
- swagger documentation for cast survey update via public/message/update endpoints
- swagger documentation for survey/responses/conversation_uuid endpoint
Fixes : #6328
2023-06-05 21:14:01 +05:30
Tejaswini Chile
aae6081d73
fix: check content disposition, for inline messages in mail ( #7231 )
2023-06-05 20:28:32 +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
Tejaswini Chile
09971fd613
fix: Wrap references string into array ( #7243 )
2023-06-03 07:33:36 +05:30
Tejaswini Chile
abc27fa791
fix: find mail message by references ( #7220 )
2023-05-31 19:23:29 +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
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
Sojan Jose
3a7633b564
feat: API to create HMAC verified conversations ( #7209 )
...
Fixes : #6744
2023-05-29 21:57:24 +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
Vishnu Narayanan
123fc73394
feat: add audit trail for sign_in and sign_out ( #7158 )
...
* feat: add audit_trail for sign_in event
* chore: ignore unrelated User model columns for auditing
* chore: fix prepend call for webhook/automation rule
* chore: add spec for sign_in event
* chore: refactor sign_in auditlog method to enterprise namespace
* feat: add sign_out audit trail
* feat: review comments
2023-05-25 14:27:30 +05:30
Tejaswini Chile
8e79cf72e1
fix: issue with slack job ( #7179 )
2023-05-24 20:22:34 +05:30
Nithin David Thomas
2764338453
fix: Fixes wrong copy being sent to users via email invite [cw-1290] ( #7159 )
...
* fix: Fixes invite email copy
* fix: Fixes wrong copy being sent to users via email invite
2023-05-23 09:37:40 +05:30
Tejaswini Chile
d481b9fbcf
feat: Limit the number of custom filters per user ( #7101 )
2023-05-22 18:03:15 +05:30
Tejaswini Chile
0e903d2365
chore: Add delay for slack job when message has attachments ( #7107 )
2023-05-22 13:51:14 +05:30
Sojan Jose
e3f4be97c0
fix: Reauthorize when channel settings updated ( #7134 )
...
Fixes: https://linear.app/chatwoot/issue/CW-1803/bug-inbox-doesnt-update-reauthorisation-required-automattically
2023-05-19 22:04:34 +05:30
Sojan Jose
7b9a9831c1
chore: Fix rubococop failures ( #7130 )
...
- fixes rubocop failures on develop
2023-05-19 15:32:25 +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
Shivam Mishra
b988a01df3
fix: exclude private and activity messages from public API ( #7123 )
...
- Exclude private messages
2023-05-19 14:24:49 +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
Shivam Mishra
f2f33038f2
fix: Make category non-mandatory ( #7117 )
...
Creating articles in a new help center without categories throws an error. This PR fixes that.
2023-05-18 18:42:28 +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
Tejaswini Chile
b994706265
fix: Email date attribute not being set ( #7081 )
...
Fixes: https://linear.app/chatwoot/issue/CW-1738/typeerror-no-implicit-conversion-of-nil-into-string-typeerror
2023-05-15 20:19:03 +05:30
Tejaswini Chile
65e91f6a6f
fix: Duplicate instagram conversations for echo messages ( #7078 )
2023-05-15 16:25:15 +05:30
Nithin David Thomas
7dd1562b40
fix: Welcome email copy changes and canned response API error handling [cw-1290] ( #7054 )
...
Fixes: https://linear.app/chatwoot/issue/CW-1290/minor-ui-issues
2023-05-15 16:17:55 +05:30
Tejaswini Chile
354010a6e1
chore: fetch mails with multiple attachments ( #7030 )
2023-05-14 10:02:36 +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
Muhsin Keloth
2c3160cfee
feat: API to list all attachments for a conversation ( #7059 )
...
Fixes: https://linear.app/chatwoot/issue/CW-1678/api-to-list-all-attachments-for-a-conversation
2023-05-12 15:48:06 +05:30
Muhsin Keloth
271263bcc2
feat: SLA CRUD APIs (EE) ( #7027 )
...
Fixes: https://linear.app/chatwoot/issue/CW-1613/sla-api
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-05-11 22:42:56 +05:30
Jamie Wood
d99997d17d
feat: Add ability to filter Conversations by underlying source_id ( #6979 )
...
This change adds the ability to include a `source_id` param when querying the `/api/v1/accounts/{account_id}/conversations/search` endpoint. It restricts to results to only conversations related to a contact_inbox with the provided parameter. My motivation for adding this feature was to allow an external API to communicate with a specific conversation with only an awareness of the conversation `source_id` from the client.
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-05-11 17:32:29 +05:30
Sojan
65bad90b69
Revert "fix: Welcome email copy changes and canned response API error handling [cw-1290] ( #6905 )"
...
This reverts commit 07aaa046c1 .
2023-05-10 16:43:18 +05:30
Nithin David Thomas
07aaa046c1
fix: Welcome email copy changes and canned response API error handling [cw-1290] ( #6905 )
...
* fix: Welcome email copy changes and canned response API error handling
* Review fixes
* Uses mixin for alerts in canned page
* Typo fixes
* Copy changes
* Fixes broken tests
* Fixes review comments
* Fixes typo errors with mail template
* Removes unwanted case
* Fixes repetitive texts
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2023-05-10 15:55:48 +05:30
Shivam Mishra
2b88ecdfc4
feat: Add a feature flag for Audit Log UI ( #7035 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-05-08 12:44:15 -07:00
Vishnu Narayanan
51fb3b7e8e
fix: enable lograge in superadmin path ( #7026 )
...
* fix: lograge superadmin path
* chore: add spec for superadmin devise session controller
* chore: address review comment
2023-05-08 13:43:55 +05:30
Sojan Jose
022383d942
chore: Upgrade to Rails 7 ( #6719 )
...
fixes : #6736
2023-05-06 10:44:52 +05:30
Sojan Jose
85e57c2e94
chore: Reorganize Sidekiq Queues ( #6976 )
...
- Rearrange and reprioritize current sidekiq queues
- Trim the unnecessary queues
ref: https://linear.app/chatwoot/issue/CW-1480/chore-run-all-sidekiq-jobs-async
2023-05-04 15:44:16 +05:30
Tejaswini Chile
b081fe08b8
feat: whatsapp duplicate message ( #7004 )
2023-05-03 15:18:20 +05:30
Tejaswini Chile
847d7ea082
feat: Add support to uncategorized articles ( #6912 )
2023-05-02 15:35:26 +05:30
Tejaswini Chile
c8041392dc
feat: Enable features on successful subscription ( #6953 )
...
* feat: Enable features on successful subscription
* fix: Add specs
* disable features for default plan
* Remove mark as cloud customers
---------
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-05-01 14:58:39 -07:00
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
Tejaswini Chile
99dfe1d5af
feat: Enable template variables in channel greeting messages ( #6971 )
2023-04-26 20:23:46 +05:30
Tejaswini Chile
3c2d6faf68
feat: Instagram story replies will display the original story link ( #6846 )
2023-04-26 15:27:07 +05:30
Shivam Mishra
d95283f5c2
feat: improvements to priority ( #6981 )
...
* fix: colors for urgent icon
* feat: trigger updated event on priority change
* fix: specs
2023-04-25 22:28:19 +05:30
Shivam Mishra
5600b518ac
fix: validate template_params for WhatsApp ( #6881 )
...
- Add JsonSchemaValidator, which takes a declarative schema and validates it for a given property.
- Add specs for JsonSchemaValidator
- Enable the validator for template_params
2023-04-25 16:50:36 +05:30
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
Sojan Jose
cf91e9eb58
chore: Use find_each instead of .all.each ( #6975 )
...
- Enable the rubocop Rails/FindEach
- Replace the .all.each with .find_each
This should let us avoid potential memory usage.
Motivation from the speedshop newsletter by Nate Berkopec
ref: https://www.rubyinrails.com/2017/11/16/use-find-each-instead-of-all-each-in-rails/
ref: https://linear.app/chatwoot/issue/CW-1480/chore-run-all-sidekiq-jobs-async
2023-04-25 09:32:35 +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
e3193dcabc
feat: Link help center portal to an Inbox ( #6903 )
2023-04-24 12:49:52 +05:30
Chatwoot Bot
3a35281b3f
chore: Update translations ( #6941 )
...
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-04-21 15:28:56 +05:30
Shivam Mishra
a34729c153
feat: add activity message for priority change ( #6933 )
...
* feat: add priority const
* feat: add toggle priority method
* feat: update controller route and specs
* refactor: status change method
* refactor: abstract label change and mute activity
* feat: add priority change_activity
* fix: interpolation for previous_changes
* refactor: reduce cognitive complexity of priority_change_activity
* refactor: move priority activity message handler to a separate module
* refactor: move typing logic to a service
* refactor: tests to reduce complexity
* fix: typo
* fix: constants
* fix: priority conditions
* fix: add a response
* fix: argument destructuring in I18n.t
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2023-04-20 16:41:53 +05:30
Shivam Mishra
6b2736aa63
fix: inconsistency in report and summary for metric counts ( #6817 )
...
* feat: include timezone offset in summary calculation
* fix: exlcude end in date range
* test: explicit end of day
* fix: test for report builder
* fix: reports.spec.js
---------
Co-authored-by: Tejaswini Chile <tejaswini@chatwoot.com>
2023-04-20 12:55:04 +05:30
Muhsin Keloth
d1584eea72
feat: Add an action on automation to change the priority ( #6925 )
2023-04-20 11:31:33 +05:30
Tejaswini Chile
5cdc7d654a
feat: Support multiple emails in email transcript automation ( #6924 )
2023-04-19 16:55:25 +05:30
Volodymyr Makukh
b93b8cdab6
Fix flaky reporting_event_listener_spec ( #6923 )
2023-04-19 10:42:45 +05:30
Pranav Raj S
c5c36af529
fix: Remove fallback phone_number search in WhatsApp event processing ( #6904 )
2023-04-18 18:30:01 -07:00
Jordan Brough
026e03c307
fix: Handle spaces in CC/BCC email lists ( #6788 )
...
When the CC field is generated in the UI, the email values are joined together
with ", " but when they are parsed, we currently split by just ",".
This causes an error on the backend and on the frontend.
It seems reasonable to update the code to allow whitespace in the input and to
split by `\s*,\s` and also to trim leading and trailing whitespace from the CC
list.
---------
Co-authored-by: Sojan <sojan@pepalo.com>
2023-04-18 19:18:23 +05:30
Tejaswini Chile
905e77048f
chore: Contact import improvements (CW-1362) ( #6747 )
...
Fixes: https://linear.app/chatwoot/issue/CW-1362/csv-imports-are-not-working-properly
Fixes : #3462
---------
Co-authored-by: Sojan <sojan@pepalo.com>
2023-04-18 00:40:55 +05:30
Shivam Mishra
1886d4ce08
fix: response body in twitter callback ( #6907 )
...
* fix: response body
* fix: tests
2023-04-14 16:48:28 +05:30
Tejaswini Chile
2b736f4698
fix: Update from_email in the name to fix the syntax error ( #6900 )
2023-04-13 10:42:38 -07:00
Tejaswini Chile
9ca21df9fd
feat: Route emails based on x-original-to in email channel ( #6901 )
...
Fixes : #6608
ref: https://linear.app/chatwoot/issue/CW-30/emails-not-routed-based-on-x-original-to
2023-04-13 14:52:12 +05:30
Tejaswini Chile
44837aa657
Fix: save twitter profile for inbox ( #6667 )
...
Fixes : #737
2023-04-12 14:16:24 +05:30
Tejaswini Chile
d45512df72
feat: Account deletion with deleteObjectJob ( #6885 )
...
Fixes: https://linear.app/chatwoot/issue/CW-1365/allow-super-admin-to-delete-an-account
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-04-12 13:54:01 +05:30
Tejaswini Chile
610463c980
fix: flatten template array for whatsapp templates ( #6880 )
...
- Refactor the WhatsApp template sync job
- Fix the issue when fetching the next set of templates
2023-04-11 17:48:17 +05:30
Vishnu Narayanan
ad75a79135
feat: add pagination support for audit logs API ( #6843 )
...
Add pagination support for audit logs API
2023-04-10 21:07:01 +05:30
Tejaswini Chile
d49989ace1
chore: Specs for Whatsapp template pagination ( #6870 )
...
Spec for https://github.com/chatwoot/chatwoot/pull/6835
2023-04-10 20:44:43 +05:30
Tejaswini Chile
e69e0bc984
Add status reopen activity message for api channel ( #6839 )
2023-04-10 19:12:20 +05:30
Pranav Raj S
e877b01e00
fix: Invalidate cache if any of the related objects change ( #6860 )
...
* fix: Invalidate cache if any of the related objects change
* Add specs:
* Update context
---------
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
2023-04-10 15:47:13 +05:30
Pranav Raj S
463c09184c
fix: Disable processing events if account is suspended ( #6849 )
2023-04-07 12:01:03 -07:00
Muhsin Keloth
a521762dd6
feat: Support after param in messages end point ( #6848 )
...
Adds support to `after` param while fetching messages
Fixes: https://linear.app/chatwoot/issue/CW-1475/support-after-param-in-messages-end-point
2023-04-07 13:42:54 +05:30
Pranav Raj S
ebd5fbef17
chore: Use feature_flags attribute instead of settings_flags ( #6820 )
...
* chore: Use feature_flag instead of settings_flag
* Remove unnecessary changes
2023-04-04 09:56:58 -07:00
Shivam Mishra
a040aee96b
feat: allow adding custom attributes to conversations from the SDK ( #6782 )
...
* feat: add conversation attributes method to sdk and widget app
* feat: add endpoints to update custom attributes
* refactor: update SDK api
* feat: add api and actions for conversation updates
* fix: error message
* test: custom attributes on conversations controller
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2023-04-04 08:57:55 +05:30
Tejaswini Chile
6a0ca35de4
Feat: detect language of the message content ( #6660 )
2023-04-04 08:57:27 +05:30
Tejaswini Chile
d2d6d271c3
CW-1399 Phone number import ( #6815 )
2023-04-03 13:53:59 +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
Sojan Jose
7930902ec8
chore: Refactor Automation Specs ( #6796 )
...
The current way of writing specs for automation in one single file automation_listener isn't effective. Hence we are breaking down the specs for each class into separate spec files.
fixes: CW-1447
2023-03-30 21:02:52 +05:30
Tejaswini Chile
d8604107aa
fix: Add link to conversation in slack message ( #6768 )
2023-03-30 13:03:19 +05:30
Muhsin Keloth
cef44bc557
fix: Check valid params exists in WhatsAapp payload ( #6780 )
...
Fixes #6779
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-03-30 12:10:59 +05:30
Sojan Jose
7e3a4d2c20
fix: Adds assignee as a participant during auto-assign ( #6789 )
...
- Ensures that the assignee is added as a participant during auto-assign
2023-03-30 11:39:53 +05:30
Sojan Jose
a4c9a2b2f2
chore: Support telegram edited_message events ( #6785 )
...
- Add support for telegram edited_message events: Update the user message back in the Chatwoot dashboard when updated by the contact on telegram
2023-03-29 18:48:16 +05:30
Chamath K.B. Attanayaka
6002394fcf
feat: Support input_select messages on telegram ( #5887 )
...
- Adding interactive button support for telegram for outgoing and incoming messages.
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-03-28 22:50:07 +05:30
Tejaswini Chile
54a809ea54
fix: Case insensitive email match ( #6760 )
...
Fixes: https://linear.app/chatwoot/issue/CW-1354/email-id-case-sensitive
Co-authored-by: Sojan <sojan@pepalo.com>
2023-03-28 15:23:41 +05:30
Tejaswini Chile
fdb067a352
fix: mentions are not rendered properly in slack ( #6762 )
2023-03-28 13:40:16 +05:30
Muhsin Keloth
3535a1a708
chore: Auto capitalize the last name field while sending the canned response/variables ( #6767 )
...
* Capitalize last name
* Add more spec
* Fix last name spec issue
* More spec fixes
* Add more spec fixes
* Update user_drop_spec.rb
2023-03-28 13:03:51 +05:30
Shivam Mishra
4c10845acd
fix: [CW-44] don't count private message as first reply ( #6707 )
...
* fix: don't count private message as first reply
* fix: update first_human_response_logic
* refactor: separate valid_first_reply method
* test: valid first reply
* feat: add check for automation rule
* test: update step that creates data
* fix: add boundary condition in case first_reply_created_at is not present
* test: fix report builder
* refactor: conditions
* test: remove second message condition
2023-03-27 21:23:37 +05:30
Muhsin Keloth
5b7bed9640
chore: Auto capitalize the name field while sending the canned response/variables ( #6758 )
...
* capitalize name before sending the message
* Fix specs
* Code cleanups
2023-03-27 18:49:48 +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
Tejaswini Chile
856d9067b0
fix: Super admin redirect issue [CW-1370] ( #6715 )
2023-03-23 14:37:21 +05:30
Tejaswini Chile
d94f195284
feat: Add link for instagram profile link ( #6721 )
2023-03-23 13:34:42 +05:30
Tejaswini Chile
9c040af028
[CW-1348] fix: Update email regex validation for contact_inbox ( #6705 )
2023-03-21 10:51:12 +05:30
Shivam Mishra
e5134c9ef5
[CW-53] feat: allow downloading heatmap report ( #6683 )
...
* feat: add control header slot
* feat: add download API call
* feat: add conversation traffic template
* feat: allow downloading heatmap content
* feat: wire up download
* fix: grid layout for mobile
* chore: revert formatting
* revert: en.yml file
* feat: add conversation traffic text
* feat: disable rule for map block
* test: conversation traffic
* fix: timezone offset
* feat: download report in UTC
* feat: add UTC warning
* chore: revert formatting
* feat: add traffic text
* chore: fix whitespace change
2023-03-20 15:46:29 +05:30
Tejaswini Chile
4f936aada5
[CW-1342]: Inbox deletion in background job ( #6708 )
2023-03-20 13:46:07 +05:30
Tarang
0c9f129c74
Fix issues with Microsoft Provider ( #6702 )
2023-03-20 12:27:43 +05:30
Tejaswini Chile
cf487c76a0
fix: delete user record if belongs to no account ( #6664 )
2023-03-15 21:49:49 +05:30
Sojan Jose
a99c37ae5e
chore: Resolve bundle audit ( #6671 )
...
- Update gems to resolve bundle Audit advisories
2023-03-15 14:05:54 +05:30
Sojan Jose
da76537011
chore: Search optimisations ( #6644 )
...
- Strip search term before searching
- order messages by created_at desc
- order contacts by last_activity_at desc
- order conversations by created_at desc
- Search only resolved contacts
- Optimize resolved contacts query
ref: #6583
2023-03-13 19:10:31 +05:30
Tejaswini Chile
8f4d4798c2
feat: Backend changes for article and categories ordering ( #6655 )
2023-03-13 17:39:07 +05:30
Jacson Santos
2e95d3a173
fix: Duplicate conversations and contacts WA and Brazil numbers ( #6222 )
...
Resolves issue when receiving a message from Brazil Whatsapp number.
Fixes : #5840
Co-authored-by: Sojan <sojan@pepalo.com>
2023-03-13 13:20:53 +05:30
Tejaswini Chile
f2684545d9
fix: Handle dialogflow hook without setting and credentials ( #6638 )
2023-03-09 20:11:08 +05:30
Tejaswini Chile
fbdc79df76
Fix: skip invalid access token from sentry ( #6639 )
2023-03-09 16:28:45 +05:30
Tejaswini Chile
54b7c98795
fix: Warn Facebook error code 100-2018218 ( #6632 )
2023-03-09 13:51:10 +05:30
Tejaswini Chile
dd8f8fc845
chore: Disable error tracking for Whatsapp error webhooks ( #6627 )
...
https://developers.facebook.com/docs/whatsapp/on-premises/webhooks/components
We are not going to handle the WhatsApp error component webhook event.
https://chatwoot-p3.sentry.io/issues/3957884597/?project=4504723538771968&query=is%3Aunresolved&referrer=issue-stream
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-03-08 20:50:59 +05:30
CristianDuta
c20410f3f4
feat: Ability to update CSAT over Client APIs ( #6470 )
...
This PR allows updating CSAT over Client APIs.
ref: #6328
Co-authored-by: Cristian Duta <Cristian.Duta@ti8m.ch>
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-03-08 18:42:49 +05:30
Sojan Jose
9bc0f67f54
feat: Add specs for WHATSAPP_CLOUD_BASE_URL env variable ( #6630 )
...
ref: #6622
2023-03-08 18:38:54 +05:30
Tejaswini Chile
9c9183a352
chore: spec ensuring first_reply_created doesn't trigger automations
...
Specs to ensure that first_reply_created event doesn't trigger automations
ref: #6618
2023-03-07 17:40:17 +05:30
Tejaswini Chile
ec04ddc725
Fallback name branch ( #6591 )
2023-03-03 12:26:59 +05:30
Tejaswini Chile
a4fc0eef4b
fix: Exception tracking for dialogflow bot service ( #6593 )
2023-03-02 21:33:07 +05:30
Pranav Raj S
9e8eb293e9
fix: Allow integration apps to be listed by an agent ( #6587 )
...
* fix: Allow integration apps to be listed by an agent
* Fix rubocop
2023-03-02 13:02:21 +05:30
Tejaswini Chile
61d0a63bf7
Fix: product#804: email sender improvement ( #6579 )
2023-03-02 10:57:14 +05:30
Vishnu Narayanan
d870b0815a
feat: Audit log APIs ( #6434 )
...
- Adds the appropriate APIs for Audit Logs.
ref: #6015
2023-03-01 20:02:58 +05:30
Tejaswini Chile
34a2486e9c
chore: Support plus forwarding in email channel ( #6482 )
...
- Support for plus forwarding in the email addresses for email channels
Co-authored-by: Sojan <sojan@pepalo.com>
2023-03-01 15:42:48 +05:30
Sojan Jose
c9c3ac4b44
chore: Load only required APMs ( #6497 )
...
- Disable requiring the gems for all the APMs
- Switch to selectively requiring them.
2023-03-01 14:31:51 +05:30
Sojan Jose
4c921d3d0e
chore: fix flaky tests ( #6569 )
...
- fixing flaky test in search service spec
2023-03-01 11:44:16 +05:30
Sojan Jose
d4e7eaecce
feat: New APIs for search ( #6564 )
...
- Adding new API endpoints for search
- Migrations to add appropriate indexes
2023-02-28 22:00:36 +05:30
Pranav Raj S
b141fc1289
fix: Fetch categories by locale ( #6557 )
2023-02-27 09:12:14 -08:00
Tejaswini Chile
ce807d3251
fix: Condition based backend validation ( #6554 )
2023-02-27 20:22: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 de1977c219a2e7a9180dd02272244fe3b3f7ce89.
* feat: Revert "feat: ignore bots in avg_first_response_time"
This reverts commit bb9171945d5e3b2f6015f4f96dd1b76b3efb6987.
* 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 353ef355f2d956dd219907bb66982dc90ca5d896.
* 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
c998c84bc0
fix: Name missing when email is collected via email hook ( #6530 )
...
- The name is not updated when the email is updated via the email collect message. This PR fixes that.
2023-02-24 15:24:53 +05:30