Sivin Varghese
a3855a8d1d
feat(v4): Update the help center portal design ( #10296 )
...
Co-authored-by: Pranav <pranavrajs@gmail.com >
2024-10-23 22:09:36 -07:00
Sojan Jose
fba73c7186
chore: Fix issue with deleting interactive messages ( #10123 )
...
- fix issue with deleting interactive messages
2024-09-16 21:05:39 -07:00
Muhsin Keloth
467700499b
fix: message_type in widget conversation create end point ( #10120 )
...
The `before_type_cast` method sometimes returns a string for
`message_type`, creating inconsistencies in conversation create API
response.
2024-09-16 22:34:09 +05:30
Muhsin Keloth
528b984a8d
feat: Extend upload API end point to support external images ( #10062 )
2024-09-05 10:42:54 +05:30
Sojan Jose
b61ad6e41a
feat: Add APIs to manage custom roles in Chatwoot ( #9995 )
...
Co-authored-by: Pranav <pranavrajs@gmail.com >
2024-08-23 17:18:28 +05:30
Shivam Mishra
abc511d00f
fix: inconsistent OpenAI cache interface ( #10009 )
...
Signed-off-by: Shivam Mishra <scm.mymail@gmail.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2024-08-22 23:04:14 +05:30
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
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
Muhsin Keloth
023b3ad507
feat: Add APIs for linear integration ( #9346 )
2024-05-22 13:37:58 +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
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
Muhsin Keloth
631598b6b6
chore: Fix twilio inbox create transaction rollback ( #9181 )
...
chore: Fix twilio create transaction
2024-04-02 15:04:10 +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
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
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
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
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
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
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
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
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
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
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
980013abae
feat: Add delivery reports for live chat ( #8092 )
2023-10-12 20:48:20 +05:30