Sojan Jose
0331815cc5
feat: Integration with Captain (alpha) ( #9834 )
...
- Integration with captain (alpha)
Co-authored-by: Pranav <pranavrajs@gmail.com>
2024-07-25 14:24:04 -07:00
Shivam Mishra
5520bf68f3
feat: disable scripts on password reset page ( #9693 )
2024-07-01 11:11:57 +05:30
Muhsin Keloth
9046730206
feat: FCM HTTP v1 API changes ( #9629 )
...
Fixes https://linear.app/chatwoot/issue/CW-3210/legacy-firebase-changes
2024-06-18 10:38:06 +05:30
Shivam Mishra
da4b75a3af
feat: add Google login flow and inbox creation ( #9580 )
...
This PR adds the following changes
1. Refactor `microsoft/callbacks_controller` to move common logic to
`oauth_callback_controller`, most of the logic is re-used for Google
2. Add UI components, `googleClient` and I18n entries for Google login
3. Add Google callback and inbox creation
4. Add a `joinUrl` utility along with specs (need to move it to utils)
5. Add `GoogleConcern`, `Google::AuthorizationsController` and
`Google::CallbacksController`
> Note: The UI is hidden for now, so we can merge this without any
hiccups, to enable it just revert the commit `05c18de`
### Preview
https://github.com/chatwoot/chatwoot/assets/18097732/1606d150-4561-49dc-838d-e0b00fe49ce3
### Linear Tickers
[CW-3370](https://linear.app/chatwoot/issue/CW-3370 )
[CW-3371](https://linear.app/chatwoot/issue/CW-3371 )
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2024-06-07 16:37:46 +05:30
Shivam Mishra
eafd3ae44d
feat: new re-authorization flow for Microsoft ( #9510 )
...
This PR adds a cleaner re-authorization flow to Microsoft. This PR has
the following changes
1. Use `reauthorization_required` value for Microsoft Channel
2. Refactor `InboxReconnectionRequired` to reuse the `banner` component
3. Refactor `microsoft/Reauthorize.vue` to reuse
`InboxReconnectionRequired` component
4. Update `reauthorizable.rb` to update cache keys if the model has an
inbox
5. Update `microsoft/callbacks_controller.rb` to handle the
reauthorization case with a redirect to the inbox settings page if the
inbox already exists at the time of authorization.
## How Has This Been Tested?
- [x] Local Instance
- [ ] Staging Instance
- [x] Unit tests
## Pending Tasks
- [ ] ~Success Toast~ will do this in a follow-up PR with the screen
## Demo
The following video shows the whole process of creation and
re-authorization of the Microsoft channel
https://www.loom.com/share/e5cd9bd4439c4741b0dcfe66d67f88b3?sid=100f3642-43e4-46b3-8123-88a5dd9d8509
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2024-05-23 16:03:40 +05:30
Shivam Mishra
616e3a8092
feat: allow setting dashboard scripts from super_admin ( #9514 )
...
This PR allows setting scripts for `vueapp.html.erb` via super admin
config. This PR has the following changes
1. Allow `DASHBOARD_SCRIPTS` in internal config
2. Remove existing scripts from `vueapp.html.erb`
3. Add scripts from `GlobalConfig` to `vueapp.html.erb`
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2024-05-23 14:30:41 +05:30
Muhsin Keloth
35508feaae
feat: Linear front end ( #9491 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
Co-authored-by: iamsivin <iamsivin@gmail.com>
2024-05-23 11:58:24 +05:30
Pranav
87d92f73d4
feat: Improve Report API performance ( #9476 )
...
- Re-write the methods for clarity
- Remove the dependency on the ReportHelper class.
- Remove n+1 queries in the average metric time series data.
2024-05-22 17:34:24 -07:00
Muhsin Keloth
023b3ad507
feat: Add APIs for linear integration ( #9346 )
2024-05-22 13:37:58 +05:30
Shivam Mishra
f6650b5025
feat: move Azure config to installation_config ( #9481 )
...
This PR has the following changes
1. Add `AZURE_APP_ID` and `AZURE_APP_SECRET` to installation config
2. Add Microsoft config to `super_admin/features.yml`
3. Replace usage of `ENV.fetch` with `GlobalConfigService.load` for
fetch App ID and Secret
2024-05-20 11:52:42 +05:30
Muhsin Keloth
d649bd2dfd
feat: Add support for bulk snooze until ( #9360 )
2024-05-08 08:55:31 +05:30
Shivam Mishra
2ef767d60f
feat: exporting contacts takes the filters into account ( #9347 )
...
- This PR allows contacts to be exported using the current filter in CRM view
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2024-05-07 20:18:36 -07:00
jderecho
0d7773d88f
feat: Draft through API for Cross-Device Support ( #8018 )
...
- Add APIs for cross-device message drafts
ref: #6890
2024-05-02 18:42:18 -07:00
Shivam Mishra
78f94511ff
feat: add sitemap for help center ( #9280 )
...
* feat: start sitemap
* feat: add base url and last mod to sitemap
* fix: typo
* test: sitemap generation
* test: add draft articles
* fix: escape dots in regex matching
* feat: perpend protocol to the url
* feat: use ChatwootApp.help_center_root
* feat: don't parse the URL
* fix: function declaration
2024-04-26 21:36:39 +05:30
Sojan Jose
42a457ff5d
feat: Use embeddings in help center search ( #9227 )
2024-04-15 16:35:23 -07:00
Shivam Mishra
bce2a07d03
feat: do not send contact details to the widget ( #9223 )
...
* refactor: use has_email instead of email
* feat: remove usage of details directly in forms
* test: update payload
* test: fix transcript test
* refactor: use computed hasEmail
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2024-04-12 15:30:07 +05:30
Red
9013450e00
fix: Fixes 9012 Cancelling Google OAuth signup redirects user to /auth/sign_in ( #9022 )
...
Overriding new_user_session action to avoid rendering error directly in webpage
2024-04-10 12:12:48 +05:30
Sojan Jose
18bfda35b3
chore: Fix agent API returning 500 error ( #9193 )
...
- We were using the @user object in the view, which wasn't available when using api_access_token.
- Also replaced the object to @agent and added additional specs to confirm the right object
fixes: https://linear.app/chatwoot/issue/CW-3185/agent-create-api-throwing-500-response
ref: https://discord.com/channels/647412545203994635/1219928138163949568/1219928138163949568
2024-04-04 19:44:47 +05:30
Muhsin Keloth
631598b6b6
chore: Fix twilio inbox create transaction rollback ( #9181 )
...
chore: Fix twilio create transaction
2024-04-02 15:04:10 +05:30
Sojan Jose
4e28481f27
feat: Conversation API to return applied_sla and sla_events ( #9174 )
...
* chore: Add sla_events to push_event_data
* chore: Return SLA details in the API
* chore: feature lock sla push event data
* Update _conversation.json.jbuilder
* chore: rubocop fixes
2024-04-01 23:30:07 +05:30
Pranav
f78f278e2f
fix: Update validations for filter service ( #8239 )
...
- Refactor filter service for better readability and maintenance
- Add validations for the following:
- If an invalid attribute is passed, a custom exception InvalidAttribute will be thrown.
- If an invalid operator is passed, a custom exception InvalidOperator will be thrown.
- If an invalid value (currently checking only null check), a custom exception InvalidValue will be thrown.
Fixes: https://linear.app/chatwoot/issue/CW-2702/activerecordstatementinvalid-pginvalidtextrepresentation-error-invalid
Fixes: https://linear.app/chatwoot/issue/CW-2703/activerecordstatementinvalid-pginvaliddatetimeformat-error-invalid
Fixes: https://linear.app/chatwoot/issue/CW-2700/activerecordstatementinvalid-pgsyntaxerror-error-syntax-error-at-or
Co-authored-by: Sojan <sojan@pepalo.com>
2024-03-20 16:29:36 +05:30
Shivam Mishra
bd97226c95
fix: Locale not correct in root url when accessing help center with custom domain ( #9110 )
...
- Ensuring that SwitchLocale concern handles the case of custom domain for portals and set locale according to that
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2024-03-19 18:48:59 +05:30
Sojan Jose
3dae3ff3ad
feat: Conversation update API for sla_policy_id ( #8973 )
...
- Add an endpoint for updating conversation attributes (priority / sla_policy_id )
- Swagger spec
- minor chores around the conversation API/spec
Fixes: https://linear.app/chatwoot/issue/CW-2100/feat-backend-api-to-update-the-sla-of-a-conversation
2024-03-14 17:22:32 +05:30
Sojan Jose
881d4bf644
feat: Add backend APIs for the bot metrics ( #9031 )
...
Co-authored-by: Pranav <pranav@chatwoot.com>
2024-03-01 08:20:20 -08:00
Sojan Jose
773be6f8ec
feat: Interface to validate response_source ( #8894 )
...
- This PR adds a UI to validate the response source quality quickly. It also helps to test with sample questions and update responses in the database when missing.
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2024-02-26 20:20:12 +05:30
Sojan Jose
ae4c8d818f
feat: Ability to block contacts permanently ( #8922 )
...
Co-authored-by: Pranav <pranav@chatwoot.com>
2024-02-21 14:18:42 -08:00
Shivam Mishra
c031cb19d2
fix: downcase email before finding ( #8921 )
...
* fix: downcase email when finding
* feat: add `from_email` class
* refactor: use `from_email`
* feat: add rule to disallow find_by email directly
* chore: remove redundant test
Since the previous imlpmentation didn't do a case-insentive search, a new user would be created, and the error would be raised at the DB layer. With the new changes, this test case is redundant
* refactor: use from_email
2024-02-21 18:51:00 +05:30
CristianDuta
ebae547a60
feat: Add ability to resolve API channel conversations ( #8348 )
...
- Create a new endpoint to fetch a single conversation in client apis
- Create a new endpoint to resolve a single conversation in client apis
- Update swagger API definition to include missing endpoints
Fixes : #6329
Co-authored-by: Cristian Duta <Cristian.Duta@ti8m.ch>
2024-02-21 17:41:20 +05:30
Muhsin Keloth
e6cf8c39b7
feat: Update last_snoozed_at after the un-snooze notification ( #8943 )
2024-02-20 18:55:39 +05:30
Liam
5d9fb55370
feat: Export contact improvements ( #8895 )
...
This pull request enhances the export contacts feature by adding a confirmation step before exporting. Previously, clicking the export button would trigger the export action without confirmation.
Additionally, it ensures that only the intended recipient receives the export email, addressing the previous behaviour where all administrators received it.
Fixes : #8504
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2024-02-20 17:11:03 +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
Sojan Jose
7320957405
chore: Add facebook_api_version to global config ( #8965 )
...
- Ability to configure facebook_api_version from global config
Co-authored-by: Pranav <pranav@chatwoot.com>
2024-02-20 15:53:29 +05:30
Muhsin Keloth
cd06b2b337
fix: Inbox view Read/Snoozed display filters ( #8907 )
...
* fix: Notification filters
* Update notification_finder.rb
* Update notification_finder.rb
* Update notification_finder.rb
* fix: spec
* fix: specs
* Update notification_finder.rb
* fix: add more fixes
* Update notification_finder.rb
* fix: specs
* chore: better comments
* chore: removed filtering
* chore: refactoring
* fix: review fixes
* fix: API call
* chore: Minor fix
* Rename spec
* Fix params getting undefined
* Fix finder
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
Co-authored-by: iamsivin <iamsivin@gmail.com>
Co-authored-by: Pranav <pranav@chatwoot.com>
2024-02-17 13:59:25 +05:30
Pranav Raj S
1ce5cbe275
feat: Add endpoints to retrieve summary of team/agents over a period of time ( #8916 )
...
- Internal APIs to prototype reporting improvements.
2024-02-13 15:44:40 +05:30
Shivam Mishra
e662336eaf
feat: handle already invited user ( #8912 )
2024-02-13 08:51:42 +05:30
Shivam Mishra
657843960c
feat: account onboarding with clearbit ( #8857 )
...
* feat: add clearbit lookup
* chore: fix typo in .env.example
* refactor: split lookup to reduce cognitive complexity
* feat: add more fields to lookup
* feat: extend accounts controller
* feat: save extra data to custom_attributes
* feat: allow v2 update with custom_attributes
* feat: add update route
* refactor: reduce complexity
* feat: move update to v1 controller
* test: add locale test
* feat: remove update from routes
* test: update API for custom attributes
* test: all custom attributes
* fix: v2 tests
* test: enterprise accounts controller
* fix: clearbit payload
* fix: with modified env
* feat: allow custom attributes updates to profile
* refactor: reduce complexity
* feat: allow clearbit api key in installation config
* refactor: move clearbit to internal
* feat: allow clearbit
* chore: add display_title for June
* feat: allow more internal options
* refactor: use globalconfig to fetch clearbit token
* test: move response body to a factory
* refactor: update ops
* chore: remove clearbit from .env.example
* chore: apply suggestions from code review
Co-authored-by: sojan-official <sojan@chatwoot.com>
---------
Co-authored-by: sojan-official <sojan@chatwoot.com>
2024-02-12 23:21:42 +05:30
giquieu
227d99934e
feat: Agent bot cant assign conversations to teams ( #8015 )
...
Implemented so that the API can process priority and agent/team changes per Agent Bot.
Fixes: #7474
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2024-02-12 15:51:22 +05:30
Vishnu Narayanan
5036b28e45
chore: fix git_sha in instance health ( #8893 )
...
- Fix git-hash in super admin instance health page for Heroku installations
- Fix git boundary not set error for docker/heroku deployments which remove .git directory
2024-02-12 14:33:15 +05:30
Sojan Jose
7776b74126
chore: Apply fixes for items in rubocop_todo [CW-1806] ( #8864 )
...
This PR addresses several items listed in our rubocop_todo by implementing the necessary corrections and enhancements. As a result, we are now able to remove the rubocop_todo file entirely, streamlining our codebase and ensuring adherence to our coding standards.
fixes: https://linear.app/chatwoot/issue/CW-1806/chore-rubocop-audit
2024-02-07 13:36:04 +04:00
Shivam Mishra
8acc818f68
feat: allow bulk invite create via email ( #8853 )
...
* feat: add agent builder
* feat: use new agent builder
* refactor: validate limit
* test: agent limits
* feat: allow bulk create
* feat: allow bulk create
* refactor: rename current_user to inviter in AgentBuilder
* refactor: move limits tests to enterprise
* test: send correct params
* refactor: account builder returns both user and account_user
* chore: Revert "refactor: account builder returns both user and account_user"
This reverts commit 1419789871e8a3b8ff57af27fe53925b1486a839.
* feat: return user as is
* Update agent_builder.rb
- minor update
---------
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2024-02-06 09:04:04 +05:30
Muhsin Keloth
39e27d2a23
feat: Delete all/read notifications ( #8844 )
2024-02-05 13:33:05 +05:30
Shivam Mishra
0c35a77d4b
feat: Show a confirmation banner if the email is not verified ( #8808 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2024-02-02 12:31:29 -08:00
Shivam Mishra
07ea9694a3
feat: new accounts controller for signup+onboarding ( #8804 )
...
* feat: add v2 accounts controller
* feat: allow empty account and user name
* feat: ensure and is present for v1 signup
* test: remove validation checks
* chore: apply suggestions
* chore: revert en.yml formatting
* chore: line at EOF
* fix: routes
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2024-02-02 16:10:45 +05:30
Muhsin Keloth
d3c1fce761
feat: Inbox item actions ( #8838 )
...
* feat: Inbox item actions
* feat: add inbox id in push event data
* Update InboxList.vue
* feat: complete actions
* Update InboxList.vue
* Update InboxView.vue
* chore: code cleanup
* chore: fix specs
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2024-02-02 11:58:47 +05:30
Sojan Jose
390cd756e8
chore: Reorganize the installation config settings ( #8794 )
...
- Reorganizing installation config settings to move more configurations into UI from environment variables
- Changes to installation config to support premium plans in the enterprise edition
- Fixes the broken premium indicator in account/show and accounts/edit page
2024-01-31 16:48:42 +04:00
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
Nithin David Thomas
c29a9ad062
feat: Updates branding logo and name in public portal footer ( #8745 )
...
- Use white-label settings for Chatwoot Help Center
Co-authored-by: Sojan <sojan@pepalo.com>
2024-01-19 13:37:24 +04:00
Sojan Jose
ce8190dacf
fix: API error when using SuperAdmin token ( #8739 )
...
- Fixes the issue in release 3.5.0, which causes SuperAdmin tokens to throw error during API calls
Fixes : #8719
2024-01-18 18:49:32 +04:00
Muhsin Keloth
896473f03e
fix: Notification count is incorrect when the number of notifications exceeds the page size. ( #8723 )
...
- The notification count is incorrect when the number of notifications exceeds the page size.
2024-01-17 15:14:37 +04:00
Muhsin Keloth
818424259f
chore: Get all notification API improvments ( #8549 )
...
Co-authored-by: Sojan Jose <sojan@chatwoot.com>
2024-01-17 09:02:18 +05:30
Sojan Jose
316cf35795
chore: Add display manifest to whitelabel settings ( #8708 )
...
- Adds display manifest to white label settings
- Improve the app config rendering with options for display name and description
2024-01-16 09:50:23 +04:00
Shivam Mishra
56fbbe92b4
feat: trigger handoff when agent bot is the actor ( #8639 )
...
- This PR adds a feature to auto-trigger handoff events when an Agent bot toggles a conversation status from Pending to Open
Co-authored-by: Sojan <sojan@pepalo.com>
2024-01-05 15:26:52 -08:00
Sojan Jose
34675da6fa
feat: Settings screen for custom branding ( #8543 )
...
- Ability to configure Chatwoot custom branding from UI when using paid plans
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com>
2023-12-13 13:16:24 -08:00
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
Nithin David Thomas
f002870c6a
feat: Super admin design improvements ( #8517 )
...
- Revamp the super admin design
- Introduce a new settings page for support and billing settings
- Move the access tokens into users, agent bots and platform app show pages
Co-authored-by: Sojan <sojan@pepalo.com>
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-12-08 19:40:35 -08:00
Muhsin Keloth
449503bb94
feat: Snooze notification API ( #8439 )
2023-12-04 12:32:35 +05:30
Muhsin Keloth
bc6e3e598f
feat: Delete notification by id API ( #8430 )
2023-11-29 22:45:11 +05:30
Sivin Varghese
2d1f70eb79
feat: Update public portal colors with new design ( #8230 )
2023-11-23 08:16:52 +05:30
Sojan Jose
4fc5f765de
chore: Make super admin auth error readable ( #8406 )
...
- Remove the cryptic error for super admin auth and make it more readable
2023-11-22 17:26:08 -08:00
Sojan Jose
0e19a4196b
chore: Endpoint to purge portal logo ( #8365 )
2023-11-18 01:13:22 +05:30
Sivin Varghese
78398ee800
feat: Updated public portal header design ( #8089 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2023-11-08 17:56:59 -08:00
Muhsin Keloth
af7631d9f1
chore: Update MarkMessagesAsReadJob to accept delivered status ( #8319 )
2023-11-08 13:44:57 -08:00
Nithin David Thomas
3b84b0fc47
feat: Creates 404 page for public portal [CW-2727] ( #8293 )
...
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-11-04 04:59:44 +05:30
Nithin David Thomas
4999f7ed23
fix: Fixes wrong page size in category filter in articles page ( #8270 )
2023-11-02 15:19:19 +05:30
Muhsin Keloth
24fbab94c3
chore: Refactor MarkMessagesAsReadJob based on conversation id and time stamp ( #8217 )
...
- Mark all messages as read by providing the conversation ID and timestamp.
- For Instagram, ensure all previous messages that weren't marked as failed are now marked as read. This is because the read events are only triggered for the most recent message and not for any previous ones.
2023-10-27 15:21:39 -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
Muhsin Keloth
04c874fe35
feat: Add delivery reports for API channel ( #8116 )
2023-10-18 10:11:13 +05:30
Muhsin Keloth
980013abae
feat: Add delivery reports for live chat ( #8092 )
2023-10-12 20:48:20 +05:30
Vishnu Narayanan
ae52ca87aa
fix: Handle empty status in conversation controller ( #8091 )
...
Fixes CW-2644
2023-10-12 17:11:04 +05:30
Pranav Raj S
9e173fca3c
fix: Return 404 if conversation is nil ( #8098 )
2023-10-12 17:00:51 +05:30
Muhsin Keloth
0bc20873f6
feat: Add delivery status for Twilio Channel ( #8082 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-10-11 21:17:46 +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
Nithin David Thomas
b71a580573
feat: Adds dark theme support for public portal [CW-2525] ( #7979 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2023-10-04 11:56:00 +05:30
Sojan Jose
336af1ac9a
chore: Create client API conversations with custom attributes ( #8040 )
...
- Update client API create conversations endpoint to accept custom attributes as well.
2023-10-03 22:18:35 -07:00
Jordan Brough
08ced452e1
chore: Log errors handled by RequestExceptionHandler ( #8013 )
...
- Logging this info is invaluable when using logs to track down the reason why a particular request failed.
2023-09-30 19:46:58 -07:00
Muhsin Keloth
24fe3805d8
feat: Slack link unfurling ( #7940 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-09-29 19:35:56 +05:30
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
Muhsin Keloth
cbbe939662
fix: Set avatar for users(agent/contact) in slack channels ( #7960 )
2023-09-26 09:38:14 +05:30
Pranav Raj S
c16b801562
chore: Update the filter for articles in the widget ( #7961 )
2023-09-21 19:40:46 +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
Sojan Jose
0968aead6c
chore: Migration status in super admin ( #7938 )
2023-09-19 10:31:41 +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
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
Nithin David Thomas
a8009c7b39
fix: Allow Iframes requests on portal controller ( #7858 )
2023-09-06 14:25:03 +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
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
Vishnu Narayanan
65c4ad70e1
refactor: improve logging for channel callback controllers ( #7555 )
...
Co-authored-by: Tejaswini Chile <tejaswini@chatwoot.com>
2023-07-27 17:10:39 +05:30
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
Liam
6c1ee4d965
fix: Contacts page sort by created_at [CW-2262] ( #7584 )
...
Fixes the contacts page sort by created_at.
fixes : #7577
2023-07-26 18:37:30 +03:00
Pranav Raj S
a6a0e78bbe
feat: Sort articles based on views ( #7599 )
2023-07-24 20:27:43 -07:00
Pranav Raj S
fa7bbdb0b3
feat: Add support for plain design help center layout ( #7598 )
2023-07-25 05:13:52 +05:30
Pranav Raj S
ec65b43993
feat: Add support for API key authentication in Twilio ( #7523 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2023-07-14 19:20:54 -07: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
b57063a8b8
feat: Support dark mode in login pages ( #7420 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2023-07-01 07:49:52 +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
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
Pranav Raj S
4f8ce7b597
chore: Add support for dark mode logo ( #7378 )
2023-06-23 12:06:01 -07:00
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
Jordan Brough
5e807c5875
chore: Remove unneeded include EnsureCurrentAccountHelper ( #7339 )
...
This class inherits from Api::V1::Accounts::BaseController, which already includes EnsureCurrentAccountHelper and also sets up before_action :current_account.
2023-06-19 17:18:07 +05:30
Tejaswini Chile
9d0de04f7c
fix: set custom filter count in redis ( #7164 )
2023-06-19 16:10:03 +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
Pranav Raj S
b1a4907ede
fix: around_action not yielding is params are present ( #7259 )
2023-06-06 14:55:08 -07:00
TOMMY
9203b097d2
chore: Show chatwoot_edition in Instance details ( #7200 )
...
- Displays the chatwoot edition in the instance details
2023-06-05 17:32:21 +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
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
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
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
105f9a27d2
feat: more CSAT filters ( #7038 )
...
* refactor: use grid instead of flex
* refactor: let the parent layout decide the spacing
* feat: add a separate date-range component
* refactor: use new date-range component
* fix: destructure all options
* refactor: separate group by component
* refactor: better handle group by data
* fix: defaul group by
* refactor: variable naming
* refactor: use DATE_RANGE_OPTIONS directly
* chore: update platform in gemfile.lock
* refactor: trigger fetch on filter change
* refactor: remove redundant method
* refactor: simplify methods and emitting
* refactor: simplify filter logic
* refactor: simplify fetching
* refactor: imports
* refactor: prop name
* refactor: CSAT response to use new APIs
* refactor: use common filter event
* refactor: use computed value for validGroupBy
* refactor: better function names
* refactor: rename prop
* refactor: remove redundant props
* refactor: separate agents filter component
* feat: add labels filter
* feat: add inboxes filter
* fix: event
* refactor: send label and inbox along with request payload
* feat: add inbox filter
* feat: add inbox to download
* refactor: use request payload from computed property
* refactor: params
* feat: add team to csat filters
* feat: add team to csat filters
* feat: add filter for rating
* feat: reverse options
* feat: add labels for ratings and translations
* feat: update translation
* fix: margin and spacing
* fix: trailing whitespace
* feat: add tests for filters
* chore: move files
* feat: add try catch with alerts
* feat: update import
* fix: imports
* Updates broken imports
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com>
2023-05-18 22:50:46 +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
708bddf4db
feat: Refetch the latest messages on action cable reconnect in widget ( #6996 )
2023-05-12 14:05:22 +05:30
Pranav Raj S
ce3e38df0f
chore: Update the design of the help center portal ( #6775 )
2023-05-08 15:31:38 -07:00
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
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
Vishnu Narayanan
4505c5dda3
chore: add build id to settings page ( #6873 )
...
- Adds a build Id to the settings page
2023-04-18 00:35:35 +05:30
Shivam Mishra
ca2506a941
feat: allow sorting of articles ( #6833 )
...
* feat: sort by position
* chore: whitespace change
* feat: add border bottom color to list item
* feat: allow dragging articles
* feat: add migration to reorder all articles
* feat: add onsort method
* feat: finish UI sorting
* feat: show 50 per page in articles list
* feat: add article sorting methods
* feat: patch up reorder action with the API
* refactor: better naming
* chore: add comments
* feat: attach position to article before create
* feat: move article to end if moved between categories
* chore: add comments
* chore: update version
* fix: don't change position if previous category was nil
* fix: condition to trigger update on category change
* refactor: store new_position
* refactor: use grid instead of table
* feat: add snug spacing
* feat: add grab-icon
* feat: add grab icon to list
* refactor: show draggable only for category page
* feat: add update_positions as a class method
---------
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com>
2023-04-17 14:43:10 +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
Shivam Mishra
4d49b81f1c
fix: use response.status instead of success ( #6906 )
...
* fix: use response.status instead of success
* refactor: use sentry to capture exception
* refactor: explicitly convert to i
2023-04-14 15:22:08 +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
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
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
Shivam Mishra
2e9eead20c
feat: update contacts filter query ( #6802 )
...
- Update contacts API query to be faster
2023-04-02 13:23:01 +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
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
Pranav Raj S
eb7070d946
feat(poc): Disable widget based on country ( #6658 )
2023-03-14 09:09:57 -07:00
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
69a1c4527f
fix: Fix i18n issues with help center ( #6559 )
2023-02-27 17:45:57 -08:00