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
Tejaswini Chile
8f4d4798c2
feat: Backend changes for article and categories ordering ( #6655 )
2023-03-13 17:39:07 +05:30
Nithin David Thomas
88ed028a06
feat: Revamps search to use new search API's ( #6582 )
...
* feat: Revamps search to use new search API's
* Fixes search result spacing
* Fixes message result
* Fixes issue with empty search results
* Remove console errors
* Remove console errors
* Fix console errors, canned responses
* Fixes message rendering on results
* Highlights search term
* Fixes html rendering for emails
* FIxes email rendering issues
* Removes extra spaces and line breaks
---------
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-03-03 20:58:21 +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
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
7044eda281
chore: Add controllers for conversation participants ( #6462 )
...
Co-authored-by: Aswin Dev P.S <aswindevps@gmail.com >
Co-authored-by: Sojan Jose <sojan@chatwoot.com >
2023-02-15 16:33:31 -08:00
Sojan Jose
f0fbaacaf7
chore: Switch to csv-safe gem to avoid csv injection ( #6444 )
2023-02-13 13:38:36 -08:00
Fayaz Ahmed
8ac1cab27e
feat: Show contact created date in contact panel ( #6364 )
...
* feat: Show contact created date in contact panel
* Add created at in Contacts table
* Moves created at info as tooltip
---------
Co-authored-by: Nithin David <1277421+nithindavid@users.noreply.github.com >
2023-02-04 10:40:23 +05:30
Sivin Varghese
9782f71bdf
feat: Shows the last activity, created at timestamp in the same row ( #6267 )
2023-01-23 21:50:16 +05:30
Pranav Raj S
f6a56edf86
feat: Add the UI flow for Microsoft Oauth ( #6243 )
2023-01-17 17:48:14 +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
2dfe38ae4d
chore: Cleanup feature flags ( #6096 )
...
- Add more feature flags for CRM, auto_resolution, and reports
- Add a SuperAdmin link in the sidebar if the user is a super-admin
- SuperAdmin could view all the features on an account irrespective of whether the feature is enabled.
2022-12-19 22:38:30 +05:30
Pranav Raj S
aaacf9d4d2
feat: Allow users to disable marking offline automatically ( #6079 )
...
Co-authored-by: Nithin David <1277421+nithindavid@users.noreply.github.com >
2022-12-16 11:59:27 -08:00
Tejaswini Chile
3083f74d45
fix: Update inbox json, removing password ( #5981 )
...
- Filter restricted inbox attributes in APIs for agents
Fixes chatwoot/product#668
Co-authored-by: Sojan Jose <sojan@pepalo.com >
2022-11-30 13:04:46 +03:00
Nithin David Thomas
85b52a1d3f
feat: Add a view for unattended conversations ( #5890 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2022-11-29 08:18:00 -08:00
Clairton Rodrigo Heinzen
edcbd53425
feat: Read/Delivery status for Whatsapp Cloud API ( #5157 )
...
Process field statuses received in webhook WhatsApp cloud API
ref: #1021
Co-authored-by: Sojan <sojan@pepalo.com >
Co-authored-by: Nithin David <1277421+nithindavid@users.noreply.github.com >
2022-11-29 15:51:37 +03:00
Sojan Jose
b05d06a28a
feat: Ability to lock to single conversation ( #5881 )
...
Adds the ability to lock conversation to a single thread for Whatsapp and Sms Inboxes when using outbound messages.
demo: https://www.loom.com/share/c9e1e563c8914837a4139dfdd2503fef
fixes : #4975
Co-authored-by: Nithin David <1277421+nithindavid@users.noreply.github.com >
2022-11-25 13:01:04 +03:00
Sojan Jose
606fc9046a
feat: Allow users to mark a conversation as unread ( #5924 )
...
Allow users to mark conversations as unread.
Loom video: https://www.loom.com/share/ab70552d3c9c48b685da7dfa64be8bb3
fixes : #5552
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2022-11-24 10:55:45 +03:00
Pranav Raj S
66044a0dc3
feat: Show last non-activity messages in the chat list ( #5864 )
2022-11-16 15:43:55 -08:00