You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
Asif Ansari
committed
fix: apply getRowId before rows enter internal state store
DataGrid derived effectiveGetRowId but never used it to normalize
rows before createInitialState or SET_ROWS keyed them by row.id.
Any consumer passing rows without a native id field would silently
collapse all rows to the same undefined key in idRowsLookup, producing
undefined React keys and a missing-key warning.
Normalize activeRows through effectiveGetRowId into normalizedRows
(useMemo) immediately after effectiveGetRowId is defined. Pass
normalizedRows to useDataGrid and setRows instead of activeRows.
No-op per row when the default (row) => row.id is used.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,13 @@
5
5
6
6
---
7
7
8
+
## [1.0.4] — July 30, 2026 🐛
9
+
10
+
### Fixed
11
+
-**`getRowId` not applied to internal row store**: `DataGrid` derived `effectiveGetRowId` correctly but never used it before rows entered the internal state. `createInitialState` and the `SET_ROWS` reducer both indexed by `row.id` directly, so any consumer passing rows without a native `id` field would silently collide all rows on `undefined` in the lookup map, produce `undefined` React keys, and trigger a "Each child in a list should have a unique key prop" warning. Fixed by normalizing `activeRows` through `effectiveGetRowId` into `normalizedRows` (via `useMemo`) immediately after `effectiveGetRowId` is derived. The normalization is a no-op when the default `(row) => row.id` is used, so there is no overhead for the common case.
Copy file name to clipboardExpand all lines: package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "@opencorestack/opengridx",
3
-
"version": "1.0.3",
3
+
"version": "1.0.4",
4
4
"description": "OpenGridX: High-performance React data infrastructure. Unlock advanced Row Grouping, Excel Export, and Column Pinning without the usual \"Pro\" gatekeeping. Built for speed, scale, and complete architectural freedom. Fully open, virtualization-ready, and feature-complete.",
0 commit comments