LearnNewsExamplesServices
Frontmatter
id8100
titleFix Store.add regression causing isLoaded to remain false
stateClosed
labels
bugairegression
assigneestobiu
createdAtDec 12, 2025, 11:51 PM
updatedAtDec 12, 2025, 11:58 PM
githubUrlhttps://github.com/neomjs/neo/issues/8100
authortobiu
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtDec 12, 2025, 11:58 PM

Fix Store.add regression causing isLoaded to remain false

Closed v11.17.0 bugairegression
tobiu
tobiu commented on Dec 12, 2025, 11:51 PM

Problem

A recent change to Neo.data.Store (specifically the optimization to return early when init=true in add()) introduced a regression where me.isLoaded was not being set to true in the eager instantiation path.

Broken Code:

if (init) {
    super.add(items);
    return items.map(i => me.get(i[me.getKeyProperty()])) // isLoaded never set!
}

This caused components relying on isLoaded (like ComboBox during initial value resolution) to fail, as they perceived the store as unloaded even after data was added.

Solution

Ensure me.isLoaded = true is set in the eager instantiation path as well.

if (init) {
    super.add(items);
    me.isLoaded = true; // Fix
    return items.map(i => me.get(i[me.getKeyProperty()]))
}
tobiu added the bug label on Dec 12, 2025, 11:51 PM
tobiu added the ai label on Dec 12, 2025, 11:51 PM
tobiu added the regression label on Dec 12, 2025, 11:51 PM
tobiu assigned to @tobiu on Dec 12, 2025, 11:51 PM
tobiu referenced in commit 13ae93e - "Fix Store.add regression causing isLoaded to remain false #8100" on Dec 12, 2025, 11:56 PM
tobiu closed this issue on Dec 12, 2025, 11:58 PM