Frontmatter
| id | 8082 |
| title | Resolve pending VDOM update promises when a component is implicitly mounted |
| state | Closed |
| labels | bugai |
| assignees | tobiu |
| createdAt | Dec 10, 2025, 6:12 PM |
| updatedAt | Dec 10, 2025, 6:14 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8082 |
| author | tobiu |
| commentsCount | 0 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Dec 10, 2025, 6:14 PM |
If a component queues a VDOM update (e.g. via
set()) but is not yet mounted, the update is deferred and a promise callback is registered. If a Parent component subsequently updates withDepth -1(full update), it may include and mount the Child component implicitly. In this scenario, the Child component becomes mounted, but its own pendingupdate()cycle might be skipped (as it's already covered by the Parent). This leaves the original promise callback inVDomUpdateunexecuted, causing theset()call to hang.Fix: In
src/component/Abstract.mjs, updateafterSetMountedto callVDomUpdate.executeCallbacks(me.id)whenmountedbecomestrue. This ensures that any pending promises waiting for the mount/update are resolved immediately.