Kinetic Grid Grouping Fix

A Chrome extension that stops the Epicor Kinetic grid group/ungroup memory leak — in place.

2 GB → 248 MB heap 469k → 8,971 DOM nodes Default OFF Only on epicorsaas.com

See it in 10 seconds

A live capture on a 4,466-row Epicor Kinetic Job Entry grid — grouping then ungrouping balloons it to ~2 GB without the fix, and stays windowed at ~80 rows with it.

What it fixes

In Epicor Kinetic, grouping a large data grid by several columns and then ungrouping it defeats the grid’s virtual scrolling: every row re-renders into a single table body. On a ~4,400-row grid that balloons the tab to roughly 2 GB of heap and ~470,000 DOM nodes, making the browser sluggish or crashing the tab.

This extension applies a small, targeted patch to Kinetic’s own grid code so that ungrouping restores the normal virtual-scroll window. With the fix on, the same group→ungroup cycle stays at about 80 rendered rows and a few hundred MB of heap.

Measured impact

Same grid, after grouping by three fields then ungrouping — with the fix off vs on.

Tab heap
off
2,037 MB
on
248 MB
Attached DOM nodes
off
469,501
on
8,971
Rows rendered into one <tbody>
off
4,466
on
80

Install & use

1

Install the extension

From the Chrome Web Store listing pending review, or load it unpacked from the source folder via chrome://extensions → Developer Mode → Load unpacked.

2

Flip the toggle ON

Click the toolbar icon and turn on the switch. It is OFF by default — nothing changes until you enable it.

3

Reload your Kinetic tab

The patch is applied as main.js loads on the next refresh. Group and ungroup freely — the grid keeps its compact window.

Expected: in the default mode Chrome shows an “extension is debugging this browser” banner while the fix is ON. That is normal — it is how the patch is delivered — and it disappears the moment you turn the fix OFF.

Permissions & scope

Privacy policy

This extension does not collect, store, transmit, or sell any personal or usage data. All settings (the on/off toggle, delivery mechanism, and scope) are stored locally on your device via chrome.storage.local and never leave your browser. The extension makes no network requests of its own and contains no analytics or tracking. It operates only on epicorsaas.com pages and only when you explicitly enable it. There is no account, no server, and no third-party data sharing.