EnxDev commented on PR #41386:
URL: https://github.com/apache/superset/pull/41386#issuecomment-4877027441

   Follow-up on the review findings — addressed in 968e78b…0e3a23c.
   
   **Function \`aggFunc\` guard** — added, with one correction to the premise: 
without the guard, a function aggFunc serializes as a *dropped key* 
(\`{"colId":"sales"}\`) while "None" serializes as explicit \`"aggFunc":null\`, 
so the two never actually collapsed. The guard's value is that the signature no 
longer depends on \`JSON.stringify\` silently dropping function values: 
functions map to a fixed \`'custom'\` marker. The comment documents this as 
defensive-only — AG Grid requires registered string names in serialized column 
state, so this plugin only ever persists strings. A unit test pins 
function-vs-None distinctness.
   
   **Typed fixtures** — done; fixtures are contextually checked against 
\`ColumnState[]\`, all \`as any\` removed.
   
   **Round-trip coverage** — implemented at different seams, deliberately. A 
jsdom save→reconcile→applyColumnState round-trip cannot observe aggFunc 
restoration in this repo: aggregation column state requires AG Grid's 
enterprise \`SharedAggregation\` module (RowGrouping/Pivot/TreeData/SSRM), and 
both the jest harness and \`App.tsx\` register community modules only. Probed 
empirically: a restored \`aggFunc: 'sum'\` reads back as \`null\` from 
\`getColumnState()\`, so the literal test would pass whether or not the fix 
works. Instead: (a) a unit test pins aggFunc pass-through (incl. explicit 
\`null\`) in \`reconcileColumnState\` — the restore leg this codebase owns; (b) 
a component test drives restore → debounced save end to end and asserts every 
persisted column entry carries an explicit \`aggFunc\` key, which also covers 
the codecov-flagged \`getColumnStateSignature(...)\` line. The apply/read-back 
boundary is AG Grid enterprise's contract, only exercisable in enterprise-en
 abled builds.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to