Frontmatter
| id | 8100 |
| title | Fix Store.add regression causing isLoaded to remain false |
| state | Closed |
| labels | bugairegression |
| assignees | tobiu |
| createdAt | Dec 12, 2025, 11:51 PM |
| updatedAt | Dec 12, 2025, 11:58 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8100 |
| author | tobiu |
| commentsCount | 0 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Dec 12, 2025, 11:58 PM |
Problem
A recent change to
Neo.data.Store(specifically the optimization to return early wheninit=trueinadd()) introduced a regression whereme.isLoadedwas not being set totruein 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(likeComboBoxduring initial value resolution) to fail, as they perceived the store as unloaded even after data was added.Solution
Ensure
me.isLoaded = trueis 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()])) }