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]
