Neo.mjs v10.3.4 Release Notes
This patch release addresses a critical bug in the grid component that caused stale data to be displayed, along with several build process enhancements and minor documentation corrections.
Bug Fixes
-
Grid Cells Displayed Stale Data After Record Updates
- Fixed a significant issue in
Neo.grid.Bodywhere surgically updating a record's data (e.g., viarecord.set()) would not visually update the corresponding grid cells if the grid was scrolled. The component was attempting to update VDOM nodes for rows outside the currently rendered (mounted) range, leading to a visual desynchronization between the store and the UI. - The
onStoreRecordChangemethod now ensures that cell updates are only performed for rows that are currently visible or within the buffered render range, guaranteeing that the UI always reflects the latest data state. - See: GitHub Issue #7070
- Fixed a significant issue in
-
Functional Component Event Handling
- Corrected an event propagation issue in the functional nested template component example (
examples/functional/nestedTemplateComponent/Component.mjs). Clicks on a button within the component were not being handled correctly, and this has now been resolved.
- Corrected an event propagation issue in the functional nested template component example (
Enhancements & Build System
-
Smarter Docs App Detection
- The webpack configuration (
buildScripts/webpack/development/webpack.config.appworker.mjs,buildScripts/webpack/production/webpack.config.appworker.mjs) now uses a more precise check (docs/app) to detect the presence of the documentation application. This prevents unnecessary build steps if only the output folder (docs/output) exists. - See: GitHub Issue #7171
- The webpack configuration (
-
Optimized Docs Generation
- The main build script (
buildScripts/buildAll.mjs) will no longer attempt to generate the docs JSON output if the docs application itself is not present in the workspace. This streamlines the build process for projects that do not include the docs app. - See: GitHub Issue #7172
- The main build script (
-
Documentation Corrections
- Fixed a typo in a blog post title within the portal application's data.
- Corrected a method name in the "The Surgical Update: From JSON Blueprints to Flawless UI" blog post from
render()tocreateVdom()for accuracy.