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
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
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
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
Tejaswini Chile
ec04ddc725
Fallback name branch ( #6591 )
2023-03-03 12:26:59 +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
b141fc1289
fix: Fetch categories by locale ( #6557 )
2023-02-27 09:12:14 -08:00
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
Vishnu Narayanan
71f2b27728
fix: ActiveRecord::RecordNotFound Couldn't find Channel::WebWidget ( #6523 )
...
* fix: resucue ActiveRecord::RecordNotFound for webwidget controller
* chore: add rails.log
2023-02-23 19:16:07 +05:30
Vishnu Narayanan
930863b25b
fix: sentry CHATWOOT-37A ActiveRecord::RecordNotUnique ( #6496 )
...
* fix: sentry CHATWOOT-37A #6457
* chore: add spec
---------
Co-authored-by: Sojan Jose <sojan@pepalo.com >
2023-02-21 09:34:51 +05:30
Shivam Mishra
7be2ef3292
feat: Google OAuth for login & signup ( #6346 )
...
This PR adds Google OAuth for all existing users, allowing users to log in or sign up via their Google account.
---------
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
Co-authored-by: Fayaz Ahmed <15716057+fayazara@users.noreply.github.com >
Co-authored-by: Sojan <sojan@pepalo.com >
2023-02-16 11:12:02 +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
Pranav Raj S
98ff185d42
chore: Add formatting for the view count ( #6447 )
2023-02-13 14:29:14 -08:00
Shubham Kumar
29025759d6
feat: Add webhook events for contact created, updated ( #6415 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-02-13 13:28:27 -08:00
Tejaswini Chile
c5b245977a
Added one more endpoint to attach tempfile and get logo ( #6407 )
2023-02-09 14:05:45 +05:30
Shivam Mishra
f8aa544aae
fix: order for canned response ( #6400 )
...
* feat: order canned response
Order canned responses by short_code match first and then with content
* Added specs
---------
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-02-06 12:53:48 -08:00
Tejaswini Chile
2ab0b8552a
fix: Identity JSON response header ( #6326 )
2023-02-02 11:01:18 +05:30
Vishnu Narayanan
b1af814eab
feat: add chatwoot instance status in superadmin ( #6045 )
...
* feat: add chatwoot instance status in superadmin
* feat: add redis metrics to instance health page
* chore: fix rubocop
* chore: rescue redis no connection
* chore: add rspec
* chore: refactor
* feat: add instance health to /api
* chore: rescue postgres
* chore: fix spec
2023-01-30 18:37:51 +05:30
Vishnu Narayanan
b1ec67d110
chore: upgrade ruby to 3.1.3 ( #5555 )
...
* chore: update to ruby 3.1.3
* chore: ping docker version to alpine3.16 for nodev16.x
Starting with Node 17, nodejs switched to OpenSSL3. The docker builds
are installing node18.xx with alpine-3.1.3.
From Node.js 17's announcement post:
If you hit an ERR_OSSL_EVP_UNSUPPORTED error in your application
with Node.js 17, it’s likely that your application or a module you’re
using is attempting to use an algorithm or key size which is no longer
allowed by default with OpenSSL 3.0. A new command-line option,
--openssl-legacy-provider, has been added to revert to the legacy
provider as a temporary workaround for these tightened restrictions.
Looks like a webpack issue. This is fixed in webpacl 5+ and we are on
webpack4 at the moment.
Solutions
Upgrade webpack.
Pin nodejs version to be 16.x.x
Use --openssl-legacy-provider as a workaround.
Pin docker version to alpine3.16 branch to have node16.x by default
ref:
https://github.com/chatwoot/chatwoot/pull/5555#issuecomment-1379778532
* chore: update webmock
* chore: fix ruby gem path in dockerfile
* chore: switch to node16 in circleci
* chore: update ruby version in linux installer script
* chore: update ruby version in linux installer script
* chore: fix circleci
* chore: fix circleci
* feat: upgrade node version to 16.x in linux installer
* chore: update systemd files
Co-authored-by: Sojan Jose <sojan@chatwoot.com >
2023-01-24 23:55:07 +05:30
Tejaswini Chile
83ea2a87e2
Microsoft Re-authorization flow ( #6268 )
2023-01-19 01:06:01 +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
ffb4bd0109
feat: Add the support for video calls with Dyte in the live-chat widget ( #6208 )
...
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
Co-authored-by: iamsivin <iamsivin@gmail.com >
2023-01-09 11:52:31 -08:00