Muhsin Keloth
429d281501
fix: Handle OpenAI API errors ( #9560 )
2024-08-22 10:24:13 +05:30
Pranav
8696a4c135
chore: Use installation config URL for captain app URL ( #9874 )
...
Use `InstallationConfig.where(name: 'CAPTAIN_APP_URL')` instead of
`ENV.fetch('CAPTAIN_APP_URL', '')`
2024-08-02 13:17:55 +05:30
Sojan Jose
829bb842fd
feat: Generate SSO URL in Chatwoot, move Captain to primary tab ( #9871 )
...
- Generate SSO URL in Chatwoot, move Captain to the primary tab
Co-authored-by: Pranav <pranavrajs@gmail.com >
2024-08-01 19:22:34 -07:00
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
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
Muhsin Keloth
023b3ad507
feat: Add APIs for linear integration ( #9346 )
2024-05-22 13:37:58 +05:30
Sojan Jose
d54492f7b5
chore: Add debug statement in spec ( #9466 )
...
- Add a debug statement to check the failed specs
2024-05-14 14:19:02 -07:00
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
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
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
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
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
ae4c8d818f
feat: Ability to block contacts permanently ( #8922 )
...
Co-authored-by: Pranav <pranav@chatwoot.com >
2024-02-21 14:18:42 -08:00
Muhsin Keloth
e6cf8c39b7
feat: Update last_snoozed_at after the un-snooze notification ( #8943 )
2024-02-20 18:55:39 +05:30
Muhsin Keloth
c5c0845151
feat: Add labels, status and priority in notification push_event_data ( #8972 )
2024-02-20 17:17:25 +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
94892e7168
chore: Fix flaky spec relying on unguaranteed order ( #8956 )
2024-02-16 12:11:39 -08:00
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
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
a861257f73
chore: Fix flaky contacts spec ( #8773 )
...
- The ordering was not guaranteed; hence, the specs were failing randomly. Made changes to the expectations accordingly
2024-01-24 13:58:27 +04:00
Shivam Mishra
e39c14460b
fix: validate url for Dashboard Apps [CW-2979] ( #8736 )
2024-01-18 17:48:30 +05:30
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
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
Sivin Varghese
27239ae14a
feat: Adds API for retry messages in conversation ( #8518 )
2023-12-11 09:33:39 +05:30
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
Sojan Jose
0e19a4196b
chore: Endpoint to purge portal logo ( #8365 )
2023-11-18 01:13:22 +05:30
Muhsin Keloth
af7631d9f1
chore: Update MarkMessagesAsReadJob to accept delivered status ( #8319 )
2023-11-08 13:44:57 -08:00
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
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
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
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
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
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
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
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
Pranav Raj S
022f4f899f
Revert "feat: Support Azure single-tenant application using the Graph… ( #7436 )
2023-06-29 16:50:18 -07:00