Improve speed of transactions page (#1752)

* Make demo data more realistic

* Fix N+1 transactions query

* Lint fixes

* Totals query

* Consolidate stats calcs

* Fix preload

* Fix filter clearing

* Fix N+1 queries for family sync detection

* Reduce queries for rendering transfers

* Fix tests

* Remove flaky test
This commit is contained in:
Zach Gollwitzer
2025-01-31 19:08:21 -05:00
committed by GitHub
parent 53f4b32c33
commit 2c2b600163
22 changed files with 209 additions and 195 deletions

View File

@@ -8,10 +8,10 @@ module Account::EntriesHelper
transfers.map(&:transfer).uniq
end
def entries_by_date(entries, selectable: true, totals: false)
entries.reverse_chronological.group_by(&:date).map do |date, grouped_entries|
def entries_by_date(entries, transfers: [], selectable: true, totals: false)
entries.group_by(&:date).map do |date, grouped_entries|
content = capture do
yield grouped_entries
yield [ grouped_entries, transfers.select { |t| t.outflow_transaction.entry.date == date } ]
end
next if content.blank?