mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-01 11:37:58 +00:00
feat(perf): update query to reduce N+1 impact [CW-1926] (#7228)
* feat: update query to reduce N+1 impact * feat: remove channel eager loading fixes the error: ActiveRecord::EagerLoadPolymorphicError Exception: Cannot eagerly load the polymorphic association :channel * test: fix search test * chore: revert change
This commit is contained in:
@@ -155,9 +155,9 @@ class ConversationFinder
|
||||
end
|
||||
|
||||
def conversations
|
||||
@conversations = @conversations.includes(
|
||||
:taggings, :inbox, { assignee: { avatar_attachment: [:blob] } }, { contact: { avatar_attachment: [:blob] } }, :team, :contact_inbox
|
||||
)
|
||||
@conversations = @conversations.includes(:taggings, :inbox,
|
||||
{ assignee: [{ account_users: [:account] }, { avatar_attachment: [:blob] }] },
|
||||
{ contact: { avatar_attachment: [:blob] } }, :team, :contact_inbox, :messages)
|
||||
sort_by = SORT_OPTIONS[params[:sort_by]] || SORT_OPTIONS['latest']
|
||||
@conversations.send(sort_by).page(current_page)
|
||||
end
|
||||
|
||||
@@ -22,7 +22,7 @@ if conversation.messages.first.blank?
|
||||
elsif conversation.unread_incoming_messages.count.zero?
|
||||
json.messages [conversation.messages.includes([{ attachments: [{ file_attachment: [:blob] }] }]).last.try(:push_event_data)]
|
||||
else
|
||||
json.messages conversation.unread_messages.includes([:user, { attachments: [{ file_attachment: [:blob] }] }]).last(10).map(&:push_event_data)
|
||||
json.messages conversation.unread_messages.includes([{ attachments: [{ file_attachment: [:blob] }] }]).last(10).map(&:push_event_data)
|
||||
end
|
||||
|
||||
json.account_id conversation.account_id
|
||||
|
||||
Reference in New Issue
Block a user