* 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>
Fixes: chatwoot/product#796
This migration adds a trigram index to the tags table on the name column. This is used to speed up the search for tags by name, this is a heavy sub-query when generating reports where labels are involved.
Trigram indexes are used to speed up LIKE queries; they are not used for equality queries. This is because the index is not a btree index, it is a GIN index. This means that the index is not ordered and so cannot be used for equality queries.
Read more: https://www.postgresql.org/docs/current/pgtrgm.html
The index is created concurrently: https://thoughtbot.com/blog/how-to-create-postgres-indexes-concurrently-in
---------
Co-authored-by: Sojan <sojan@pepalo.com>
* feat: ignore bots in avg_first_response_time
* feat: ignore bots in avg_first_response count
* feat: add bot handoff event
* feat: add handoff event listener and reporting event
* fix: ignore agent bot in first response
* refactor: calculate first_response with last handoff
* refactor: method defn order
* test: new reporting events
* feat: Revert "feat: ignore bots in avg_first_response count"
This reverts commit de1977c219a2e7a9180dd02272244fe3b3f7ce89.
* feat: Revert "feat: ignore bots in avg_first_response_time"
This reverts commit bb9171945d5e3b2f6015f4f96dd1b76b3efb6987.
* fix: business hour calculation for first_reply
* fix: event_start_time for first_response
* feat: add migration to recompute first_responses
* refactor: separate mute helpers for conversation
* refactor: rename migration
* refactor: migration script
* fix: migration typo
* fix: typo in query
* feat: update schema.rb
* Revert "feat: update schema.rb"
This reverts commit 353ef355f2d956dd219907bb66982dc90ca5d896.
* feat: update schema
* refactor: update events as a batch job
* fix: ignore the event if value is negative
* feat: don't create a new hand-off if it's already present
* refactor: break the action into smaller chunks
* refactor: update reporting listener spec
Handle the case to ensure extra bot handoffs are not created for a give conversation
* fix: import error
---------
Co-authored-by: Vishnu Narayanan <vishnu@chatwoot.com>
- Adds the backend APIs required for Microsoft Email Channels
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
Co-authored-by: Sojan <sojan@pepalo.com>
- Add more feature flags for CRM, auto_resolution, and reports
- Add a SuperAdmin link in the sidebar if the user is a super-admin
- SuperAdmin could view all the features on an account irrespective of whether the feature is enabled.
- Support rendering articles over frontend URL
- Support rendering articles over help center URL
- Support rendering help center home page in the custom domain root