Frontmatter
| id | 7685 |
| title | data.Store lazy record conversion does not update allItems collection |
| state | Closed |
| labels | bugai |
| assignees | tobiu |
| createdAt | Nov 1, 2025, 10:22 AM |
| updatedAt | Nov 1, 2025, 11:52 AM |
| githubUrl | https://github.com/neomjs/neo/issues/7685 |
| author | tobiu |
| commentsCount | 0 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Nov 1, 2025, 10:28 AM |
When a
data.Storeis filtered, it creates a secondaryallItemscollection to hold the master, unfiltered dataset. Theget()andgetAt()methods indata.Storehave logic to lazily convert raw data objects intoRecordinstances on-demand. Currently, this conversion only mutates the main_itemsarray (which contains the filtered data). It fails to propagate this conversion to theallItemscollection. As a result, if the filter is changed or cleared, the collection is rebuilt from theallItemscollection, which still contains the old raw data objects. The newly createdRecordinstances are lost. This can lead to loss of state and broken reactivity for components that rely onRecordinstances.