LearnNewsExamplesServices
Frontmatter
id9159
titleregression: Component Columns trigger insertNode operations during scrolling
stateOpen
labels
bugairegressionperformance
assigneestobiu
createdAtFeb 15, 2026, 1:45 AM
updatedAtFeb 15, 2026, 1:59 AM
githubUrlhttps://github.com/neomjs/neo/issues/9159
authortobiu
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]

regression: Component Columns trigger insertNode operations during scrolling

Openbugairegressionperformance
tobiu
tobiu commented on Feb 15, 2026, 1:45 AM

During grid scrolling, we observed insertNode operations for Neo.component.CountryFlag and Neo.component.GitHubOrgs components. This indicates a potential failure in component recycling or a VDOM diffing issue where the framework believes it needs to re-mount these components instead of reusing them.

Observed Behavior:

  • insertNode deltas appearing in logs for component columns.
  • Affects CountryFlag and GitHubOrgs specifically.

Expected Behavior:

  • Zero Structural Deltas: Grid scrolling should rely exclusively on attribute updates (content, style, translate3d).
  • No Move/Insert/Remove: The "Fixed-DOM-Order" strategy ensures the DOM structure remains stable. Any moveNode, insertNode, or removeNode operation during scrolling is considered a regression/failure of the recycling logic.
  • Component columns should be recycled in-place via updateContent.

Investigation Areas:

  • src/grid/column/Component.mjs
  • src/component/CountryFlag.mjs
  • src/component/GitHubOrgs.mjs
  • src/main/DeltaUpdates.mjs
  • Verify if createVdom correctly returns the recycled component reference vs a new VDOM object.
tobiu added the bug label on Feb 15, 2026, 1:45 AM
tobiu added the ai label on Feb 15, 2026, 1:45 AM
tobiu added the regression label on Feb 15, 2026, 1:45 AM
tobiu added the performance label on Feb 15, 2026, 1:45 AM
tobiu assigned to @tobiu on Feb 15, 2026, 1:59 AM