ML-169.5: cancel task as it breaks functionality
This commit is contained in:
+35
-1
@@ -1,9 +1,10 @@
|
|||||||
---
|
---
|
||||||
id: ML-169.5
|
id: ML-169.5
|
||||||
title: "Fix: Display toggle (grid/list) triggers full DB reload"
|
title: "Fix: Display toggle (grid/list) triggers full DB reload"
|
||||||
status: To Do
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: "2026-05-19 11:45"
|
created_date: "2026-05-19 11:45"
|
||||||
|
updated_date: "2026-05-19 15:13"
|
||||||
labels:
|
labels:
|
||||||
- perf
|
- perf
|
||||||
- fix
|
- fix
|
||||||
@@ -56,3 +57,36 @@ Remove the `load_and_assign_records` call from `handle_set_display`. Only `assig
|
|||||||
- [ ] #3 List view renders correctly after toggle
|
- [ ] #3 List view renders correctly after toggle
|
||||||
- [ ] #4 No regression in search/filter functionality after toggle
|
- [ ] #4 No regression in search/filter functionality after toggle
|
||||||
<!-- AC:END -->
|
<!-- AC:END -->
|
||||||
|
|
||||||
|
## Archive Reason
|
||||||
|
|
||||||
|
<!-- SECTION:ARCHIVE_REASON:BEGIN -->
|
||||||
|
|
||||||
|
Archived after validation showed the proposed optimization is not correct with the current
|
||||||
|
LiveView stream rendering structure.
|
||||||
|
|
||||||
|
Collection and wishlist render either `<.record_grid>` or `<.record_list>` behind
|
||||||
|
mutually exclusive `:if` branches, and both components consume the same `@streams.records`
|
||||||
|
stream. LiveView stream entries are consumed after render and the existing DOM holds the
|
||||||
|
streamed children. When the display mode changes, the previously mounted stream container
|
||||||
|
is removed and a different stream container is mounted. Without re-running
|
||||||
|
`stream(:records, records, reset: true)`, the newly mounted container has no queued stream
|
||||||
|
entries to insert, so only its static empty-state node remains and `only:block` displays
|
||||||
|
“No records yet”.
|
||||||
|
|
||||||
|
The DB reload avoided by this task is therefore also the step that rehydrates the stream
|
||||||
|
for the newly mounted container. A future optimization would need a different rendering
|
||||||
|
shape, such as keeping both containers mounted or avoiding conditional stream container
|
||||||
|
replacement, before removing the reload.
|
||||||
|
|
||||||
|
<!-- SECTION:ARCHIVE_REASON:END -->
|
||||||
|
|
||||||
|
## Final Summary
|
||||||
|
|
||||||
|
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
||||||
|
|
||||||
|
Reverted the proposed `handle_set_display/2` change and archived this task as not
|
||||||
|
actionable in the current UI structure. The reload is required because grid/list toggling
|
||||||
|
replaces the mounted stream container.
|
||||||
|
|
||||||
|
<!-- SECTION:FINAL_SUMMARY:END -->
|
||||||
Reference in New Issue
Block a user