Sojan Jose
58e78621ba
chore: Custom Roles to manage permissions [ UI ] ( #9865 )
...
In admin settings, this Pr will add the UI for managing custom roles (
ref: https://github.com/chatwoot/chatwoot/pull/9995 ). It also handles
the routing logic changes to accommodate fine-tuned permissions.
---------
Co-authored-by: Pranav <pranavrajs@gmail.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2024-09-17 11:40:11 -07:00
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
Pranav
9de8c27368
feat: Use vitest instead of jest, run all the specs anywhere in app/ folder in the CI ( #9722 )
...
Due to the pattern `**/specs/*.spec.js` defined in CircleCI, none of the
frontend spec in the folders such as
`specs/<domain-name>/getters.spec.js` were not executed in Circle CI.
This PR fixes the issue, along with the following changes:
- Use vitest instead of jest
- Remove jest dependancies
- Update tests to work with vitest
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2024-07-10 08:32:16 -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
Sivin Varghese
af90f21cfd
feat: Reconnect logic ( #9453 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2024-06-03 15:54:19 +05:30
Sivin Varghese
e3eca47c31
feat: Split reconnect logic PR (store) ( #9520 )
...
# Pull Request Template
## Description
This PR includes store filter parts split from this [Reconnect
PR](https://github.com/chatwoot/chatwoot/pull/9453 )
2024-05-30 12:29:55 +05:30
Muhsin Keloth
f83af33b87
feat: Add title while linking the linear issue ( #9529 )
2024-05-23 13:32: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
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
Muhsin Keloth
c05a79cf61
fix: Add more filters for SLA download reports ( #9231 )
...
Co-authored-by: iamsivin <iamsivin@gmail.com >
2024-04-16 09:00:52 +05:30
Sivin Varghese
3b6ae772bf
feat: SLA report filter ( #9218 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2024-04-12 11:03:18 +05:30
Muhsin Keloth
727fa67735
feat: SLA reports store ( #9185 )
...
- Added sla reports actions, getters and mutations.
2024-04-03 12:53:31 +05:30
Sojan Jose
89d0b2cb6e
feat: Add the bot performance reports UI ( #9036 )
...
Co-authored-by: Pranav <pranav@chatwoot.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2024-03-14 23:04:14 -07:00
Vishnu Narayanan
cc47ccaa2c
feat(ee): Add SLA management UI ( #8777 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Pranav <pranav@chatwoot.com >
2024-02-20 23:03:22 -08:00
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
Nithin David Thomas
a902b49bc5
feat: Adds bulk_invite api for onboarding view ( #8931 )
...
- New API for bulk email invite
2024-02-16 17:01:27 +05:30
Sivin Varghese
57dd979a14
feat: Inbox list filter ( #8880 )
...
* feat: Inbox list filter
* fix: routes after delete/unread
* fix: Specs
* feat: Handle sort in frontend
* chore: Minor fixes
* chore: Minor fix
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2024-02-08 12:11:01 +05:30
Sivin Varghese
9e0468cd73
feat: Inbox header actions (Snooze/Delete) ( #8858 )
...
* feat: Inbox header actions (Snooze/Delete)
* chore: Minor fix
* chore: Fix eslint
* Update inboxHotKeys.js
* feat: custom snooze
* Update actions.spec.js
* chore: Clean up
* chore: add snoozed_until to notification end point
* chore: Minor fix
* chore: Minor style fix
* chore:Clean up
* chore: review fixes
* chore: Minor fix
* chore: Adds alert
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2024-02-06 08:54:15 +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
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
Pranav Raj S
766698cb3a
chore: Upgrade @june-so/analytics-next, js-cookie to the latest version ( #8799 )
...
This is a small change, upgrading 2 packages to the latest version. getJSON is removed from the latest version, I've added a patch for the same across the codebase.
fixes: https://linear.app/chatwoot/issue/CW-3035/upgrade-dependencies
2024-01-29 11:41:42 +04:00
Sivin Varghese
3adaa2d602
fix: Retry message not working if the conversation has an external issue ( #8529 )
2023-12-13 15:46:10 +05:30
Nithin David Thomas
0af27a2387
feat: Adds support for logo in portal settings page [CW-2585] ( #8354 )
2023-11-17 19:58:27 -08:00
Nithin David Thomas
23ea829510
chore: Refactors help center article url helper ( #8269 )
2023-11-04 04:18:34 +05:30
Shivam Mishra
b9694a0818
feat: support reply to for Telegram ( #8105 )
...
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-10-20 13:14:20 +05:30
Pranav Raj S
6b2ed4fe79
fix: Add reset password for edit agent screen ( #8130 )
2023-10-17 12:54:05 -07:00
Shivam Mishra
a88d155dd7
feat: update tool-chain to latest ( #7975 )
...
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
2023-09-27 14:02:34 +05:30
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
Shivam Mishra
59b1d59574
fix: idb is not available in firefox private mode [CW-2217] ( #7524 )
2023-07-14 13:35:30 +05:30
Shivam Mishra
a940f4c1d2
feat: Allow label suggestions with OpenAI APIs ( #7428 )
2023-07-10 14:40:54 +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
Shivam Mishra
28e7a5d228
fix: CC conditions when the last email is from someone else ( #7010 )
2023-06-28 20:28:44 -07:00
Pranav Raj S
86b2896333
feat: Show alerts when the limit is reached in accounts ( #7323 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2023-06-15 20:47:11 -07:00
Tejaswini Chile
23ca6d56f9
feat: Contact Exports ( #7258 )
2023-06-13 09:18:43 +05:30
Sivin Varghese
b333d0c986
feat: Attachments view ( #7156 )
...
* feat: Attachments view with key shortcuts and dynamically updates when user delete or sent new attachments
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-06-05 19:21:47 +05:30
Shivam Mishra
9c6c19c3e5
fix: CSAT filter metrics rendering & conversation reports not working [CW-1840, CW-1818] ( #7170 )
...
* fix: emoji rendering for CSAT
* feat: add tests for CSAT Metrics
* fix: allow rating in metrics
* refactor: hide satisfaction score & total response chart if rating filter is enabled
* refactor: optional chaining in group by
* fix: spacing using autofill
* test: update csat metrics tests
* test: CSAT metric card
2023-05-23 16:47:04 +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
86384bf876
feat: Reply suggestion and summary generation using OpenAI ( #7029 )
...
Add `reply_suggestions` and `summary_generation` options for OpenAI integration
Fixes: https://linear.app/chatwoot/issue/CW-1595/frontend-for-generating-conversation-summary
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
Co-authored-by: Sojan Jose <sojan@pepalo.com >
2023-05-10 17:50:37 +05:30
Muhsin Keloth
59433d9d3c
feat: Adds the ability to sort conversations ( #6853 )
...
* Add sort filter
* Change UI
* Change filter
* Complete sort by filters
* Style fixes
* Fix default sort
* Update app/javascript/dashboard/components/widgets/conversation/ConversationBasicFilter.vue
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
* Update app/javascript/dashboard/components/widgets/conversation/ConversationBasicFilter.vue
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
* Update app/javascript/dashboard/components/ChatList.vue
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
* Added translation
* Added review fixes
* Add more updates
* Code cleanups
* Update last_activity_at on message received event
* Cleans up the design for chatlist and icons
* Fix sort
* Remove inline styles
* Add tag along with the title
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Pranav Raj S <pranav@chatwoot.com >
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
2023-05-05 17:08:32 -07:00
Nithin David Thomas
402428fb4d
feat: Splits search api by resources to improve query time [cw-47] ( #6942 )
...
* feat: Splits search api by resources to improve query time
* Review fixes
* Spacing fixes
* Update app/javascript/dashboard/modules/search/components/SearchView.vue
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
* Review fixes
* Refactor searchview
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2023-04-25 17:59:38 +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
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
9e2f991484
feat: audit logs UI ( #6803 )
...
* feat: init auditlogs ui
* chore: add api
* fix: action
* chore: add action,username,time
* feat: add pagination support
* chore: format time
* chore: refactor
* chore: refactor auditlogs api response
* chore: update icon
* chore: rubocop fixes
* Fixes the way meta is handled in store
* Fixes meta not appearing issue
---------
Co-authored-by: Sojan Jose <sojan@pepalo.com >
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
2023-04-17 19:11:05 +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
Nithin David Thomas
09ce85b30d
Chore: moves localstorage helper as a shared utility ( #6838 )
...
* Chore: moves localstorage helper as a shared utility and refactors constants
* Refactors constants file
* Fixes merge conflicts
* Delete constants.js
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2023-04-11 15:50:46 +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
b7d0016d99
fix: inconsistent usage of snake_case and camelCase ( #6824 )
2023-04-04 16:22:45 +05:30