Frontmatter
| id | 9107 |
| title | OffscreenCanvas charts in Grid Component Columns do not recover after VDOM purge |
| state | Closed |
| labels | bugai |
| assignees | tobiu |
| createdAt | Feb 12, 2026, 12:15 AM |
| updatedAt | Feb 12, 2026, 12:19 AM |
| githubUrl | https://github.com/neomjs/neo/issues/9107 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 9106 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 12, 2026, 12:19 AM |
OffscreenCanvas charts in Grid Component Columns do not recover after VDOM purge
tobiu added parent issue #9106 on Feb 12, 2026, 12:15 AM
tobiu assigned to @tobiu on Feb 12, 2026, 12:18 AM

tobiu
Feb 12, 2026, 12:18 AM
Input from Gemini 3 Pro:
✦ Fixed by implementing
afterSetMountedinsrc/grid/Row.mjs. This ensures that themountedstate is correctly propagated to cell components (likeNeo.component.Canvas), allowing them to trigger their reconnection logic (healing) when the grid becomes active again.
tobiu closed this issue on Feb 12, 2026, 12:19 AM
When using
Neo.grid.ContainerwithNeo.grid.column.ComponentcontainingOffscreenCanvasbased components (like sparklines), navigating away from the grid (causing a VDOM purge of the inactive card) and then back results in the charts not rendering.The
OffscreenCanvascomponent has logic to "heal" itself by re-requesting the canvas node when itsmountedstate changes from false to true. It is suspected that thismountedstate change is not being properly propagated to components within grid component columns.Investigation Areas:
src/component/Canvas.mjssrc/grid/Container.mjssrc/grid/Body.mjssrc/grid/Row.mjssrc/grid/column/Component.mjssrc/grid/column/Sparkline.mjs