Muhsin Keloth
cbbe939662
fix: Set avatar for users(agent/contact) in slack channels ( #7960 )
2023-09-26 09:38:14 +05:30
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
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
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
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
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
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
Pranav Raj S
a6a0e78bbe
feat: Sort articles based on views ( #7599 )
2023-07-24 20:27:43 -07:00
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
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
Tejaswini Chile
9d0de04f7c
fix: set custom filter count in redis ( #7164 )
2023-06-19 16:10:03 +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
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
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
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
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
3a7633b564
feat: API to create HMAC verified conversations ( #7209 )
...
Fixes : #6744
2023-05-29 21:57:24 +05:30
Tejaswini Chile
d481b9fbcf
feat: Limit the number of custom filters per user ( #7101 )
2023-05-22 18:03:15 +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
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
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
Tejaswini Chile
847d7ea082
feat: Add support to uncategorized articles ( #6912 )
2023-05-02 15:35:26 +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
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
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
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
e69e0bc984
Add status reopen activity message for api channel ( #6839 )
2023-04-10 19:12:20 +05:30
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
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
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
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