mirror of
https://github.com/apache/superset.git
synced 2026-07-20 13:45:47 +00:00
The report/alert list text filter passed user input straight into ILIKE, so % and _ were treated as wildcards. Add a local _escape_like() helper (mirroring the daos/datasource.py precedent) and pass escape="\\" to each filter clause so the characters match literally. The ReportModal custom screenshot-width input used `|| null` / `|| ''`, which silently coerced a typed 0 to "no custom width". Use `?? ''` for display and an explicit Number.isNaN() check on change, so a typed 0 is submitted and surfaced by the server's min-width validation instead of being dropped on the client. Add regression tests covering report DAO autoescape behavior and the update command's extra.dashboard.activeTabs validation to lock in the existing correct behavior. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>