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
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
Pranav Raj S
d666afd757
chore: Refactor messages to support right click context menu ( #6748 )
2023-03-24 13:49:44 -07:00
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
Shivam Mishra
4673cf8cf1
fix: timing in the API ( #6633 )
...
* fix: timing in the API
* test: fix params
2023-03-09 00:40:38 +05:30
Shivam Mishra
c88792f4a3
feat: add Conversation traffic heatmap ( #6508 )
...
* feat: add heatmap component
* feat: add heatmap component
* feat: add dummy heatmap
* refactor: compact tiles
* feat: allow hour
* feat: wire up heatmap query
* feat: allow arbritrary number of weeks
* feat: update position of the widget
* chore: update heatmap title
* refactor: move traffic heatmap to overview
* chore: add comment for perf
* feat: add reconcile logic for heatmap fetching
Fetching the data for the last 6 days all the time is wasteful
So we fetch only the data for today and reconcile it with the data we already have
* refactor: re-org code for new utils
* feat: add translations
* feat: translate days of the week
* chore: update chatwoot utils
* feat: add markers to heatmap
* refactor: update class names
* refactor: move flatten as a separate method
* test: Heatmap Helpers
* chore: add comments
* refactor: method naming
* refactor: use heatmap-level mixin
* refactor: cleanup css
* chore: remove log
* refactor: reports.js to use object instead of separate params
* refactor: report store to use new API design
* refactor: rename HeatmapHelper -> ReportsDataHelper
* refactor: separate clampDataBetweenTimeline
* feat: add tests
* fix: group by hour
* feat: add scroll for smaller screens
* refactor: add base data to reconcile with
* fix: tests
* fix: overflow only on smaller screens
* feat: translate tooltip
* refactor: simplify reconcile
* chore: add docs
* chore: remoev heatmap from account report
* feat: let Heatmap handle loading state
* chore: Apply suggestions from code review
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
* feat: update css
* refactor: color assignment to range
* feat: add short circuit
* Update app/javascript/dashboard/routes/dashboard/settings/reports/components/Heatmap.vue
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com >
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2023-03-07 09:01:58 +05:30