LearnNewsExamplesServices
Frontmatter
id7685
titledata.Store lazy record conversion does not update allItems collection
stateClosed
labels
bugai
assigneestobiu
createdAtNov 1, 2025, 10:22 AM
updatedAtNov 1, 2025, 11:52 AM
githubUrlhttps://github.com/neomjs/neo/issues/7685
authortobiu
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtNov 1, 2025, 10:28 AM

data.Store lazy record conversion does not update allItems collection

Closed v11.0.0 bugai
tobiu
tobiu commented on Nov 1, 2025, 10:22 AM

When a data.Store is filtered, it creates a secondary allItems collection to hold the master, unfiltered dataset. The get() and getAt() methods in data.Store have logic to lazily convert raw data objects into Record instances on-demand. Currently, this conversion only mutates the main _items array (which contains the filtered data). It fails to propagate this conversion to the allItems collection. As a result, if the filter is changed or cleared, the collection is rebuilt from the allItems collection, which still contains the old raw data objects. The newly created Record instances are lost. This can lead to loss of state and broken reactivity for components that rely on Record instances.

tobiu added the bug label on Nov 1, 2025, 10:22 AM
tobiu added the ai label on Nov 1, 2025, 10:22 AM
tobiu referenced in commit 34021a3 - "data.Store lazy record conversion does not update allItems collection #7685" on Nov 1, 2025, 10:28 AM
tobiu closed this issue on Nov 1, 2025, 10:28 AM
tobiu assigned to @tobiu on Nov 1, 2025, 11:52 AM