Muhsin Keloth
e6cf8c39b7
feat: Update last_snoozed_at after the un-snooze notification ( #8943 )
2024-02-20 18:55:39 +05:30
Nithin David Thomas
721a2f5052
feat: API changes to support multi step user signup ( #8933 )
...
-API Changes to support the new onboarding flow
Co-authored-by: Sojan <sojan@pepalo.com >
2024-02-20 16:48:51 +05:30
Pranav Raj S
c607f09be0
feat: Improve the rendering of CSV exports ( #8914 )
...
Improve the rendering of the datestamp
2024-02-12 20:01:58 -08:00
Pranav Raj S
6a630bc489
chore: Render timestamp in a better format in conversation traffic export ( #8897 )
...
chore: Render timestamp in a better format in conversation traffic reports
2024-02-09 00:48:10 -08:00
Sivin Varghese
9e0468cd73
feat: Inbox header actions (Snooze/Delete) ( #8858 )
...
* feat: Inbox header actions (Snooze/Delete)
* chore: Minor fix
* chore: Fix eslint
* Update inboxHotKeys.js
* feat: custom snooze
* Update actions.spec.js
* chore: Clean up
* chore: add snoozed_until to notification end point
* chore: Minor fix
* chore: Minor style fix
* chore:Clean up
* chore: review fixes
* chore: Minor fix
* chore: Adds alert
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2024-02-06 08:54:15 +05:30
Surabhi Suman
4b40c61201
feat: Support Regex validation for custom attributes ( #7856 )
...
This allows a user to add/update a custom regex and a cue while defining custom attributes(Only applicable for type- text).
While adding/editing custom attributes, the values are validated against the attribute definition regex, and if it is incorrect, a cue message or default error message is shown and restricts invalid values from being saved.
Fixes : #6866
2024-01-23 18:01:57 +04:00
Muhsin Keloth
eb972684b3
feat: Show notification last active time instead of created time ( #8724 )
2024-01-18 09:41:53 +05:30
Sojan Jose
376de685fb
chore: Adds API for agent bot avatar upload ( #8533 )
...
Adds API for agent bot avatar upload
- accounts/agent_bot
- platform/agent_bot
2023-12-11 19:02:11 -08:00
Pranav Raj S
890515edfd
feat(perf): Cache labels on the conversation model ( #8527 )
2023-12-11 18:27:55 -08:00
Sivin Varghese
27239ae14a
feat: Adds API for retry messages in conversation ( #8518 )
2023-12-11 09:33:39 +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
Sojan Jose
f23e33c1a9
perf: Remove unwanted conversation count query ( #8372 )
2023-11-17 16:40:40 -08:00
Shivam Mishra
b411b6ca21
feat: remove feature flag checks for message reply to ( #8352 )
2023-11-15 13:05:58 +05:30
Pranav Raj S
d1cbc56d67
chore: Update widget config API to migrate the widget ( #8303 )
...
- Update the keys in the widget config API to support loading the widget separately from the Rails App.
2023-11-06 15:27:29 -08:00
Pranav Raj S
6c4b92f7f6
fix: Revert the changes for SyncCustomFilterCountJob ( #8238 )
2023-10-27 10:45:48 -07:00
Shivam Mishra
d94108bf3f
feat: show ReplyTo in widget UI ( #8094 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-10-27 13:35:02 +05:30
Sivin Varghese
35a9acf099
feat: Adds the ability to set an emoji for help center category ( #8111 )
2023-10-20 13:52:30 +05:30
Sivin Varghese
b6ba0f343e
feat: Reverse the contact merge ( #8057 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-10-10 08:20:48 +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
Pranav Raj S
12a64f1b10
chore: Add an API to find the contacts using contact inbox sourceId ( #8012 )
...
Fixes: https://linear.app/chatwoot/issue/CW-2578/search-by-facebook-id
2023-09-28 15:26:28 -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
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
Pranav Raj S
bafff90f18
chore: Add account_id scope for conversation.messages ( #7707 )
2023-08-10 23:02:53 -07:00
Pranav Raj S
1a06bfd69c
fix: Force account_id in message filters ( #7705 )
2023-08-10 21:58:25 -07:00
Pranav Raj S
1cac2e86c3
fix: Limit count query to return only 10 values ( #7704 )
2023-08-10 19:30:02 -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
4d8ba0148c
fix: Use Display name for campaigns ( #7631 )
...
fixes : #4299
2023-07-27 17:58:19 +03:00
Jordan Brough
a7bc855486
refactor: Remove deprecated "belongs_to" relationships in Message ( #7434 )
...
- Remove the deprecated columns in message model
2023-07-27 11:41:34 +03: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
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
93daaea19b
feat: Add a sort option for conversations waiting for a reply from an agent ( #7364 )
2023-06-21 13:20:39 -07:00
Tejaswini Chile
9d0de04f7c
fix: set custom filter count in redis ( #7164 )
2023-06-19 16:10:03 +05:30
Shivam Mishra
e8a27bea4b
feat: Add APIs for limit check in accounts ( #7242 )
2023-06-15 20:11:40 -07:00
Shivam Mishra
cac9fe1880
Revert "feat(perf): update query to reduce N+1 impact [CW-1926] ( #7228 )" ( #7271 )
...
This reverts commit f28533bc47 .
2023-06-15 16:23:56 +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
Pranav Raj S
39eaed7766
fix: Cannot read properties of undefined (reading 'always_play_audio_alert') ( #7260 )
2023-06-06 15:16:25 -07:00
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
Shivam Mishra
f28533bc47
feat(perf): update query to reduce N+1 impact [CW-1926] ( #7228 )
...
* feat: update query to reduce N+1 impact
* feat: remove channel eager loading
fixes the error: ActiveRecord::EagerLoadPolymorphicError Exception: Cannot eagerly load the polymorphic association :channel
* test: fix search test
* chore: revert change
2023-06-02 11:11:55 +05:30
Shivam Mishra
958c0d7946
feat(perf): improve performance of conversation filter API [CW-1605] ( #7120 )
...
* feat(perf): don't use count
* feat(perf): include messages in the conversation query
* feat: include contact inboxes
* refactor: use blank?
2023-05-22 16:03:11 +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
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
59433d9d3c
feat: Adds the ability to sort conversations ( #6853 )
...
* Add sort filter
* Change UI
* Change filter
* Complete sort by filters
* Style fixes
* Fix default sort
* Update app/javascript/dashboard/components/widgets/conversation/ConversationBasicFilter.vue
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
* Update app/javascript/dashboard/components/widgets/conversation/ConversationBasicFilter.vue
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
* Update app/javascript/dashboard/components/ChatList.vue
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
* Added translation
* Added review fixes
* Add more updates
* Code cleanups
* Update last_activity_at on message received event
* Cleans up the design for chatlist and icons
* Fix sort
* Remove inline styles
* Add tag along with the title
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
2023-05-05 17:08:32 -07:00
Tejaswini Chile
847d7ea082
feat: Add support to uncategorized articles ( #6912 )
2023-05-02 15:35:26 +05:30
Shivam Mishra
0874aeee2d
feat: priority UI ( #6966 )
2023-04-24 19:00:08 +05:30
Tejaswini Chile
e3193dcabc
feat: Link help center portal to an Inbox ( #6903 )
2023-04-24 12:49:52 +05:30
Shivam Mishra
17ff1f11a7
feat: better download for conversation traffic heatmap ( #6755 )
...
* feat: genearte report in a grid
* refactor: update API usage
* refactor: separate generate method
* refactor: abstract transform_data
* feat: annotate with comments
* feat: add explicit timezone
* feat: download data only in user timezone
* fix: dates included in heatmap
2023-04-11 09:40:54 +05:30
Pranav Raj S
91dc7733b0
feat: Use inbox image as avatar for the bot ( #6859 )
2023-04-07 13:25:18 -07:00
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
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
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