mikebridge commented on PR #42535:
URL: https://github.com/apache/superset/pull/42535#issuecomment-5105768726

   Ran a six-lens local review panel (React/TS, Superset-committer, 
Preset-style, clean-code, tidy-first, continuous-delivery) over the initial 
implementation; zero blockers, and the hardening round landed in c1a856ecc9:
   
   - **Schema-refresh dedupe is now serialization-order-proof**: 
`applyRuntimeSchema` compares a key-order-canonical serialization 
(`stableSerialize`, unit-tested), so a provider that reorders JSON properties 
between refreshes can't silently defeat the remount/AJV dedupe. Array order 
stays significant on purpose — `x-propertyOrder`/enum order are meaningful. 
(The failure mode was fail-safe either way: a missed dedupe only reverts to 
slower pre-fix behavior, never wrong data.)
   - **Failed refresh handling**: the error is now logged, the dependency 
snapshot rolls back so the same dep state retries instead of staying stale, and 
the toast fires once per outage rather than once per debounced attempt.
   - `valuesEqual` uses lodash `isEqual` (key-order-insensitive); 
`EnumNamesControl`/`MultiEnumControl` memo deps are identity-stable; 
`DynamicFieldControl` drops its manual sort (the wrapped Select alphabetises) 
and gained a 500-option regression test; a modal smoke test now runs at the 
500-metric acceptance scale; `MAX_TAG_COUNT` is imported instead of hardcoded; 
`console.error` spies restore in `try/finally`.
   
   Deliberately deferred (follow-up material, not blockers): fake-timer rework 
of the debounce-dependent tests (do if CI flakes), and extracting the 
duplicated modal-reset block / enum-options builders / shared test helpers.
   
   _This comment was generated by Claude (AI) on behalf of @mikebridge._


-- 
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