mikebridge commented on PR #43629: URL: https://github.com/apache/superset/pull/43629#issuecomment-5483985801
Thanks for the depth here, @aminghadersohi — especially tracing the two permission legs and re-running the test-discrimination check. Both findings addressed in b3579ecc8e: 1. **`exactMatch` silently ignored on the combined endpoint** — took the cheap fix you suggested, made explicit: `exactMatch` now requires `datasetsOnly`, enforced at the type level (discriminated options union) and with a runtime guard for plain-JS callers, so the first caller to hit the combined endpoint with `eq` gets a refusal rather than an arbitrary unfiltered page. Unit tests cover the endpoint routing, the `eq` filter on the dataset leg, and the refusal. Teaching `_parse_filters` to honour `eq` end-to-end (both query builders take substring-only name filters today) stays a backend follow-up if a real caller ever needs exact match on the union. 2. **`.catch` guard vs. the results guard** — you're right that the comment claimed a symmetry the code didn't have. The guard now mirrors the results path exactly (`search && inputValueRef.current !== search`), so base fetches surface their failures even mid-search — which also restores the consumer `onError` call for those — and the comment now states the base-fetch exemption and why. Regression test (`still surfaces a base-fetch failure that lands mid-search`) fails against the stricter guard. The per-keystroke payload cost of the combined endpoint is tracked as a follow-up (a `columns` projection on `/api/v1/datasource/`), noted in the PR description as well. _Comment 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]
