ML-169.5: cancel task as it breaks functionality

This commit is contained in:
Claudio Ortolina
2026-05-19 15:16:55 +01:00
parent be371cbf4e
commit 78670268d5
@@ -1,58 +0,0 @@
---
id: ML-169.5
title: "Fix: Display toggle (grid/list) triggers full DB reload"
status: To Do
assignee: []
created_date: "2026-05-19 11:45"
labels:
- perf
- fix
dependencies: []
references:
- >-
backlog/documents/doc-27 -
Phase-4-Performance-Audit-Low-Hanging-Fruit-Findings.md
modified_files:
- lib/music_library_web/live_helpers/index_actions.ex
- lib/music_library_web/live/collection_live/index.ex
- lib/music_library_web/live/wishlist_live/index.ex
parent_task_id: ML-169
priority: high
ordinal: 26000
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Fix performance issue where toggling between grid and list display views triggers a full FTS database reload.
## Problem
`handle_set_display` in `index_actions.ex` calls `load_and_assign_records/2` which re-executes the full FTS search query (`search_records_count` + `search_records`). The toggle only changes a CSS layout class (`@display == :grid` vs `@display == :list`) — no data changes.
## Impact
Every grid/list toggle wastes 2 FTS queries. This is a common user interaction (clicking the view switcher button).
## Files
- `lib/music_library_web/live_helpers/index_actions.ex:136-143``handle_set_display/2` calls `load_and_assign_records`
- `lib/music_library_web/live/collection_live/index.ex:336``handle_event("set_display")`
- `lib/music_library_web/live/wishlist_live/index.ex:259``handle_event("set_display")`
## Fix
Remove the `load_and_assign_records` call from `handle_set_display`. Only `assign(:display, mode)` is needed. The existing `:if={@display == :grid}` / `:if={@display == :list}` conditionals already handle showing/hiding the appropriate view.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Grid/list toggle no longer triggers DB queries (verified via QueryReporter)
- [ ] #2 Grid view renders correctly after toggle
- [ ] #3 List view renders correctly after toggle
- [ ] #4 No regression in search/filter functionality after toggle
<!-- AC:END -->