This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch fix-25125-json-data-type-preservation
in repository https://gitbox.apache.org/repos/asf/superset.git
discard e867d53a4d5 fix(result_set): detect nested types in ArrowInvalid
except branch
discard f67dcacac78 style: fix black formatting in result_set_tests.py
discard e491aad9728 test(result_set): update nested type tests for JSON
preservation
discard 4aac11a8d78 fix(dataframe): handle arrays in NA check for JSON data
preservation
discard 884681fa138 fix(result_set): preserve JSON/JSONB data as objects
instead of strings
add 8eb30468884 fix(docs): guard window reference in logging.ts for SSR
compatibility (#38201)
add b8459c15b86 chore(deps-dev): bump @typescript-eslint/parser from
8.56.0 to 8.56.1 in /docs (#38211)
add f60432e34cf fix: Allow non-owners to fave/unfave charts (#38095)
add fca8a495611 feat: auto refresh dashboard (#37459)
add 974bee14c3e fix(extensions): make LOCAL_EXTENSIONS loading resilient
to individual failures (#38217)
add 7b04d251d60 fix(build): restore automatic .d.ts generation in dev mode
(#38202)
add 35c135852e8 feat(extensions): add mandatory publisher field to
extension metadata (#38200)
add 0d66accc377 chore(build): prevent opening Dependabot PRs for `@rjsf/*`
deps due to React 18 constraint (#37976)
add 97b8585fe5d chore(deps-dev): bump typescript-eslint from 8.56.0 to
8.56.1 in /docs (#38209)
add aa475734ef9 chore(deps-dev): bump eslint from 9.39.2 to 10.0.2 in
/superset-websocket (#38204)
add e4a7cd30c34 fix(GAQ): don't use async queries when cache timeout is -1
(#38089)
add 76a2559b2b8 fix(ci): revert "chore(deps): bump
JustinBeckwith/linkinator-action from 2.3 to 2.4" (#38164)
add 4809903bb80 chore(deps): bump markdown-to-jsx from 9.7.4 to 9.7.6 in
/superset-frontend (#38225)
add 9e4a88dfa2b chore(deps): bump antd from 6.3.0 to 6.3.1 in /docs
(#38221)
add 01c1b2eb8f0 chore(deps-dev): bump @types/lodash from 4.17.23 to
4.17.24 in /superset-frontend (#38224)
add 5eb35a47957 fix(reports): validate database field on PUT report
schedule (#38084)
add 1cd35bb1029 feat(mcp): dynamic feature availability via menus and
feature flags (#37964)
add 30849079318 feat(mcp): support unsaved state in Explore and Dashboard
tools (#37183)
add a1312a86e88 fix(mcp): normalize column names to fix time series filter
prompt issue (#37187)
add b543358d2f5 chore(deps-dev): bump @swc/core from 1.15.11 to 1.15.13 in
/superset-frontend (#38237)
add 1b605c4ddad chore(deps): bump fs-extra from 11.3.2 to 11.3.3 in
/superset-frontend (#38234)
add 79b2647481b chore(deps): bump @swc/core from 1.15.11 to 1.15.13 in
/docs (#38207)
add 37a46370181 chore(deps-dev): bump typescript-eslint from 8.56.0 to
8.56.1 in /superset-websocket (#38203)
add 438a9274206 chore(deps-dev): bump oxlint from 1.49.0 to 1.50.0 in
/superset-frontend (#38240)
add c54b21ef988 fix(mcp): add eager loading to get_info tools to prevent
N+1 query timeouts (#38129)
add cc1128a404a feat(mcp): add response size guard to prevent oversized
responses (#37200)
add eef4d95c229 fix(mcp): add dataset validation for chart tools (#37185)
add abf0b7cf4b8 fix(mcp): use broad Exception in outermost tool-level
handlers (#38254)
add 26053a8b5d3 fix(alert-modal): show the add filter button on firefox
(#38093)
add 2b6c745444b fix(ci): use OIDC auth token for successful Codecov upload
(#38218)
add ae99b194225 feat(mcp): add detailed JWT error messages and default
auth factory fallback (#37972)
add 2ecfb3406c3 fix(dataset-modal): show warning toast when dropping items
outside folders (#38257)
add 7f72c747f5b fix(dataset-modal): prevent shift-select from selecting
search-hidden items (#38255)
add dce0e5f4e62 chore(deps): bump mapbox-gl from 3.18.1 to 3.19.0 in
/superset-frontend (#38264)
add dcbe77818a0 chore(deps-dev): bump @types/node from 25.3.0 to 25.3.1 in
/superset-frontend (#38263)
add e42202e5ede chore(deps-dev): bump @types/node from 25.2.3 to 25.3.1 in
/superset-websocket (#38260)
add 0e7a9febdf1 chore(deps): bump minimatch from 3.1.2 to 3.1.3 in
/superset-frontend/cypress-base (#38228)
add 8c58b998b17 chore(deps): pin currencyformatter.js to v1 in
/superset-frontend (#38242)
add 660357c76b0 feat: Persist default folders location when repositioned
in folders editor (#38105)
add ca48663c593 chore(deps): bump dawidd6/action-download-artifact from 15
to 16 (#38261)
add f5d489da29c fix(actionlog): restore full name display in Action Logs
user column (#37985)
add c1c012fb529 fix(chart): make chart error banners non-dismissible
(#38014)
add 5a134170a03 fix(chart): prevent x-axis date labels from disappearing
when rotated (#37755)
add bbafae5f62b fix(save-chart): fix info icon alignment in save chart
modal (#37708)
add 8a053bbe07e fix(dataset-modal): fix drag overlay shift caused by modal
transform containing block (#38274)
add 6589ee48f96 docs: bifurcate documentation into user and admin sections
(#38196)
add bb6ee9e7229 fix(clickhouse): remove _mutate_label workaround and bump
clickhouse-connect to >=0.13.0 (#38280)
add 7f061a3764a fix(bigquery): pass dialect instead of engine to
select_star in get_extra_table_metadata (#38281)
add 0827ec38110 fix(dataset-modal): include nested folders when dragging
all their children (#38275)
add 11dfda11d31 fix(folders): expand collapsed folders on Select All and
add selection counter (#38270)
add 7743183401b fix(bugs): fixing bugs for world map chart (#38030)
add 761cee2d85b fix(componentParent): Newly created tabs don't show up in
Scoping tab (#37807)
add e5cbc98482e fix(ag-grid): render boolean columns as checkboxes instead
of blank cells (#38279)
add 5e890a8cf76 fix(folders): remove stale column/metric refs from folders
on delete (#38302)
add 63f1d9eb98e feat(folders-editor): drag entire folder block as single
unit (#38122)
add a410b76f99d docs: add Apache Superset CVEs for February 2026 release
(#38278)
add 15d7538435c fix(sqllab): pass queryLimit on data preview queries and
fix Decimal TypeError in results handler (#37614)
add 287a94f46c8 chore(deps): bump react-syntax-highlighter from 16.1.0 to
16.1.1 in /superset-frontend (#38296)
add b1b10ec329f chore(deps): bump @swc/core from 1.15.13 to 1.15.17 in
/docs (#38292)
add 848cce7b2eb chore(deps): bump actions/upload-artifact from 6 to 7
(#38290)
add 1f41777800f chore(deps): bump actions/download-artifact from 7 to 8
(#38289)
add a162b02123f chore(deps-dev): bump @types/node from 25.3.1 to 25.3.2 in
/superset-websocket (#38288)
add a849802a2b1 chore(deps): bump minimatch in /superset-websocket (#38282)
add 3794591d28e chore(deps): bump caniuse-lite from 1.0.30001770 to
1.0.30001774 in /docs (#38180)
add 6fe69fc81cd chore: Support specifying app_root via superset_config.py
(#38284)
add d0391720133 chore(deps-dev): bump webpack from 5.105.2 to 5.105.3 in
/docs (#38271)
add 7f280f5de90 fix(Dataset Folders): improve search-collapse (#38188)
add 1d141b2948e fix: Warning toasts when user drops folder item outside of
dnd context (#38304)
add 0d9db04df05 chore(deps-dev): bump @swc/core from 1.15.13 to 1.15.17 in
/superset-frontend (#38295)
add d31a2f96c99 chore(deps-dev): bump webpack from 5.105.2 to 5.105.3 in
/superset-frontend (#38294)
add ac2914486fe fix(Select): select all buttons to inherit font (#38313)
add 985c3d12a17 fix(screenshots): downgrade screenshot timeout logs from
ERROR to WARNING (#38130)
add e80311a7950 chore(deps-dev): bump @swc/core from 1.15.17 to 1.15.18 in
/superset-frontend (#38335)
add ec33d6a4214 chore(deps-dev): bump @types/node from 25.3.1 to 25.3.3 in
/superset-frontend (#38331)
add b57c864e98e chore(deps): bump react-syntax-highlighter from 16.1.0 to
16.1.1 in /superset-frontend (#38330)
add 1025e3729b8 chore(deps-dev): bump globals from 17.3.0 to 17.4.0 in
/docs (#38325)
add 00c62cf8203 chore(deps-dev): bump yeoman-test from 11.2.0 to 11.3.1 in
/superset-frontend (#38326)
add d738431e73e chore(deps): bump swagger-ui-react from 5.31.2 to 5.32.0
in /docs (#38324)
add 23200e8ce97 chore(deps): bump caniuse-lite from 1.0.30001774 to
1.0.30001775 in /docs (#38322)
add adc5a2cbdb6 chore(deps-dev): bump globals from 17.3.0 to 17.4.0 in
/superset-websocket (#38321)
add 00a14877059 chore(deps): bump hot-shots from 14.0.0 to 14.1.1 in
/superset-websocket (#38320)
add 01d5245cd2d fix: silence deprecation warnings causing noisy production
logs (#38128)
add a74d32ab44f feat(extensions): code-first frontend contributions
(#38346)
add 3e10ab7dd00 refactor(Filter components): migrate from react-dnd to
dnd-kit (#37445)
add fc5fda3d1a6 fix(db-modal): update doc refs for DB connection modal
(#38091)
add 6e84d297076 fix(build): disable `moby` in dev container based on
Debian 13 Trixie distro for usability (#37227)
add 0681df3d029 feat(theme): enable generalized ECharts theme overrides
for array properties (#37965)
add 1bd054684ed chore(lint): remove unused ESLint plugins after migrating
rules to Oxlint (#38110)
add f2f55591ecc chore: remove redundant service-worker.js placeholder
(#38348)
add 016417f7939 fix(explore): prevent TypeError when chart dimension
returns empty string (#38276)
add c35bf344a96 chore(extensions): clean up backend entrypoints and file
globs (#38360)
add 2ab9d37a001 fix(templates): restore css_bundle calls in spa.html for
production builds (#38350)
add fa346099523 feat: Support OAuth2 single-use refresh tokens (#38364)
add 1136e86cf70 chore(deps): bump ioredis from 5.9.3 to 5.10.0 in
/superset-websocket (#38318)
add f10cb14d92b chore(deps-dev): bump @types/node from 25.3.2 to 25.3.3 in
/superset-websocket (#38319)
add 983b633972f feat(bar-chart): add option to color bars by primary axis
when no dimensions are set (#37531)
add ef4b1d674be feat(docs): add filterable UI Components table and improve
build performance (#38253)
add 7815afb24d2 fix(charts): improve minor gridline visibility in dark
themes (#38371)
add 51ac758b801 fix(tags): expire tag relationship after deleting all
tagged objects (#38163)
add 80a29cd6fed chore(deps-dev): bump terser-webpack-plugin from 5.3.16 to
5.3.17 in /superset-frontend (#38386)
add 35d0aad854a feat(explore): Add Echarts option editor (#37868)
add 69732d9dca6 fix(superset-ui-core): achieve 100% coverage for npm run
core:cover (#38397)
add 832fee3ff8c refactor(mcp): move superset_core MCP module from mcp to
api/mcp (#38394)
add 19f949276ce refactor(config): SIGNAL_CACHE_CONFIG →
DISTRIBUTED_COORDINATION_CONFIG (#38395)
add aff6e260891 build(deps): replace monolithic `googleapis` with
lightweight `@googleapis/sheet` sub-package (#38124)
add 3d5694ee0f1 chore: regular `npm audit fix` (#38248)
add 3b656f9cc2f fix(dashboard): restore filterState prop for cross-filter
functionality (#38349)
add c25adbc3953 test(DashboardList): migrate Cypress E2E tests to RTL
(#38368)
add e2ebc135e4a test(playwright): add dashboard list E2E tests (#38377)
add 27d54f84213 fix(build/backend): migrate to deps-free `pygeohash` with
pre-built wheels at runtime (#37524)
add 796c206ee7b fix(charts): apply resample before rolling window in
post-processing pipeline (#37987)
add 63e7ee70bff fix(echarts): adaptive formatting labels (#38017)
add 8c9efe5659f feat: support for import/export masked_encrypted_extra
(backend) (#38077)
add dc995328a86 chore(deps): bump cryptography from 44.0.3 to 46.0.5
(#37912)
add 8f28a8734a1 chore(deps): bump flask from 2.3.3 to 3.1.3 (#38168)
add 1bfd41df0ca chore(deps): bump aquasecurity/trivy-action from 0.34.1 to
0.34.2 (#38352)
add 88241d3e710 chore(deps-dev): bump oxlint from 1.50.0 to 1.51.0 in
/superset-frontend (#38353)
add a79dcbbb66d chore(deps): update d3-cloud requirement from ^1.2.8 to
^1.2.9 in /superset-frontend/plugins/plugin-chart-word-cloud (#38381)
add 939e4194c61 fix(alerts): fix error toast when editing report with
saved tab selection (#38198)
add 0d5827ac428 chore(extensions): unified contribution api and automatic
prefixing (#38412)
add 5a2a72cf31a chore(deps): bump svgo from 3.3.2 to 3.3.3 in /docs
(#38422)
add fdf19db5e6a chore(deps): bump svgo from 3.3.2 to 3.3.3 in
/superset-frontend (#38421)
add 4dfb0e66cb6 chore(deps-dev): bump webpack from 5.105.3 to 5.105.4 in
/superset-frontend (#38385)
add 880cab58c33 fix(bug): Error when adding a filter using custom sql
(#38246)
add 20cc3345d89 chore(playwright): Using warning for timeouts (#38441)
add a2c23a2a58f chore(deps-dev): bump css-minimizer-webpack-plugin from
7.0.4 to 8.0.0 in /superset-frontend (#38434)
add f6f734f0d16 chore(deps): bump google-auth-library from 10.5.0 to
10.6.1 in /superset-frontend (#38436)
add a513406239f feat!: upgrade project's Node version to v22 (#37223)
add f0416eff78e fix(dashboard): fix multiple drag-and-drop and edit mode
issues (#37891)
add 0dbd4c5b909 docs(mcp): add MCP server deployment and authentication
guide (#38415)
add 5f0efd2be9d test: fix CI OOM crashes in DatasourceControl test and
flaky FileHandleer test (#38430)
add 357e35dc628 refactor(core): reorganize superset-core packages into
feature-based structure (#38448)
add 6c359733e1d fix(frontend): preserve absolute and protocol-relative
URLs in ensureAppRoot (#38316)
add 884db9347da feat(docs): Adding VTG GmbH in INTHEWILD.yaml (#38359)
add 664c465d805 fix(test): use correct @apache-superset/core/theme import
in Menu test (#38457)
add 17df85b5edb fix(roles): convert permissions/groups dropdowns to
AsyncSelect with server-side search (#38387)
add 0d5ade6dd31 fix(ColorPicker): restore alpha input visibility hidden by
geostyler CSS (#38169)
add 7d2efd8c1ae fix(mcp): suppress third-party deprecation warnings from
client responses (#38401)
add 3609cd9544d feat(mcp): add compile check to validate chart queries
before returning (#38408)
add 84a53eab31c feat(mcp): add pie, pivot table, and mixed timeseries
chart creation support (#38375)
add db7665c0bc4 feat(mcp): add user roles to MCP response and
permission-aware instructions (#38367)
add 5c4bf0f6ea6 fix(deps): bump Python dependencies to fix 7 security
vulnerabilities (#38447)
add 296bd7e56b5 docs(extensions): fix extension developer documentation
and CLI scaffolding (#38472)
add 03ad1789f02 feat(alerts/reports): external URL warning (#35021)
add 5fb9e17721d refactor(extensions): align editors API naming with
commands/views, add description to all contribution types (#38475)
add a6c0d6321f6 chore(extensions): simplify backend package structure by
removing superset_extensions namespace (#38476)
add 3cb00bf116d feat(database): add Google Cloud Datastore db engine spec
(#37677)
add 60577bcd979 chore(deps-dev): bump webpack from 5.105.3 to 5.105.4 in
/docs (#38380)
add 69589f8107e fix(result_set): preserve JSON/JSONB data as objects
instead of strings
add a6a7e2fdeec fix(dataframe): handle arrays in NA check for JSON data
preservation
add 888a727efef test(result_set): update nested type tests for JSON
preservation
add 68822749620 fix(result_set): detect nested types in ArrowInvalid
except branch
add c5e348cc9bb style: fix black formatting in result_set_tests.py
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (e867d53a4d5)
\
N -- N -- N refs/heads/fix-25125-json-data-type-preservation
(c5e348cc9bb)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.devcontainer/devcontainer.json | 2 +-
.github/dependabot.yml | 8 +
.github/workflows/docker.yml | 2 +-
.github/workflows/superset-docs-deploy.yml | 4 +-
.github/workflows/superset-docs-verify.yml | 4 +-
.github/workflows/superset-e2e.yml | 4 +-
.github/workflows/superset-extensions-cli.yml | 2 +-
.github/workflows/superset-frontend.yml | 37 +-
.github/workflows/superset-playwright.yml | 2 +-
.../workflows/superset-python-integrationtest.yml | 2 +-
.gitignore | 2 +-
.pre-commit-config.yaml | 2 +-
README.md | 10 +-
RESOURCES/INTHEWILD.yaml | 3 +
UPDATING.md | 12 +-
docs/.claude/instructions.md | 2 +-
docs/.gitignore | 10 +-
docs/.nvmrc | 2 +-
docs/DOCS_CLAUDE.md | 2 +-
docs/README.md | 9 +-
.../configuration/alerts-reports.mdx | 22 +-
.../configuration/async-queries-celery.mdx | 0
docs/{docs => admin_docs}/configuration/cache.mdx | 20 +-
.../configuration/configuring-superset.mdx | 21 +-
.../configuration/country-map-tools.mdx | 0
.../configuration/event-logging.mdx | 0
.../configuration/feature-flags.mdx | 0
.../importing-exporting-datasources.mdx | 0
.../configuration/map-tiles.mdx | 0
.../configuration/networking-settings.mdx | 4 +-
.../configuration/sql-templating.mdx | 6 +-
.../{docs => admin_docs}/configuration/theming.mdx | 0
.../configuration/timezones.mdx | 2 +-
docs/admin_docs/index.md | 42 +
.../installation/architecture.mdx | 12 +-
.../installation/docker-builds.mdx | 0
.../installation/docker-compose.mdx | 4 +-
.../installation/installation-methods.mdx | 10 +-
.../installation/kubernetes.mdx | 6 +-
docs/{docs => admin_docs}/installation/pypi.mdx | 2 +-
.../installation/upgrading-superset.mdx | 0
docs/{docs => admin_docs}/security/cves.mdx | 10 +
.../security/securing_superset.mdx | 4 +-
docs/{docs => admin_docs}/security/security.mdx | 2 +-
docs/babel.config.js | 32 -
docs/{docs => developer_docs}/api.mdx | 36 +-
docs/developer_docs/components/TODO.md | 71 +
.../components/design-system/dropdowncontainer.mdx | 167 ++
.../components/design-system/flex.mdx | 197 ++
.../components/design-system/grid.mdx | 192 ++
.../components/design-system/index.mdx | 38 +
.../components/design-system/layout.mdx | 139 +
.../components/design-system/metadatabar.mdx | 174 ++
.../components/design-system/space.mdx | 168 ++
.../components/design-system/table.mdx | 311 +++
docs/developer_docs/components/index.mdx | 74 +
docs/developer_docs/components/ui/autocomplete.mdx | 215 ++
docs/developer_docs/components/ui/avatar.mdx | 140 +
docs/developer_docs/components/ui/badge.mdx | 160 ++
docs/developer_docs/components/ui/breadcrumb.mdx | 93 +
docs/developer_docs/components/ui/button.mdx | 142 ++
docs/developer_docs/components/ui/buttongroup.mdx | 88 +
docs/developer_docs/components/ui/cachedlabel.mdx | 79 +
docs/developer_docs/components/ui/card.mdx | 142 ++
docs/developer_docs/components/ui/checkbox.mdx | 141 +
docs/developer_docs/components/ui/collapse.mdx | 106 +
docs/developer_docs/components/ui/datepicker.mdx | 110 +
docs/developer_docs/components/ui/divider.mdx | 144 ++
.../developer_docs/components/ui/editabletitle.mdx | 172 ++
docs/developer_docs/components/ui/emptystate.mdx | 147 ++
docs/developer_docs/components/ui/favestar.mdx | 96 +
docs/developer_docs/components/ui/iconbutton.mdx | 106 +
.../developer_docs/components/ui/icons.mdx | 257 +-
docs/developer_docs/components/ui/icontooltip.mdx | 100 +
docs/developer_docs/components/ui/index.mdx | 77 +
docs/developer_docs/components/ui/infotooltip.mdx | 106 +
docs/developer_docs/components/ui/input.mdx | 162 ++
docs/developer_docs/components/ui/label.mdx | 105 +
docs/developer_docs/components/ui/list.mdx | 117 +
docs/developer_docs/components/ui/listviewcard.mdx | 132 +
docs/developer_docs/components/ui/loading.mdx | 187 ++
docs/developer_docs/components/ui/menu.mdx | 174 ++
docs/developer_docs/components/ui/modal.mdx | 207 ++
docs/developer_docs/components/ui/modaltrigger.mdx | 192 ++
docs/developer_docs/components/ui/popover.mdx | 199 ++
docs/developer_docs/components/ui/progressbar.mdx | 206 ++
docs/developer_docs/components/ui/radio.mdx | 137 +
docs/developer_docs/components/ui/safemarkdown.mdx | 85 +
docs/developer_docs/components/ui/select.mdx | 308 +++
docs/developer_docs/components/ui/skeleton.mdx | 140 +
docs/developer_docs/components/ui/slider.mdx | 253 ++
docs/developer_docs/components/ui/steps.mdx | 272 ++
docs/developer_docs/components/ui/switch.mdx | 193 ++
.../components/ui/tablecollection.mdx | 66 +
docs/developer_docs/components/ui/tableview.mdx | 294 +++
docs/developer_docs/components/ui/tabs.mdx | 223 ++
docs/developer_docs/components/ui/timer.mdx | 172 ++
docs/developer_docs/components/ui/tooltip.mdx | 171 ++
docs/developer_docs/components/ui/tree.mdx | 268 ++
docs/developer_docs/components/ui/treeselect.mdx | 286 +++
docs/developer_docs/components/ui/typography.mdx | 236 ++
.../components/ui/unsavedchangesmodal.mdx | 126 +
docs/developer_docs/components/ui/upload.mdx | 136 +
.../contributing/code-review.md | 0
.../contributing/development-setup.md | 4 +-
.../contributing/guidelines.md | 0
.../contributing/howtos.md | 24 +
.../contributing/issue-reporting.md | 0
.../contributing/overview.md | 0
.../contributing/pkg-resources-migration.md | 47 +-
.../contributing/release-process.md | 0
.../contributing/resources.md | 4 +-
.../contributing/submitting-pr.md | 0
.../extensions/architecture.md | 66 +-
.../developer_docs/extensions/components/alert.mdx | 131 +
.../developer_docs/extensions/components/index.mdx | 93 +
.../extensions/contribution-types.md | 226 ++
.../extensions/dependencies.md | 6 +-
.../extensions/deployment.md | 0
.../extensions/development.md | 214 +-
.../extensions/extension-points/editors.md | 49 +-
.../extensions/extension-points/sqllab.md | 173 +-
docs/developer_docs/extensions/mcp-server.md | 679 +++++
.../extensions/mcp.md | 6 +-
.../extensions/overview.md | 6 +-
.../extensions/quick-start.md | 195 +-
.../extensions/registry.md | 14 +-
.../extensions/security.md | 0
.../extensions/tasks.md | 14 +-
.../guidelines/backend-style-guidelines.md | 0
.../guidelines/backend/dao-style-guidelines.md | 0
.../guidelines/design-guidelines.md | 0
.../guidelines/frontend-style-guidelines.md | 0
.../frontend/component-style-guidelines.md | 0
.../frontend/emotion-styling-guidelines.md | 0
docs/{developer_portal => developer_docs}/index.md | 48 +-
.../sidebars.js | 1 +
.../testing/backend-testing.md | 0
.../testing/ci-cd.md | 0
.../testing/e2e-testing.md | 0
.../testing/frontend-testing.md | 0
.../testing/overview.md | 0
.../testing/storybook.md | 0
.../testing/testing-guidelines.md | 0
.../versions.json | 0
.../extensions/contribution-types.md | 155 --
docs/docs/contributing/contributing.mdx | 142 --
docs/docs/contributing/development.mdx | 1205 ---------
docs/docs/contributing/guidelines.mdx | 254 --
docs/docs/contributing/howtos.mdx | 720 ------
docs/docs/contributing/misc.mdx | 55 -
docs/docs/contributing/resources.mdx | 104 -
docs/docs/faq.mdx | 14 +-
docs/docs/index.mdx | 269 ++
docs/docs/quickstart.mdx | 14 +-
.../creating-your-first-dashboard.mdx | 4 +-
docs/docs/using-superset/sql-templating.mdx | 250 ++
docs/docusaurus.config.ts | 447 +++-
docs/package.json | 29 +-
docs/scripts/convert-api-sidebar.mjs | 4 +-
docs/scripts/generate-api-index.mjs | 4 +-
docs/scripts/generate-api-tag-pages.mjs | 2 +-
docs/scripts/generate-database-docs.mjs | 10 +-
docs/scripts/generate-extension-components.mjs | 676 -----
docs/scripts/generate-if-changed.mjs | 307 +++
docs/scripts/generate-superset-components.mjs | 241 +-
docs/{sidebars.js => sidebarAdminDocs.js} | 76 +-
docs/sidebarTutorials.js | 29 +-
docs/sidebars.js | 74 +-
docs/src/components/StorybookWrapper.jsx | 4 +-
docs/src/components/databases/DatabaseIndex.tsx | 1 +
docs/src/components/databases/DatabaseLogoWall.tsx | 71 +
.../components/ui-components/ComponentIndex.tsx | 262 ++
.../src/components/ui-components}/index.ts | 6 +-
.../src/components/ui-components/types.ts | 36 +-
docs/src/data/databases.json | 2 +-
docs/src/pages/index.tsx | 128 +
docs/src/shims/superset-ui-core.ts | 57 +
docs/src/styles/custom.css | 24 +-
docs/src/theme/Playground/Preview/index.tsx | 2 +-
docs/src/theme/ReactLiveScope/index.tsx | 2 +-
docs/src/types/apache-superset-core/index.d.ts | 6 +-
docs/src/webpack.extend.ts | 19 +-
docs/static/img/databases/datastore.png | Bin 0 -> 5248 bytes
.../{sql-snippets.png => editor-snippets.png} | Bin
docs/tsconfig.json | 7 +-
.../version-6.0.0/configuration/alerts-reports.mdx | 8 +-
.../version-6.0.0/configuration/cache.mdx | 4 +-
.../configuration/configuring-superset.mdx | 6 +-
.../version-6.0.0/configuration/databases.mdx | 108 +-
.../configuration/networking-settings.mdx | 2 +-
.../version-6.0.0/configuration/sql-templating.mdx | 2 +-
.../version-6.0.0/configuration/timezones.mdx | 2 +-
.../version-6.0.0/contributing/contributing.mdx | 2 +-
.../version-6.0.0/contributing/development.mdx | 4 +-
.../version-6.0.0/contributing/guidelines.mdx | 2 +-
docs/versioned_docs/version-6.0.0/faq.mdx | 10 +-
.../version-6.0.0/installation/architecture.mdx | 12 +-
.../installation/installation-methods.mdx | 10 +-
.../version-6.0.0/installation/kubernetes.mdx | 4 +-
docs/versioned_docs/version-6.0.0/intro.md | 4 +-
docs/versioned_docs/version-6.0.0/quickstart.mdx | 12 +-
.../creating-your-first-dashboard.mdx | 4 +-
docs/versions-config.json | 17 +-
docs/yarn.lock | 1327 +++++++---
pyproject.toml | 10 +-
requirements/base.in | 4 +-
requirements/base.txt | 16 +-
requirements/development.txt | 26 +-
superset-core/README.md | 4 +-
superset-core/src/superset_core/api/rest_api.py | 72 -
.../src/superset_core/{api => common}/__init__.py | 0
.../src/superset_core/{api => common}/daos.py | 82 +-
.../src/superset_core/{api => common}/models.py | 192 +-
.../src/superset_core/extensions/constants.py | 33 +-
.../src/superset_core/extensions/types.py | 133 +-
superset-core/src/superset_core/mcp/__init__.py | 145 --
.../mcp/{__init__.py => decorators.py} | 2 +-
.../src/superset_core/{api => queries}/__init__.py | 0
superset-core/src/superset_core/queries/daos.py | 63 +
superset-core/src/superset_core/queries/models.py | 79 +
.../src/superset_core/{api => queries}/query.py | 4 +-
.../src/superset_core/{api => queries}/types.py | 0
.../superset_core/{api => rest_api}/__init__.py | 0
.../{api/__init__.py => rest_api/api.py} | 16 +
.../src/superset_core/rest_api/decorators.py | 103 +
.../src/superset_core/{api => tasks}/__init__.py | 0
superset-core/src/superset_core/tasks/daos.py | 76 +
.../src/superset_core/tasks/decorators.py | 152 ++
superset-core/src/superset_core/tasks/models.py | 169 ++
.../superset_core/{api/tasks.py => tasks/types.py} | 128 +-
superset-embedded-sdk/.nvmrc | 2 +-
.../src/superset_extensions_cli/cli.py | 329 ++-
.../templates/backend/pyproject.toml.j2 | 7 +
.../templates/backend/src/package/__init__.py.j2 | 0
.../templates/extension.json.j2 | 22 +-
.../templates/frontend/package.json.j2 | 2 +-
.../templates/frontend/src/index.tsx.j2 | 17 +-
.../templates/frontend/webpack.config.js.j2 | 3 +-
.../src/superset_extensions_cli/types.py | 25 +-
.../src/superset_extensions_cli/utils.py | 226 +-
superset-extensions-cli/tests/conftest.py | 32 +-
superset-extensions-cli/tests/test_cli_build.py | 254 +-
superset-extensions-cli/tests/test_cli_bundle.py | 16 +-
superset-extensions-cli/tests/test_cli_dev.py | 29 +-
superset-extensions-cli/tests/test_cli_init.py | 168 +-
superset-extensions-cli/tests/test_cli_validate.py | 14 +-
.../tests/test_name_transformations.py | 833 +++---
superset-extensions-cli/tests/test_templates.py | 151 +-
superset-frontend/.eslintrc.js | 41 -
superset-frontend/.nvmrc | 2 +-
superset-frontend/.storybook/preview.jsx | 2 +-
.../.storybook/shared/ResizableChartDemo.tsx | 2 +-
.../.storybook/shared/ResizablePanel.tsx | 2 +-
superset-frontend/.storybook/shared/VerifyCORS.tsx | 2 +-
.../e2e/dashboard/_skip.nativeFilters.test.ts | 4 +-
.../cypress/e2e/dashboard_list/filter.test.ts | 47 -
.../cypress/e2e/dashboard_list/list.test.ts | 279 --
superset-frontend/cypress-base/package-lock.json | 12 +-
superset-frontend/oxlint.json | 4 +-
superset-frontend/package-lock.json | 2681 ++++++++------------
superset-frontend/package.json | 28 +-
.../packages/generator-superset/package.json | 2 +-
.../packages/superset-core/package.json | 64 +-
.../superset-core/src/api/contributions.ts | 147 --
.../packages/superset-core/src/api/index.ts | 42 -
.../authentication.ts => authentication/index.ts} | 0
.../src/{api/commands.ts => commands/index.ts} | 51 +-
.../src/{api/core.ts => common/index.ts} | 74 +-
.../{ui => }/components/Alert/Alert.stories.tsx | 0
.../src/{ui => }/components/Alert/Alert.test.tsx | 0
.../src/{ui => }/components/Alert/index.tsx | 0
.../superset-core/src/{ui => }/components/index.ts | 0
.../superset-core/src/contributions/index.ts | 85 +
.../src/{api/editors.ts => editors/index.ts} | 105 +-
.../src/{api/extensions.ts => extensions/index.ts} | 2 +-
.../packages/superset-core/src/index.ts | 16 +-
.../packages/superset-core/src/menus/index.ts | 104 +
.../src/{api/sqlLab.ts => sqlLab/index.ts} | 4 +-
.../superset-core/src/{ui => }/testing.tsx | 0
.../src/{ui => }/theme/GlobalStyles.tsx | 11 +
.../src/{ui => }/theme/Theme.test.tsx | 73 +
.../superset-core/src/{ui => }/theme/Theme.tsx | 14 +
.../src/{ui => }/theme/exampleThemes.ts | 0
.../superset-core/src/{ui => }/theme/index.tsx | 0
.../superset-core/src/{ui => }/theme/types.ts | 0
.../src/{ui => }/theme/utils/index.ts | 0
.../src/{ui => }/theme/utils/themeUtils.test.ts | 0
.../src/{ui => }/theme/utils/themeUtils.ts | 0
.../src/{ui => }/theme/utils/utils.test.ts | 0
.../src/{ui => }/translation/README.md | 0
.../src/{ui => }/translation/Translator.ts | 2 +-
.../{ui => }/translation/TranslatorSingleton.ts | 0
.../src/{ui => }/translation/index.ts | 0
.../src/{ui => }/translation/types/index.ts | 0
.../src/{ui => }/translation/types/jed.ts | 0
.../src/{spec => }/utils/logging.test.ts | 4 +-
.../packages/superset-core/src/utils/logging.ts | 3 +-
.../packages/superset-core/src/views/index.ts | 90 +
.../src/components/CertifiedIconWithTooltip.tsx | 4 +-
.../src/components/ColumnOption.tsx | 2 +-
.../components/ColumnTypeLabel/ColumnTypeLabel.tsx | 6 +-
.../src/components/ControlHeader.tsx | 4 +-
.../src/components/ControlSubSectionHeader.tsx | 2 +-
.../src/components/MetricOption.tsx | 2 +-
.../src/components/SQLPopover.tsx | 4 +-
.../src/components/labelUtils.tsx | 4 +-
.../superset-ui-chart-controls/src/constants.ts | 4 +-
.../superset-ui-chart-controls/src/fixtures.ts | 2 +-
.../src/sections/advancedAnalytics.tsx | 2 +-
.../src/sections/annotationsAndLayers.tsx | 2 +-
.../src/sections/chartTitle.tsx | 2 +-
.../src/sections/echartsTimeSeriesQuery.tsx | 2 +-
.../src/sections/forecastInterval.tsx | 2 +-
.../src/sections/matrixify.tsx | 2 +-
.../src/sections/sections.tsx | 2 +-
.../src/sections/timeComparison.tsx | 2 +-
.../components/RadioButtonControl.tsx | 2 +-
.../src/shared-controls/customControls.tsx | 4 +-
.../src/shared-controls/dndControls.tsx | 4 +-
.../src/shared-controls/matrixifyControls.tsx | 2 +-
.../src/shared-controls/mixins.tsx | 2 +-
.../src/shared-controls/sharedControls.tsx | 17 +-
.../superset-ui-chart-controls/src/types.ts | 3 +-
.../src/utils/D3Formatting.ts | 2 +-
.../src/utils/checkColumnType.ts | 2 +-
.../src/utils/columnChoices.ts | 2 +-
.../src/utils/getColorFormatters.ts | 2 +-
.../src/utils/isSortable.ts | 2 +-
.../src/utils/metricColumnFilter.test.ts | 8 +
.../test/components/ColumnOption.test.tsx | 2 +-
.../test/components/ColumnTypeLabel.test.tsx | 2 +-
.../test/shared-controls/customControls.test.tsx | 2 +-
.../test/utils/checkColumnType.test.ts | 2 +-
.../test/utils/columnChoices.test.tsx | 2 +-
.../test/utils/getColorFormatters.test.ts | 43 +-
.../test/utils/getTemporalColumns.test.ts | 2 +-
.../test/utils/isSortable.test.ts | 2 +-
.../packages/superset-ui-core/package.json | 6 +-
.../src/chart/components/FallbackComponent.tsx | 4 +-
.../Matrixify/MatrixifyGridCell.test.tsx | 2 +-
.../components/Matrixify/MatrixifyGridCell.tsx | 4 +-
.../Matrixify/MatrixifyGridGenerator.test.ts | 120 +
.../components/Matrixify/MatrixifyGridGenerator.ts | 8 +-
.../Matrixify/MatrixifyGridRenderer.test.tsx | 4 +-
.../components/Matrixify/MatrixifyGridRenderer.tsx | 2 +-
.../src/chart/components/NoResultsComponent.tsx | 3 +-
.../src/chart/components/StatefulChart.tsx | 2 +-
.../src/chart/components/SuperChartCore.tsx | 2 +-
.../src/chart/models/ChartProps.ts | 2 +-
.../src/chart/types/matrixify.mocks.test.ts | 11 +-
.../src/chart/types/matrixify.test.ts | 82 +
.../superset-ui-core/src/chart/types/matrixify.ts | 36 +-
.../src/components/ActionButton/index.tsx | 2 +-
.../src/components/AsyncAceEditor/index.tsx | 8 +-
.../AsyncAceEditor/useJsonValidation.test.ts | 25 +
.../src/components/Badge/index.tsx | 2 +-
.../src/components/Button/index.tsx | 2 +-
.../src/components/CachedLabel/TooltipContent.tsx | 2 +-
.../src/components/CachedLabel/index.tsx | 2 +-
.../superset-ui-core/src/components/Card/index.tsx | 2 +-
.../CertifiedBadge/CertifiedBadge.stories.tsx | 2 +-
.../src/components/CertifiedBadge/index.tsx | 4 +-
.../src/components/Checkbox/CheckboxIcons.tsx | 2 +-
.../src/components/CodeSyntaxHighlighter/index.tsx | 2 +-
.../src/components/Collapse/Collapse.tsx | 2 +-
.../components/Collapse/CollapseLabelInModal.tsx | 2 +-
.../components/ConfirmModal/ConfirmModal.test.tsx | 2 +-
.../src/components/ConfirmModal/index.tsx | 4 +-
.../src/components/CronPicker/index.tsx | 4 +-
.../src/components/DatePicker/index.tsx | 2 +-
.../src/components/DeleteModal/index.tsx | 4 +-
.../src/components/Divider/index.tsx | 2 +-
.../src/components/Dropdown/index.tsx | 2 +-
.../src/components/DropdownButton/index.tsx | 2 +-
.../DropdownContainer.stories.tsx | 2 +-
.../DropdownContainer/DropdownContainer.tsx | 4 +-
.../src/components/DynamicEditableTitle/index.tsx | 4 +-
.../src/components/EditableTitle/index.tsx | 4 +-
.../src/components/EmptyState/index.tsx | 4 +-
.../src/components/FaveStar/index.tsx | 4 +-
.../src/components/Flex/Flex.stories.tsx | 2 +-
.../src/components/Form/FormItem.tsx | 2 +-
.../src/components/Form/FormLabel.tsx | 2 +-
.../src/components/Form/LabeledErrorBoundInput.tsx | 4 +-
.../src/components/IconButton/index.tsx | 2 +-
.../components/IconTooltip/IconTooltip.stories.tsx | 2 +-
.../src/components/Icons/AntdEnhanced.tsx | 10 +-
.../src/components/Icons/BaseIcon.tsx | 2 +-
.../src/components/Icons/Icons.stories.tsx | 2 +-
.../src/components/InfoTooltip/index.tsx | 4 +-
.../src/components/Label/index.tsx | 2 +-
.../components/Label/reusable/DatasetTypeLabel.tsx | 4 +-
.../components/Label/reusable/PublishedLabel.tsx | 4 +-
.../src/components/LastUpdated/index.tsx | 4 +-
.../src/components/List/List.test.tsx | 10 +
.../superset-ui-core/src/components/List/index.ts | 2 +-
.../src/components/ListViewCard/ImageLoader.tsx | 4 +-
.../src/components/ListViewCard/index.tsx | 2 +-
.../src/components/Loading/index.test.tsx | 2 +-
.../src/components/Loading/index.tsx | 4 +-
.../superset-ui-core/src/components/Menu/index.tsx | 2 +-
.../src/components/Metadata/index.tsx | 2 +-
.../src/components/MetadataBar/ContentConfig.tsx | 4 +-
.../components/MetadataBar/MetadataBar.stories.tsx | 2 +-
.../components/MetadataBar/MetadataBar.test.tsx | 2 +-
.../src/components/MetadataBar/MetadataBar.tsx | 2 +-
.../src/components/Modal/FormModal.tsx | 2 +-
.../src/components/Modal/Modal.tsx | 4 +-
.../src/components/PageHeaderWithActions/index.tsx | 4 +-
.../src/components/PopoverDropdown/index.tsx | 2 +-
.../src/components/PopoverSection/index.tsx | 2 +-
.../src/components/ProgressBar/index.tsx | 2 +-
.../src/components/Radio/Radio.stories.tsx | 2 +-
.../src/components/RefreshLabel/index.tsx | 2 +-
.../src/components/Select/AsyncSelect.tsx | 2 +-
.../src/components/Select/Select.tsx | 2 +-
.../src/components/Select/constants.test.ts | 49 +
.../src/components/Select/constants.ts | 2 +-
.../src/components/Select/styles.tsx | 5 +-
.../src/components/Select/utils.tsx | 2 +-
.../src/components/Table/VirtualTable.tsx | 2 +-
.../Table/cell-renderers/ActionCell/index.tsx | 2 +-
.../Table/cell-renderers/NullCell/index.tsx | 2 +-
.../Table/cell-renderers/NumericCell/index.tsx | 2 +-
.../header-renderers/HeaderWithRadioGroup.tsx | 2 +-
.../src/components/Table/index.tsx | 6 +-
.../Table/utils/InteractiveTableUtils.test.ts | 574 +++++
.../src/components/TableCollection/index.tsx | 2 +-
.../src/components/TableView/TableView.tsx | 2 +-
.../superset-ui-core/src/components/Tabs/Tabs.tsx | 2 +-
.../ThemedAgGridReact/ThemedAgGridReact.test.tsx | 8 +-
.../src/components/ThemedAgGridReact/index.tsx | 5 +-
.../src/components/Timer/index.tsx | 2 +-
.../src/components/TimezoneSelector/index.tsx | 2 +-
.../src/components/TruncatedList/index.tsx | 4 +-
.../src/components/Typography/index.tsx | 2 +-
.../src/components/UnsavedChangesModal/index.tsx | 2 +-
.../components/WarningIconWithTooltip/index.tsx | 2 +-
.../superset-ui-core/src/components/constants.ts | 2 +-
.../superset-ui-core/src/components/index.ts | 1 +
.../src/query/extractQueryFields.ts | 2 +-
.../src/query/getClientErrorObject.ts | 2 +-
.../superset-ui-core/src/query/types/Column.ts | 2 +-
.../superset-ui-core/src/query/types/Query.ts | 2 +-
.../src/query/types/QueryResponse.ts | 2 +-
.../packages/superset-ui-core/src/spec/index.tsx | 2 +-
.../src/style/stories/Theme.stories.tsx | 2 +-
.../src/types/react-syntax-highlighter.d.ts | 7 -
.../superset-ui-core/src/utils/featureFlags.ts | 2 +-
.../src/utils/rankedSearchCompare.test.ts | 20 +
.../packages/superset-ui-core/src/utils/tooltip.ts | 2 +-
.../List/List.test.tsx => utils/withLabel.test.ts} | 33 +-
.../src/validator/legacyValidateInteger.ts | 2 +-
.../src/validator/legacyValidateNumber.ts | 2 +-
.../src/validator/validateInteger.ts | 2 +-
.../src/validator/validateMapboxStylesUrl.ts | 2 +-
.../src/validator/validateMaxValue.ts | 2 +-
.../src/validator/validateNonEmpty.ts | 2 +-
.../src/validator/validateNumber.ts | 2 +-
.../src/validator/validateServerPagination.ts | 2 +-
.../validator/validateTimeComparisonRangeValues.ts | 2 +-
.../test/chart/clients/ChartClient.test.ts | 2 +-
.../test/chart/components/MockChartPlugins.tsx | 2 +-
.../test/chart/components/SuperChartCore.test.tsx | 2 +-
.../test/chart/models/ChartPlugin.test.tsx | 2 +-
.../test/chart/models/ChartProps.test.ts | 2 +-
.../Icons/AsyncIcon.integration.test.tsx | 2 +-
.../test/connection/SupersetClient.test.ts | 6 +
.../test/connection/SupersetClientClass.test.ts | 33 +
.../test/currency-format/CurrencyFormatter.test.ts | 78 +
.../test/currency-format/utils.test.ts | 193 ++
.../packages/superset-ui-core/test/fixtures.ts | 2 +-
.../test/query/extractQueryFields.test.ts | 2 +-
.../test/query/types/Column.test.ts | 14 +
.../test/query/types/Dashboard.test.ts | 33 +
.../test/utils/featureFlag.test.ts | 4 +-
.../superset-ui-core/test/validator/setup.ts | 2 +-
.../playwright/helpers/api/dashboard.ts | 170 ++
.../playwright/helpers/fixtures/testAssets.ts | 24 +-
.../playwright/pages/DashboardListPage.ts | 139 +
.../experimental/dashboard/dashboard-list.spec.ts | 403 +++
.../dashboard/dashboard-test-helpers.ts | 74 +
.../legacy-plugin-chart-calendar/src/Calendar.ts | 3 +-
.../src/ReactCalendar.tsx | 2 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-calendar/src/index.ts | 2 +-
.../src/vendor/cal-heatmap.ts | 2 +-
.../legacy-plugin-chart-chord/src/ReactChord.tsx | 2 +-
.../legacy-plugin-chart-chord/src/controlPanel.ts | 2 +-
.../plugins/legacy-plugin-chart-chord/src/index.ts | 2 +-
.../src/ReactCountryMap.tsx | 2 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-country-map/src/index.ts | 2 +-
.../src/stories/CountryMap.stories.tsx | 2 +-
.../src/HorizonChart.tsx | 2 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-horizon/src/index.ts | 2 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-map-box/src/index.ts | 2 +-
.../src/stories/MapBox.stories.tsx | 2 +-
.../src/stories/data.ts | 2 +-
.../src/PairedTTest.tsx | 2 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-paired-t-test/src/index.ts | 2 +-
.../src/ReactParallelCoordinates.tsx | 2 +-
.../src/controlPanel.ts | 2 +-
.../src/index.ts | 2 +-
.../src/ReactPartition.tsx | 2 +-
.../src/controlPanel.tsx | 2 +-
.../legacy-plugin-chart-partition/src/index.ts | 2 +-
.../legacy-plugin-chart-rose/src/ReactRose.tsx | 2 +-
.../legacy-plugin-chart-rose/src/controlPanel.tsx | 2 +-
.../plugins/legacy-plugin-chart-rose/src/index.ts | 2 +-
.../src/ReactWorldMap.tsx | 2 +-
.../legacy-plugin-chart-world-map/src/WorldMap.ts | 20 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-world-map/src/index.ts | 2 +-
.../test/WorldMap.test.ts | 141 +-
.../src/DeckGLContainer.tsx | 2 +-
.../src/Multi/Multi.test.tsx | 2 +-
.../legacy-preset-chart-deckgl/src/Multi/Multi.tsx | 2 +-
.../src/Multi/controlPanel.ts | 2 +-
.../legacy-preset-chart-deckgl/src/Multi/index.ts | 2 +-
.../src/components/Legend.tsx | 2 +-
.../src/components/Tooltip.tsx | 2 +-
.../src/layers/Arc/controlPanel.ts | 2 +-
.../src/layers/Arc/index.ts | 2 +-
.../src/layers/Contour/Contour.tsx | 2 +-
.../src/layers/Contour/controlPanel.ts | 2 +-
.../src/layers/Contour/index.ts | 2 +-
.../src/layers/Geojson/controlPanel.ts | 2 +-
.../src/layers/Geojson/index.ts | 2 +-
.../src/layers/Grid/controlPanel.ts | 2 +-
.../src/layers/Grid/index.ts | 2 +-
.../src/layers/Heatmap/Heatmap.tsx | 2 +-
.../src/layers/Heatmap/controlPanel.ts | 2 +-
.../src/layers/Heatmap/index.ts | 2 +-
.../src/layers/Hex/controlPanel.ts | 2 +-
.../src/layers/Hex/index.ts | 2 +-
.../src/layers/Path/controlPanel.ts | 2 +-
.../src/layers/Path/index.ts | 2 +-
.../src/layers/Path/stories/Path.stories.tsx | 2 +-
.../src/layers/Polygon/Polygon.test.tsx | 2 +-
.../src/layers/Polygon/Polygon.tsx | 2 +-
.../src/layers/Polygon/controlPanel.ts | 2 +-
.../src/layers/Polygon/index.ts | 2 +-
.../src/layers/Scatter/Scatter.tsx | 2 +-
.../src/layers/Scatter/controlPanel.ts | 2 +-
.../src/layers/Scatter/index.ts | 2 +-
.../src/layers/Screengrid/Screengrid.tsx | 4 +-
.../src/layers/Screengrid/controlPanel.ts | 2 +-
.../src/layers/Screengrid/index.ts | 2 +-
.../src/layers/spatialUtils.test.ts | 2 +-
.../src/utilities/HandlebarsRenderer.tsx | 4 +-
.../src/utilities/Shared_DeckGL.tsx | 2 +-
.../src/utilities/TooltipTemplateControl.tsx | 4 +-
.../src/utilities/TooltipTemplateEditor.tsx | 2 +-
.../src/utilities/sharedDndControls.tsx | 2 +-
.../src/utilities/tooltipUtils.tsx | 2 +-
.../src/Bubble/controlPanel.ts | 2 +-
.../legacy-preset-chart-nvd3/src/Bubble/index.ts | 2 +-
.../src/Bullet/controlPanel.ts | 2 +-
.../legacy-preset-chart-nvd3/src/Bullet/index.ts | 2 +-
.../src/Compare/controlPanel.ts | 2 +-
.../legacy-preset-chart-nvd3/src/Compare/index.ts | 2 +-
.../legacy-preset-chart-nvd3/src/NVD3Controls.tsx | 2 +-
.../legacy-preset-chart-nvd3/src/NVD3Vis.ts | 2 +-
.../legacy-preset-chart-nvd3/src/ReactNVD3.tsx | 2 +-
.../src/TimePivot/controlPanel.ts | 2 +-
.../src/TimePivot/index.ts | 2 +-
.../src/vendor/superset/AnnotationTypes.ts | 2 +-
.../src/AgGridTable/components/CustomHeader.tsx | 2 +-
.../src/AgGridTable/components/Pagination.tsx | 2 +-
.../components/TimeComparisonVisibility.tsx | 2 +-
.../src/AgGridTable/index.tsx | 2 +-
.../src/AgGridTableChart.tsx | 4 +-
.../src/controlPanel.tsx | 4 +-
.../plugin-chart-ag-grid-table/src/index.ts | 2 +-
.../src/renderers/NumericCellRenderer.tsx | 6 +-
.../src/renderers/TextCellRenderer.tsx | 2 +-
.../plugin-chart-ag-grid-table/src/stories/data.ts | 2 +-
.../src/styles/index.tsx | 2 +-
.../src/transformProps.ts | 4 +-
.../src/utils/formatValue.ts | 2 +-
.../src/utils/useColDefs.ts | 34 +-
.../src/utils/useTableTheme.ts | 2 +-
.../test/controlPanel.test.tsx | 2 +-
.../test/utils/useColDefs.test.ts | 135 +
.../src/CartodiagramPlugin.tsx | 2 +-
.../src/components/ChartLayer.tsx | 2 +-
.../src/components/ChartWrapper.tsx | 2 +-
.../src/plugin/controlPanel.ts | 2 +-
.../plugin-chart-cartodiagram/src/plugin/index.ts | 2 +-
.../plugins/plugin-chart-cartodiagram/src/types.ts | 2 +-
.../src/util/chartUtil.tsx | 2 +-
.../src/util/controlPanelUtil.tsx | 2 +-
.../test/plugin/transformProps.test.ts | 2 +-
.../plugins/plugin-chart-echarts/package.json | 4 +-
.../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx | 4 +-
.../BigNumberPeriodOverPeriod/controlPanel.ts | 4 +-
.../BigNumber/BigNumberPeriodOverPeriod/index.ts | 2 +-
.../src/BigNumber/BigNumberTotal/controlPanel.ts | 4 +-
.../src/BigNumber/BigNumberTotal/index.ts | 2 +-
.../BigNumberTotal/transformProps.test.ts | 2 +-
.../src/BigNumber/BigNumberTotal/transformProps.ts | 2 +-
.../src/BigNumber/BigNumberViz.tsx | 4 +-
.../BigNumberWithTrendline/buildQuery.test.ts | 4 +-
.../BigNumber/BigNumberWithTrendline/buildQuery.ts | 2 +-
.../BigNumberWithTrendline/controlPanel.tsx | 2 +-
.../src/BigNumber/BigNumberWithTrendline/index.ts | 2 +-
.../BigNumberWithTrendline/transformProps.test.ts | 2 +-
.../BigNumberWithTrendline/transformProps.ts | 4 +-
.../src/BigNumber/sharedControls.ts | 2 +-
.../plugin-chart-echarts/src/BigNumber/types.ts | 1 +
.../src/BoxPlot/controlPanel.ts | 2 +-
.../plugin-chart-echarts/src/BoxPlot/index.ts | 2 +-
.../src/Bubble/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Bubble/index.ts | 2 +-
.../src/Funnel/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Funnel/index.ts | 2 +-
.../src/Gantt/EchartsGantt.tsx | 2 +-
.../src/Gantt/controlPanel.tsx | 4 +-
.../plugin-chart-echarts/src/Gantt/index.ts | 2 +-
.../src/Gantt/transformProps.ts | 4 +-
.../plugin-chart-echarts/src/Gauge/constants.ts | 2 +-
.../src/Gauge/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Gauge/index.ts | 2 +-
.../plugin-chart-echarts/src/Graph/buildQuery.ts | 21 +-
.../src/Graph/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Graph/index.ts | 2 +-
.../plugin-chart-echarts/src/Heatmap/Heatmap.tsx | 3 +-
.../src/Heatmap/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Heatmap/index.ts | 2 +-
.../src/Heatmap/transformProps.ts | 4 +-
.../src/Histogram/controlPanel.tsx | 4 +-
.../plugin-chart-echarts/src/Histogram/index.ts | 2 +-
.../src/MixedTimeseries/buildQuery.ts | 2 +-
.../src/MixedTimeseries/controlPanel.tsx | 3 +-
.../src/MixedTimeseries/index.ts | 2 +-
.../src/MixedTimeseries/transformProps.ts | 22 +-
.../plugin-chart-echarts/src/Pie/controlPanel.tsx | 2 +-
.../plugins/plugin-chart-echarts/src/Pie/index.ts | 2 +-
.../plugin-chart-echarts/src/Pie/transformProps.ts | 2 +-
.../src/Radar/controlPanel.tsx | 4 +-
.../plugin-chart-echarts/src/Radar/index.ts | 2 +-
.../plugin-chart-echarts/src/Sankey/buildQuery.ts | 19 +-
.../src/Sankey/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Sankey/index.ts | 2 +-
.../src/Sunburst/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Sunburst/index.ts | 2 +-
.../src/Sunburst/transformProps.ts | 2 +-
.../src/Timeseries/Area/controlPanel.tsx | 3 +-
.../src/Timeseries/Area/index.ts | 2 +-
.../src/Timeseries/Regular/Bar/controlPanel.tsx | 5 +-
.../src/Timeseries/Regular/Bar/index.ts | 2 +-
.../src/Timeseries/Regular/Line/controlPanel.tsx | 3 +-
.../src/Timeseries/Regular/Line/index.ts | 2 +-
.../Timeseries/Regular/Scatter/controlPanel.tsx | 2 +-
.../src/Timeseries/Regular/Scatter/index.ts | 2 +-
.../Timeseries/Regular/SmoothLine/controlPanel.tsx | 3 +-
.../src/Timeseries/Regular/SmoothLine/index.ts | 2 +-
.../src/Timeseries/Step/controlPanel.tsx | 2 +-
.../src/Timeseries/Step/index.ts | 2 +-
.../src/Timeseries/buildQuery.ts | 6 +-
.../src/Timeseries/constants.ts | 2 +-
.../plugin-chart-echarts/src/Timeseries/index.ts | 2 +-
.../src/Timeseries/transformProps.ts | 188 +-
.../src/Timeseries/transformers.ts | 51 +-
.../plugin-chart-echarts/src/Timeseries/types.ts | 2 +
.../plugin-chart-echarts/src/Tree/buildQuery.ts | 15 +-
.../plugin-chart-echarts/src/Tree/controlPanel.tsx | 2 +-
.../plugins/plugin-chart-echarts/src/Tree/index.ts | 2 +-
.../src/Tree/transformProps.ts | 10 +-
.../src/Treemap/EchartsTreemap.tsx | 2 +-
.../plugin-chart-echarts/src/Treemap/buildQuery.ts | 16 +-
.../src/Treemap/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Treemap/index.ts | 2 +-
.../src/Waterfall/constants.ts | 2 +-
.../src/Waterfall/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Waterfall/index.ts | 2 +-
.../src/Waterfall/transformProps.ts | 2 +-
.../plugin-chart-echarts/src/components/Echart.tsx | 42 +-
.../src/components/ExtraControls.tsx | 2 +-
.../plugins/plugin-chart-echarts/src/constants.ts | 2 +-
.../plugins/plugin-chart-echarts/src/controls.tsx | 30 +-
.../plugins/plugin-chart-echarts/src/index.ts | 3 +
.../plugins/plugin-chart-echarts/src/types.ts | 1 +
.../src/utils/eChartOptionsSchema.ts | 827 ++++++
.../plugin-chart-echarts/src/utils/formatters.ts | 91 +-
.../src/utils/mergeCustomEChartOptions.test.ts | 163 ++
.../src/utils/mergeCustomEChartOptions.ts | 79 +
.../plugin-chart-echarts/src/utils/orderby.test.ts | 16 +-
.../plugin-chart-echarts/src/utils/orderby.ts | 51 +
.../src/utils/safeEChartOptionsParser.test.ts | 525 ++++
.../src/utils/safeEChartOptionsParser.ts | 477 ++++
.../plugin-chart-echarts/src/utils/series.ts | 10 +-
.../src/utils/themeOverrides.test.ts | 623 +++--
.../src/utils/themeOverrides.ts | 89 +
.../test/BigNumber/transformProps.test.ts | 2 +-
.../test/BoxPlot/transformProps.test.ts | 2 +-
.../test/Bubble/transformProps.test.ts | 2 +-
.../test/Funnel/transformProps.test.ts | 2 +-
.../test/Gantt/transformProps.test.ts | 2 +-
.../test/Gauge/transformProps.test.ts | 2 +-
.../test/Graph/buildQuery.test.ts | 2 +
.../test/Graph/transformProps.test.ts | 2 +-
.../test/Heatmap/transformProps.test.ts | 2 +-
.../test/MixedTimeseries/transformProps.test.ts | 2 +-
.../test/Pie/transformProps.test.ts | 2 +-
.../test/Radar/transformProps.test.ts | 2 +-
.../test/Timeseries/Bar/transformProps.test.ts | 285 ++-
.../test/Timeseries/Scatter/transformProps.test.ts | 12 +-
.../test/Timeseries/transformProps.test.ts | 8 +-
.../test/Timeseries/transformers.test.ts | 100 +-
.../test/Tree/buildQuery.test.ts | 33 +-
.../test/Tree/transformProps.test.ts | 2 +-
.../test/Treemap/transformProps.test.ts | 2 +-
.../test/Waterfall/transformProps.test.ts | 2 +-
.../plugins/plugin-chart-echarts/test/helpers.ts | 2 +-
.../test/utils/formatters.test.ts | 174 +-
.../plugin-chart-echarts/test/utils/series.test.ts | 6 +-
.../test/utils/transformers.test.ts | 2 +-
.../plugins/plugin-chart-handlebars/package.json | 2 +-
.../plugin-chart-handlebars/src/Handlebars.tsx | 2 +-
.../src/components/Handlebars/HandlebarsViewer.tsx | 4 +-
.../src/plugin/controlPanel.tsx | 2 +-
.../src/plugin/controls/columns.tsx | 2 +-
.../src/plugin/controls/handlebarTemplate.tsx | 4 +-
.../src/plugin/controls/includeTime.ts | 2 +-
.../src/plugin/controls/metrics.tsx | 2 +-
.../src/plugin/controls/orderBy.tsx | 2 +-
.../src/plugin/controls/queryMode.tsx | 2 +-
.../src/plugin/controls/shared.ts | 2 +-
.../src/plugin/controls/style.tsx | 4 +-
.../plugin-chart-handlebars/src/plugin/index.ts | 2 +-
.../test/plugin/transformProps.test.ts | 2 +-
.../src/PivotTableChart.tsx | 4 +-
.../src/plugin/controlPanel.tsx | 2 +-
.../plugin-chart-pivot-table/src/plugin/index.ts | 2 +-
.../src/plugin/transformProps.ts | 2 +-
.../src/react-pivottable/Styles.ts | 2 +-
.../src/react-pivottable/TableRenderers.tsx | 2 +-
.../src/react-pivottable/utilities.ts | 2 +-
.../test/plugin/transformProps.test.ts | 2 +-
.../plugin-chart-table/src/DataTable/DataTable.tsx | 2 +-
.../src/DataTable/components/GlobalFilter.tsx | 2 +-
.../DataTable/components/SearchSelectDropdown.tsx | 2 +-
.../src/DataTable/components/SelectPageSize.tsx | 4 +-
.../src/DataTable/hooks/useSticky.tsx | 2 +-
.../plugins/plugin-chart-table/src/Styles.tsx | 2 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 7 +-
.../plugins/plugin-chart-table/src/consts.ts | 2 +-
.../plugin-chart-table/src/controlPanel.tsx | 4 +-
.../plugins/plugin-chart-table/src/index.ts | 2 +-
.../plugin-chart-table/src/stories/testData.ts | 2 +-
.../plugin-chart-table/src/transformProps.ts | 4 +-
.../plugin-chart-table/src/utils/formatValue.ts | 2 +-
.../plugin-chart-table/test/TableChart.test.tsx | 2 +-
.../plugin-chart-table/test/controlPanel.test.tsx | 2 +-
.../plugins/plugin-chart-table/test/testData.ts | 4 +-
.../plugin-chart-table/test/testHelpers.tsx | 2 +-
.../test/utils/formatValue.test.ts | 2 +-
.../plugins/plugin-chart-word-cloud/package.json | 2 +-
.../src/chart/WordCloud.tsx | 2 +-
.../src/plugin/buildQuery.ts | 17 +-
.../src/plugin/controlPanel.tsx | 2 +-
.../ColorSchemeControl/ColorSchemeLabel.tsx | 2 +-
.../plugin/controls/ColorSchemeControl/index.tsx | 4 +-
.../src/plugin/controls/RotationControl.tsx | 2 +-
.../plugin-chart-word-cloud/src/plugin/index.ts | 2 +-
.../scripts/eslint-metrics-uploader.js | 144 --
.../scripts/oxlint-metrics-uploader.js | 7 +-
superset-frontend/spec/helpers/ProviderWrapper.tsx | 2 +-
superset-frontend/spec/helpers/shim.tsx | 2 +-
superset-frontend/spec/helpers/testing-library.tsx | 7 +-
.../src/SqlLab/SqlLabGlobalStyles.tsx | 2 +-
superset-frontend/src/SqlLab/actions/sqlLab.ts | 4 +-
.../src/SqlLab/components/App/index.tsx | 4 +-
.../SqlLab/components/AppLayout/AppLayout.test.tsx | 79 +-
.../src/SqlLab/components/AppLayout/index.tsx | 11 +-
.../src/SqlLab/components/ColumnElement/index.tsx | 4 +-
.../EditorAutoSync/EditorAutoSync.test.tsx | 6 +-
.../src/SqlLab/components/EditorAutoSync/index.tsx | 2 +-
.../src/SqlLab/components/EditorWrapper/index.tsx | 2 +-
.../components/EditorWrapper/useAnnotations.ts | 2 +-
.../SqlLab/components/EditorWrapper/useKeywords.ts | 2 +-
.../components/EstimateQueryCostButton/index.tsx | 5 +-
.../components/ExploreCtasResultsButton/index.tsx | 2 +-
.../components/ExploreResultsButton/index.tsx | 2 +-
.../src/SqlLab/components/HighlightedSql/index.tsx | 2 +-
.../components/KeyboardShortcutButton/index.tsx | 4 +-
.../src/SqlLab/components/QueryHistory/index.tsx | 4 +-
.../SqlLab/components/QueryLimitSelect/index.tsx | 2 +-
.../SqlLab/components/QueryStateLabel/index.tsx | 2 +-
.../src/SqlLab/components/QueryStatusBar/index.tsx | 3 +-
.../src/SqlLab/components/QueryTable/index.tsx | 4 +-
.../src/SqlLab/components/QueryTable/styles.ts | 2 +-
.../src/SqlLab/components/ResultSet/index.tsx | 7 +-
.../components/RunQueryActionButton/index.tsx | 4 +-
.../components/SaveDatasetActionButton/index.tsx | 2 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 4 +-
.../src/SqlLab/components/SaveQuery/index.tsx | 4 +-
.../components/ScheduleQueryButton/index.tsx | 4 +-
.../SqlLab/components/ShareSqlLabQuery/index.tsx | 4 +-
.../src/SqlLab/components/SouthPane/Results.tsx | 5 +-
.../src/SqlLab/components/SouthPane/index.tsx | 24 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 5 +-
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 4 +-
.../SqlLab/components/SqlEditorTabHeader/index.tsx | 9 +-
.../SqlLab/components/SqlEditorTopBar/index.tsx | 2 +-
.../SqlLab/components/StatusBar/StatusBar.test.tsx | 14 +-
.../src/SqlLab/components/StatusBar/index.tsx | 11 +-
.../SqlLab/components/TabbedSqlEditors/index.tsx | 4 +-
.../src/SqlLab/components/TableElement/index.tsx | 4 +-
.../TableExploreTree/TreeNodeRenderer.tsx | 3 +-
.../SqlLab/components/TableExploreTree/index.tsx | 3 +-
.../components/TableExploreTree/useTreeData.ts | 2 +-
.../src/SqlLab/components/TablePreview/index.tsx | 7 +-
.../components/TemplateParamsEditor/index.tsx | 4 +-
superset-frontend/src/SqlLab/constants.ts | 4 +-
superset-frontend/src/SqlLab/fixtures.ts | 2 +-
.../src/SqlLab/reducers/getInitialState.ts | 2 +-
superset-frontend/src/SqlLab/reducers/sqlLab.ts | 2 +-
.../src/SqlLab/utils/newQueryTabName.ts | 2 +-
.../DeckglLayerVisibilityCustomizationPlugin.tsx | 4 +-
.../components/DeckglLayerVisibility/index.ts | 2 +-
.../DynamicGroupBy/DynamicGroupByPlugin.tsx | 2 +-
.../components/DynamicGroupBy/controlPanel.ts | 2 +-
.../components/DynamicGroupBy/index.ts | 2 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 4 +-
.../components/TimeColumn/controlPanel.ts | 2 +-
.../components/TimeColumn/index.ts | 2 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 2 +-
.../components/TimeGrain/controlPanel.ts | 2 +-
.../components/TimeGrain/index.ts | 2 +-
.../src/chartCustomizations/components/common.ts | 2 +-
.../src/components/AlteredSliceTag/index.tsx | 2 +-
.../src/components/AuditInfo/index.tsx | 2 +-
superset-frontend/src/components/Chart/Chart.tsx | 13 +-
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 4 +-
.../components/Chart/ChartErrorMessage.test.tsx | 13 +
.../src/components/Chart/ChartErrorMessage.tsx | 1 +
.../src/components/Chart/ChartRenderer.test.tsx | 70 +-
.../src/components/Chart/ChartRenderer.tsx | 22 +-
.../components/Chart/DisabledMenuItemTooltip.tsx | 2 +-
.../src/components/Chart/DrillBy/DrillByChart.tsx | 2 +-
.../src/components/Chart/DrillBy/DrillByModal.tsx | 5 +-
.../components/Chart/DrillBy/DrillBySubmenu.tsx | 4 +-
.../Chart/DrillBy/useDisplayModeToggle.tsx | 4 +-
.../Chart/DrillBy/useResultsTableView.tsx | 3 +-
.../Chart/DrillDetail/DrillDetailModal.tsx | 4 +-
.../Chart/DrillDetail/DrillDetailPane.tsx | 6 +-
.../Chart/DrillDetail/DrillDetailTableControls.tsx | 4 +-
.../src/components/Chart/DrillDetail/types.ts | 2 +-
.../components/Chart/MenuItemWithTruncation.tsx | 2 +-
.../src/components/Chart/chartAction.ts | 26 +-
.../src/components/Chart/chartReducer.ts | 10 +-
.../src/components/Chart/chartReducers.test.ts | 30 +-
.../Chart/useDrillDetailMenuItems/index.tsx | 4 +-
.../src/components/CopyToClipboard/index.tsx | 4 +-
.../src/components/CrudThemeProvider.tsx | 2 +-
.../src/components/DatabaseSelector/index.tsx | 4 +-
.../src/components/DatabaseSelector/styles.ts | 2 +-
.../Datasource/ChangeDatasourceModal/index.tsx | 5 +-
.../Datasource/DatasourceModal/index.tsx | 5 +-
.../FoldersEditor/FoldersEditor.test.tsx | 336 +++
.../Datasource/FoldersEditor/TreeItem.styles.ts | 4 +-
.../Datasource/FoldersEditor/TreeItem.tsx | 5 +-
.../FoldersEditor/VirtualizedTreeItem.tsx | 8 +
.../FoldersEditor/VirtualizedTreeList.tsx | 4 +
.../components/DragOverlayContent.test.tsx | 124 +
.../components/DragOverlayContent.tsx | 66 +-
.../components/FoldersToolbarComponent.tsx | 118 +-
.../FoldersEditor/components/ResetConfirmModal.tsx | 2 +-
.../Datasource/FoldersEditor/constants.ts | 3 +
.../FoldersEditor/folderOperations.test.ts | 106 +
.../Datasource/FoldersEditor/folderOperations.ts | 59 +-
.../Datasource/FoldersEditor/folderValidation.ts | 2 +-
.../hooks/useContainingBlockModifier.ts | 78 +
.../FoldersEditor/hooks/useDragHandlers.test.ts | 164 ++
.../FoldersEditor/hooks/useDragHandlers.ts | 266 +-
.../FoldersEditor/hooks/useItemHeights.ts | 9 +-
.../components/Datasource/FoldersEditor/index.tsx | 281 +-
.../Datasource/FoldersEditor/sensors.test.ts | 120 +
.../components/Datasource/FoldersEditor/sensors.ts | 58 +-
.../components/Datasource/FoldersEditor/styles.tsx | 66 +-
.../Datasource/FoldersEditor/treeUtils.test.ts | 84 +
.../Datasource/FoldersEditor/treeUtils.ts | 46 +
.../components/CollectionTable/index.tsx | 4 +-
.../DatasourceEditor/DatasourceEditor.tsx | 63 +-
.../components/DashboardLinksExternal/index.tsx | 2 +-
.../components/DatasetUsageTab/index.tsx | 4 +-
.../tests/DatasourceEditorCurrency.test.tsx | 2 +-
.../Datasource/components/Field/index.tsx | 2 +-
.../Datasource/components/Fieldset/index.tsx | 2 +-
.../src/components/Datasource/utils/index.ts | 2 +-
.../src/components/Datasource/utils/utils.test.tsx | 2 +-
.../src/components/DynamicPlugins/index.tsx | 2 +-
.../src/components/ErrorBoundary/index.tsx | 2 +-
.../ErrorMessage/BasicErrorAlert.test.tsx | 2 +-
.../components/ErrorMessage/BasicErrorAlert.tsx | 6 +-
.../ErrorMessage/DatabaseErrorMessage.tsx | 6 +-
.../ErrorMessage/DatasetNotFoundErrorMessage.tsx | 4 +-
.../src/components/ErrorMessage/ErrorAlert.tsx | 5 +-
.../ErrorMessageWithStackTrace.test.tsx | 12 +
.../ErrorMessage/ErrorMessageWithStackTrace.tsx | 6 +-
.../ErrorMessage/FrontendNetworkErrorMessage.tsx | 4 +-
.../ErrorMessage/InvalidSQLErrorMessage.tsx | 4 +-
.../src/components/ErrorMessage/IssueCode.tsx | 4 +-
.../ErrorMessage/MarshmallowErrorMessage.tsx | 2 +-
.../ErrorMessage/OAuth2RedirectMessage.tsx | 4 +-
.../ErrorMessage/ParameterErrorMessage.tsx | 6 +-
.../ErrorMessage/TimeoutErrorMessage.tsx | 6 +-
.../src/components/ErrorMessage/types.ts | 1 +
.../src/components/FilterableTable/utils.tsx | 2 +-
.../src/components/GridTable/Header.tsx | 4 +-
.../src/components/GridTable/HeaderMenu.tsx | 4 +-
.../src/components/GridTable/index.tsx | 2 +-
.../src/components/ImportModal/ErrorAlert.tsx | 5 +-
.../components/ImportModal/ImportErrorAlert.tsx | 2 +-
.../src/components/ImportModal/index.tsx | 4 +-
.../src/components/ImportModal/styles.ts | 2 +-
.../src/components/JsonModal/index.tsx | 2 +-
.../src/components/LastQueriedLabel/index.tsx | 4 +-
.../src/components/ListView/ActionsBar.tsx | 2 +-
.../src/components/ListView/CardCollection.tsx | 2 +-
.../src/components/ListView/CardSortSelect.tsx | 4 +-
.../src/components/ListView/CrossLinks.tsx | 2 +-
.../src/components/ListView/CrossLinksTooltip.tsx | 4 +-
.../src/components/ListView/Filters/Base.ts | 2 +-
.../src/components/ListView/Filters/DateRange.tsx | 2 +-
.../components/ListView/Filters/NumericalRange.tsx | 4 +-
.../src/components/ListView/Filters/Search.tsx | 4 +-
.../src/components/ListView/Filters/Select.tsx | 2 +-
.../src/components/ListView/Filters/index.tsx | 2 +-
.../src/components/ListView/ListView.tsx | 5 +-
.../src/components/MessageToasts/Toast.tsx | 9 +-
.../components/MessageToasts/ToastPresenter.tsx | 2 +-
.../components/Modal/CollapsibleModalSection.tsx | 2 +-
.../src/components/Modal/ModalFormField.tsx | 2 +-
.../src/components/Modal/StandardModal.tsx | 4 +-
.../src/components/Modal/useModalValidation.tsx | 4 +-
.../src/components/ModalTitleWithIcon/index.tsx | 2 +-
.../src/components/PanelToolbar/index.tsx | 42 +-
.../src/components/ResizableSidebar/index.tsx | 2 +-
.../src/components/RowCountLabel/index.tsx | 2 +-
.../components/SQLEditorWithValidation/index.tsx | 4 +-
.../StreamingExportModal/StreamingExportModal.tsx | 4 +-
.../src/components/TableSelector/index.tsx | 4 +-
superset-frontend/src/components/Tag/index.tsx | 2 +-
superset-frontend/src/components/Tag/utils.tsx | 2 +-
.../src/components/TagsList/index.tsx | 2 +-
.../ViewListExtension/ViewListExtension.test.tsx | 228 +-
.../src/components/ViewListExtension/index.tsx | 24 +-
superset-frontend/src/core/commands/index.ts | 44 +-
.../src/core/editors/AceEditorProvider.test.tsx | 2 +-
.../src/core/editors/AceEditorProvider.tsx | 7 +
superset-frontend/src/core/editors/EditorHost.tsx | 10 +-
.../src/core/editors/EditorProviders.test.ts | 88 +-
.../src/core/editors/EditorProviders.ts | 37 +-
superset-frontend/src/core/editors/index.ts | 69 +-
superset-frontend/src/core/extensions/index.ts | 6 +-
superset-frontend/src/core/index.ts | 16 +-
superset-frontend/src/core/menus/index.test.ts | 124 +
superset-frontend/src/core/menus/index.ts | 83 +
superset-frontend/src/core/models.ts | 6 +-
superset-frontend/src/core/sqlLab/models.ts | 5 +-
superset-frontend/src/core/utils.ts | 2 +-
superset-frontend/src/core/views/index.test.ts | 112 +
superset-frontend/src/core/views/index.ts | 83 +
.../src/dashboard/actions/autoRefresh.ts | 124 +
.../dashboard/actions/chartCustomizationActions.ts | 2 +-
.../src/dashboard/actions/dashboardInfo.ts | 2 +-
.../src/dashboard/actions/dashboardLayout.ts | 2 +-
.../src/dashboard/actions/dashboardState.test.ts | 164 ++
.../src/dashboard/actions/dashboardState.ts | 67 +-
superset-frontend/src/dashboard/actions/hydrate.ts | 2 +
.../src/dashboard/actions/sliceEntities.ts | 2 +-
.../components/AddSliceCard/AddSliceCard.tsx | 4 +-
.../src/dashboard/components/AnchorLink/index.tsx | 2 +-
.../components/AutoRefreshIndicator/index.tsx | 170 ++
.../AutoRefreshStatus/StatusIndicatorDot.test.tsx | 114 +
.../AutoRefreshStatus/StatusIndicatorDot.tsx | 168 ++
.../StatusTooltipContent.test.tsx | 180 ++
.../AutoRefreshStatus/StatusTooltipContent.tsx | 178 ++
.../components/BuilderComponentPane/index.tsx | 4 +-
.../components/ColorSchemeControlWrapper.tsx | 2 +-
.../src/dashboard/components/ColorSchemeSelect.tsx | 4 +-
.../components/CustomizationsBadge/index.tsx | 4 +-
.../src/dashboard/components/Dashboard.tsx | 2 +-
.../DashboardBuilder/DashboardBuilder.tsx | 22 +-
.../DashboardBuilder/DashboardWrapper.tsx | 2 +-
.../src/dashboard/components/DashboardGrid.tsx | 3 +-
.../dashboard/components/EmbeddedModal/index.tsx | 5 +-
.../components/FiltersBadge/DetailsPanel/index.tsx | 4 +-
.../FiltersBadge/FilterIndicator/index.tsx | 2 +-
.../components/FiltersBadge/FiltersBadge.test.tsx | 251 +-
.../dashboard/components/FiltersBadge/Styles.tsx | 2 +-
.../dashboard/components/FiltersBadge/index.tsx | 31 +-
.../dashboard/components/Header/Header.test.tsx | 128 +-
.../src/dashboard/components/Header/index.tsx | 384 ++-
.../src/dashboard/components/Header/types.ts | 26 +-
.../components/Header/useDashboardMetadataBar.tsx | 2 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 15 +-
.../components/Header/useHeaderAutoRefresh.ts | 410 +++
.../src/dashboard/components/IconButton.tsx | 2 +-
.../src/dashboard/components/MissingChart.tsx | 2 +-
.../OverwriteConfirm/OverwriteConfirmModal.tsx | 4 +-
.../PropertiesModal/PropertiesModal.test.tsx | 2 +-
.../dashboard/components/PropertiesModal/index.tsx | 20 +-
.../PropertiesModal/sections/AccessSection.tsx | 2 +-
.../PropertiesModal/sections/AdvancedSection.tsx | 4 +-
.../PropertiesModal/sections/BasicInfoSection.tsx | 2 +-
.../sections/CertificationSection.tsx | 2 +-
.../PropertiesModal/sections/RefreshSection.tsx | 4 +-
.../PropertiesModal/sections/StylingSection.tsx | 5 +-
.../dashboard/components/PublishedStatus/index.tsx | 2 +-
.../dashboard/components/RefreshButton/index.tsx | 82 +
.../RefreshFrequencySelect.test.tsx} | 33 +-
.../RefreshFrequency/RefreshFrequencySelect.tsx | 71 +-
.../dashboard/components/RefreshIntervalModal.tsx | 83 +-
.../src/dashboard/components/SaveModal.tsx | 4 +-
.../src/dashboard/components/SliceAdder.tsx | 4 +-
.../src/dashboard/components/SliceHeader/index.tsx | 15 +-
.../ViewResultsModalTrigger.tsx | 4 +-
.../components/SliceHeaderControls/index.tsx | 4 +-
.../components/URLShortLinkButton/index.tsx | 4 +-
.../src/dashboard/components/dnd/DragDroppable.tsx | 11 +-
.../src/dashboard/components/dnd/DragHandle.tsx | 2 +-
.../components/filterscope/FilterScope.test.tsx | 2 +-
.../components/filterscope/FilterScopeModal.tsx | 2 +-
.../components/filterscope/FilterScopeSelector.tsx | 3 +-
.../filterscope/renderFilterScopeTreeNodes.tsx | 2 +-
.../dashboard/components/filterscope/treeIcons.tsx | 2 +-
.../components/gridComponents/Chart/Chart.test.tsx | 55 +
.../components/gridComponents/Chart/Chart.tsx | 11 +-
.../gridComponents/ChartHolder/ChartHolder.tsx | 2 +-
.../components/gridComponents/Column/Column.tsx | 5 +-
.../components/gridComponents/Divider/Divider.tsx | 2 +-
.../DynamicComponent/DynamicComponent.tsx | 2 +-
.../components/gridComponents/Header/Header.tsx | 2 +-
.../gridComponents/Markdown/Markdown.test.tsx | 26 +-
.../gridComponents/Markdown/Markdown.tsx | 3 +-
.../components/gridComponents/Row/Row.tsx | 29 +-
.../components/gridComponents/Tab/Tab.test.tsx | 2 +
.../components/gridComponents/Tab/Tab.tsx | 20 +-
.../components/gridComponents/Tabs/Tabs.tsx | 3 +-
.../gridComponents/TabsRenderer/TabsRenderer.tsx | 2 +-
.../gridComponents/new/DraggableNewComponent.tsx | 2 +-
.../components/gridComponents/new/NewColumn.tsx | 2 +-
.../components/gridComponents/new/NewDivider.tsx | 2 +-
.../components/gridComponents/new/NewHeader.tsx | 2 +-
.../components/gridComponents/new/NewMarkdown.tsx | 2 +-
.../components/gridComponents/new/NewRow.tsx | 2 +-
.../components/gridComponents/new/NewTabs.tsx | 2 +-
.../components/menu/BackgroundStyleDropdown.tsx | 4 +-
.../components/menu/DownloadMenuItems/index.tsx | 3 +-
.../src/dashboard/components/menu/HoverMenu.tsx | 2 +-
.../components/menu/MarkdownModeDropdown.tsx | 2 +-
.../components/menu/ShareMenuItems/index.tsx | 3 +-
.../dashboard/components/menu/WithPopoverMenu.tsx | 17 +-
.../nativeFilters/ConfigModal/ModalFooter.tsx | 5 +-
.../nativeFilters/ConfigModal/SharedStyles.tsx | 2 +-
.../FilterBar/ActionButtons/index.tsx | 4 +-
.../FilterBar/CrossFilters/CrossFilter.tsx | 2 +-
.../FilterBar/CrossFilters/CrossFilterTag.tsx | 2 +-
.../FilterBar/CrossFilters/CrossFilterTitle.tsx | 4 +-
.../ScopingModal/ChartsScopingListPanel.tsx | 4 +-
.../CrossFilters/ScopingModal/ScopingModal.tsx | 2 +-
.../ScopingModal/ScopingModalContent.tsx | 2 +-
.../CrossFilters/ScopingModal/ScopingTreePanel.tsx | 5 +-
.../FilterBar/CrossFilters/VerticalCollapse.tsx | 4 +-
.../nativeFilters/FilterBar/CrossFilters/styles.ts | 2 +-
.../CustomizationsOutOfScopeCollapsible/index.tsx | 4 +-
.../FilterBar/FilterBarSettings/index.tsx | 4 +-
.../FilterControls/FilterControlShared.tsx | 2 +-
.../FilterBar/FilterControls/FilterControls.tsx | 9 +-
.../FilterControls/FilterDivider.stories.tsx | 2 +-
.../FilterBar/FilterControls/FilterDivider.tsx | 2 +-
.../FilterBar/FilterControls/FilterValue.tsx | 4 +-
.../FilterBar/FilterControls/GroupByFilterCard.tsx | 9 +-
.../FilterBar/FiltersDropdownContent/index.tsx | 2 +-
.../FiltersOutOfScopeCollapsible/index.tsx | 4 +-
.../nativeFilters/FilterBar/Header/index.tsx | 4 +-
.../nativeFilters/FilterBar/Horizontal.tsx | 4 +-
.../nativeFilters/FilterBar/Vertical.tsx | 4 +-
.../components/nativeFilters/FilterBar/index.tsx | 2 +-
.../nativeFilters/FilterBar/keyValue.tsx | 2 +-
.../nativeFilters/FilterCard/DependenciesRow.tsx | 4 +-
.../nativeFilters/FilterCard/NameRow.tsx | 2 +-
.../nativeFilters/FilterCard/ScopeRow.tsx | 4 +-
.../components/nativeFilters/FilterCard/Styles.ts | 2 +-
.../nativeFilters/FilterCard/TypeRow.tsx | 2 +-
.../nativeFilters/FilterCard/useFilterScope.ts | 2 +-
.../ConfigModalContent/ConfigModalContent.tsx | 2 +-
.../ConfigModalSidebar/ConfigModalSidebar.tsx | 240 +-
.../FiltersConfigModal/DividerConfigForm.tsx | 4 +-
.../FiltersConfigModal/DraggableFilter.test.tsx | 109 +-
.../FiltersConfigModal/DraggableFilter.tsx | 124 +-
.../FiltersConfigModal/FilterConfigPane.test.tsx | 26 +-
.../FiltersConfigModal/FilterConfigurePane.tsx | 2 +-
.../FiltersConfigModal/FilterTitleContainer.tsx | 106 +-
.../FiltersConfigModal/FilterTitlePane.tsx | 4 +-
.../FiltersConfigForm/CollapsibleControl.tsx | 2 +-
.../FiltersConfigForm/ColumnSelect.tsx | 2 +-
.../FiltersConfigForm/DatasetSelect.tsx | 2 +-
.../FiltersConfigForm/DefaultValue.tsx | 2 +-
.../FiltersConfigForm/DependencyList.tsx | 4 +-
.../FiltersConfigForm/FilterScope/FilterScope.tsx | 2 +-
.../FiltersConfigForm/FilterScope/ScopingTree.tsx | 2 +-
.../FiltersConfigForm/FilterScope/state.ts | 2 +-
.../FiltersConfigForm/FilterScope/utils.ts | 4 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 6 +-
.../FiltersConfigForm/RemovedFilter.tsx | 4 +-
.../FiltersConfigForm/constants.ts | 2 +-
.../FiltersConfigForm/getControlItemsMap.tsx | 4 +-
.../FiltersConfigModal/FiltersConfigForm/state.ts | 2 +-
.../FiltersConfigForm/utils.test.ts | 2 +-
.../FiltersConfigModal/FiltersConfigForm/utils.ts | 2 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 180 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 17 +-
.../Footer/CancelConfirmationAlert.tsx | 4 +-
.../FiltersConfigModal/Footer/Footer.tsx | 2 +-
.../FiltersConfigModal/ItemTitleContainer.tsx | 71 +-
.../FiltersConfigModal/ItemTitlePane.tsx | 2 +-
.../FiltersConfigModal/NewItemDropdown.tsx | 4 +-
.../hooks/useFilterOperations.ts | 2 +-
.../FiltersConfigModal/hooks/useModalSaveLogic.ts | 2 +-
.../nativeFilters/FiltersConfigModal/utils.ts | 2 +-
.../dashboard/components/nativeFilters/utils.ts | 2 +-
.../components/resizable/ResizableContainer.tsx | 2 +-
.../src/dashboard/containers/DashboardPage.tsx | 19 +-
.../dashboard/contexts/AutoRefreshContext.test.tsx | 137 +
.../src/dashboard/contexts/AutoRefreshContext.tsx | 101 +
.../hooks/useAutoRefreshTabPause.test.tsx | 378 +++
.../src/dashboard/hooks/useAutoRefreshTabPause.ts | 146 ++
.../src/dashboard/hooks/useCurrentTime.test.ts | 182 ++
.../src/dashboard/hooks/useCurrentTime.ts | 67 +
.../src/dashboard/hooks/useDownloadScreenshot.ts | 4 +-
.../dashboard/hooks/useRealTimeDashboard.test.ts | 175 ++
.../src/dashboard/hooks/useRealTimeDashboard.ts | 245 ++
.../src/dashboard/hooks/useTabVisibility.test.ts | 175 ++
.../src/dashboard/hooks/useTabVisibility.ts | 102 +
.../dashboard/reducers/autoRefreshReducer.test.ts | 246 ++
.../src/dashboard/reducers/dashboardLayout.test.ts | 105 +
.../src/dashboard/reducers/dashboardLayout.ts | 12 +-
.../src/dashboard/reducers/dashboardState.ts | 81 +
.../src/dashboard/reducers/sliceEntities.ts | 2 +-
superset-frontend/src/dashboard/styles.ts | 2 +-
superset-frontend/src/dashboard/types.ts | 18 +-
.../src/dashboard/types/autoRefresh.ts | 64 +
.../src/dashboard/util/backgroundStyleOptions.ts | 2 +-
.../src/dashboard/util/getFilterFieldNodesTree.ts | 2 +-
.../src/dashboard/util/getFilterScopeNodesTree.ts | 2 +-
.../src/dashboard/util/getSliceHeaderTooltip.tsx | 2 +-
.../src/dashboard/util/headerStyleOptions.ts | 2 +-
.../src/dashboard/util/newComponentFactory.ts | 2 +-
.../dashboard/util/updateComponentParentsList.ts | 2 +-
.../util/useFilterFocusHighlightStyles.ts | 2 +-
.../src/embedded/EmbeddedContextProviders.tsx | 2 +-
superset-frontend/src/embedded/index.tsx | 9 +-
superset-frontend/src/embedded/utils.ts | 2 +-
.../src/explore/actions/exploreActions.ts | 2 +-
.../src/explore/actions/saveModalActions.ts | 2 +-
.../src/explore/components/ChartPills.tsx | 8 +-
.../src/explore/components/Control.tsx | 2 +-
.../src/explore/components/ControlHeader.tsx | 4 +-
.../components/ControlPanelsContainer.test.tsx | 2 +-
.../explore/components/ControlPanelsContainer.tsx | 9 +-
.../explore/components/DataTableControl/index.tsx | 8 +-
.../DataTableControl/useTableColumns.test.ts | 2 +-
.../components/DataTablesPane/DataTablesPane.tsx | 4 +-
.../components/DataTableControls.tsx | 4 +-
.../components/ResultsPaneOnDashboard.tsx | 4 +-
.../DataTablesPane/components/SamplesPane.tsx | 6 +-
.../components/SingleQueryResultPane.tsx | 2 +-
.../DataTablesPane/components/useResultsPane.tsx | 4 +-
.../src/explore/components/DataTablesPane/types.ts | 2 +-
.../DatasourcePanelDragOption/index.tsx | 2 +-
.../DatasourcePanel/DatasourcePanelItem.tsx | 4 +-
.../components/DatasourcePanel/fixtures.tsx | 2 +-
.../explore/components/DatasourcePanel/index.tsx | 5 +-
.../transformDatasourceFolders.test.ts | 12 +-
.../DatasourcePanel/transformDatasourceFolders.ts | 73 +-
.../src/explore/components/EmbedCodeContent.tsx | 3 +-
.../src/explore/components/ExploreAlert.tsx | 2 +-
.../components/ExploreChartHeader/index.tsx | 5 +-
.../ExploreChartHeader/useExploreMetadataBar.tsx | 4 +-
.../explore/components/ExploreChartPanel/index.tsx | 5 +-
.../explore/components/ExploreContainer/index.tsx | 2 +-
.../explore/components/ExploreContentPopover.tsx | 2 +-
.../components/ExploreViewContainer/index.tsx | 5 +-
.../components/ExportToCSVDropdown/index.tsx | 4 +-
.../explore/components/PropertiesModal/index.tsx | 2 +-
.../explore/components/RunQueryButton/index.tsx | 4 +-
.../src/explore/components/SaveModal.test.tsx | 13 +
.../src/explore/components/SaveModal.tsx | 35 +-
.../AnnotationLayerControl/AnnotationLayer.tsx | 4 +-
.../AnnotationLayerControl/AnnotationTypes.ts | 2 +-
.../controls/AnnotationLayerControl/index.tsx | 4 +-
.../explore/components/controls/BoundsControl.tsx | 4 +-
.../components/controls/CheckboxControl.tsx | 2 +-
.../controls/CollectionControl/index.tsx | 4 +-
.../ColorBreakpointOption.tsx | 2 +-
.../ColorBreakpointPopoverControl.tsx | 4 +-
.../controls/ColorBreakpointsControl/index.tsx | 4 +-
.../ColorSchemeControl/ColorSchemeLabel.tsx | 2 +-
.../controls/ColorSchemeControl/index.tsx | 4 +-
.../ColumnConfigControl/ColumnConfigControl.tsx | 6 +-
.../ColumnConfigControl/ColumnConfigItem.tsx | 2 +-
.../ColumnConfigControl/ColumnConfigPopover.tsx | 2 +-
.../ControlForm/ControlFormItem.tsx | 2 +-
.../ColumnConfigControl/ControlForm/index.tsx | 2 +-
.../controls/ColumnConfigControl/constants.tsx | 4 +-
.../controls/ColumnConfigControl/types.ts | 2 +-
.../components/controls/ComparisonRangeLabel.tsx | 4 +-
.../ConditionalFormattingControl.tsx | 4 +-
.../FormattingPopoverContent.test.tsx | 2 +-
.../FormattingPopoverContent.tsx | 6 +-
.../ConditionalFormattingControl/constants.ts | 2 +-
.../controls/ConditionalFormattingControl/types.ts | 2 +-
.../controls/ContourControl/ContourOption.tsx | 4 +-
.../ContourControl/ContourPopoverControl.tsx | 4 +-
.../components/controls/ContourControl/index.tsx | 4 +-
.../controls/CurrencyControl/CurrencyControl.tsx | 4 +-
.../components/controls/CustomListItem/index.tsx | 2 +-
.../DatasourceControl/DatasourceControl.test.tsx | 268 +-
.../controls/DatasourceControl/index.tsx | 4 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 9 +-
.../DateFilterControl/components/AdvancedFrame.tsx | 2 +-
.../DateFilterControl/components/CalendarFrame.tsx | 2 +-
.../DateFilterControl/components/CommonFrame.tsx | 2 +-
.../components/CurrentCalendarFrame.tsx | 2 +-
.../DateFilterControl/components/CustomFrame.tsx | 2 +-
.../components/DateFunctionTooltip.tsx | 4 +-
.../DateFilterControl/components/DateLabel.tsx | 4 +-
.../controls/DateFilterControl/utils/constants.ts | 2 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 5 +-
.../ColumnSelectPopoverTrigger.tsx | 2 +-
.../DndAdhocFilterOption.tsx | 2 +-
.../DndColumnMetricSelect.tsx | 4 +-
.../DndColumnSelectControl/DndColumnSelect.tsx | 4 +-
.../DndColumnSelectPopoverTitle.tsx | 4 +-
.../DndFilterSelect.test.tsx | 2 +-
.../DndColumnSelectControl/DndFilterSelect.tsx | 3 +-
.../DndColumnSelectControl/DndMetricSelect.tsx | 6 +-
.../DndColumnSelectControl/DndSelectLabel.tsx | 2 +-
.../controls/DndColumnSelectControl/Option.tsx | 4 +-
.../DndColumnSelectControl/OptionWrapper.tsx | 2 +-
.../DndColumnSelectControl/useResizeButton.tsx | 2 +-
.../DndColumnSelectControl/utils/optionSelector.ts | 2 +-
.../FilterControl/AdhocFilterControl/index.tsx | 6 +-
.../FilterControl/AdhocFilterEditPopover/index.tsx | 6 +-
.../index.tsx | 4 +-
.../useAdvancedDataTypes.ts | 2 +-
.../AdhocFilterEditPopoverSqlTabContent.test.tsx | 84 +-
.../AdhocFilterEditPopoverSqlTabContent/index.tsx | 12 +-
.../utils/useDatePickerInAdhocFilter.tsx | 2 +-
.../controls/FixedOrMetricControl/index.tsx | 2 +-
.../components/controls/JSEditorControl.test.tsx | 125 +
.../components/controls/JSEditorControl.tsx | 105 +
.../controls/LayerConfigsControl/FlatLayerTree.tsx | 4 +-
.../LayerConfigsControl/LayerConfigsControl.tsx | 4 +-
.../LayerConfigsPopoverContent.tsx | 4 +-
.../controls/MapViewControl/ExtentTag.tsx | 2 +-
.../controls/MapViewControl/MapViewControl.tsx | 4 +-
.../MapViewControl/MapViewPopoverContent.tsx | 4 +-
.../controls/MatrixifyDimensionControl.tsx | 2 +-
.../MetricControl/AdhocMetricEditPopover/index.tsx | 25 +-
.../MetricControl/AdhocMetricEditPopoverTitle.tsx | 4 +-
.../MetricControl/AdhocMetricPopoverTrigger.tsx | 2 +-
.../controls/MetricControl/MetricsControl.tsx | 2 +-
.../components/controls/NumberControl/index.tsx | 2 +-
.../components/controls/OptionControls/index.tsx | 4 +-
.../controls/SelectAsyncControl/index.tsx | 2 +-
.../explore/components/controls/SelectControl.tsx | 4 +-
.../explore/components/controls/SpatialControl.tsx | 2 +-
.../components/controls/TextAreaControl.tsx | 4 +-
.../controls/TimeSeriesColumnControl/index.tsx | 4 +-
.../src/explore/components/controls/ViewQuery.tsx | 4 +-
.../explore/components/controls/ViewQueryModal.tsx | 5 +-
.../components/controls/ViewQueryModalFooter.tsx | 2 +-
.../components/controls/ViewportControl.tsx | 2 +-
.../controls/VizTypeControl/FastVizSwitcher.tsx | 4 +-
.../components/controls/VizTypeControl/VizTile.tsx | 4 +-
.../controls/VizTypeControl/VizTypeGallery.tsx | 4 +-
.../controls/VizTypeControl/constants.tsx | 2 +-
.../components/controls/VizTypeControl/index.tsx | 4 +-
.../ZoomConfigControl/ZoomConfigControl.tsx | 4 +-
.../ZoomConfigControl/ZoomConfigsChart.tsx | 2 +-
.../src/explore/components/controls/index.ts | 2 +
.../components/controls/withAsyncVerification.tsx | 2 +-
.../src/explore/components/optionRenderers.tsx | 2 +-
.../DashboardsSubMenu.tsx | 4 +-
.../useExploreAdditionalActionsMenu/index.tsx | 5 +-
superset-frontend/src/explore/constants.ts | 2 +-
.../src/explore/controlPanels/Separator.ts | 2 +-
.../src/explore/controlPanels/sections.tsx | 2 +-
.../src/explore/controlUtils/controlUtils.test.tsx | 2 +-
.../src/explore/controlUtils/getColumnKeywords.tsx | 2 +-
superset-frontend/src/explore/controls.tsx | 2 +-
superset-frontend/src/explore/fixtures.tsx | 2 +-
.../src/extensions/ExtensionPlaceholder.tsx | 2 +-
.../src/extensions/ExtensionsContext.test.tsx | 150 --
.../src/extensions/ExtensionsContext.tsx | 93 -
.../src/extensions/ExtensionsContextUtils.test.ts | 74 -
.../src/extensions/ExtensionsContextUtils.ts | 32 -
.../src/extensions/ExtensionsList.test.tsx | 17 -
.../src/extensions/ExtensionsList.tsx | 31 +-
.../src/extensions/ExtensionsLoader.test.ts | 113 +
.../src/extensions/ExtensionsLoader.ts | 161 ++
.../src/extensions/ExtensionsManager.test.ts | 572 -----
.../src/extensions/ExtensionsManager.ts | 355 ---
.../src/extensions/ExtensionsStartup.test.tsx | 74 +-
.../src/extensions/ExtensionsStartup.tsx | 56 +-
.../src/features/alerts/AlertReportModal.test.tsx | 467 +++-
.../src/features/alerts/AlertReportModal.tsx | 92 +-
.../features/alerts/buildErrorTooltipMessage.tsx | 2 +-
.../alerts/components/AlertReportCronScheduler.tsx | 4 +-
.../features/alerts/components/AlertStatusIcon.tsx | 4 +-
.../alerts/components/NotificationMethod.tsx | 4 +-
.../features/alerts/components/RecipientIcon.tsx | 2 +-
superset-frontend/src/features/alerts/types.ts | 7 +
.../src/features/allEntities/AllEntitiesTable.tsx | 4 +-
.../annotationLayers/AnnotationLayerModal.tsx | 4 +-
.../src/features/annotations/AnnotationModal.tsx | 4 +-
.../src/features/charts/ChartCard.tsx | 4 +-
.../src/features/cssTemplates/CssTemplateModal.tsx | 4 +-
.../src/features/dashboards/DashboardCard.tsx | 2 +-
.../DatabaseConnectionForm/CommonParameters.tsx | 4 +-
.../DatabaseConnectionForm/EncryptedField.tsx | 5 +-
.../DatabaseConnectionForm/OAuth2ClientField.tsx | 2 +-
.../DatabaseConnectionForm/TableCatalog.tsx | 4 +-
.../DatabaseConnectionForm/ValidatedInputField.tsx | 2 +-
.../DatabaseModal/DatabaseConnectionForm/index.tsx | 2 +-
.../databases/DatabaseModal/ExtraOptions.test.tsx | 2 +-
.../databases/DatabaseModal/ExtraOptions.tsx | 4 +-
.../databases/DatabaseModal/ModalHeader.tsx | 10 +-
.../databases/DatabaseModal/SSHTunnelForm.tsx | 4 +-
.../databases/DatabaseModal/SSHTunnelSwitch.tsx | 4 +-
.../databases/DatabaseModal/SqlAlchemyForm.tsx | 4 +-
.../src/features/databases/DatabaseModal/index.tsx | 5 +-
.../src/features/databases/DatabaseModal/styles.ts | 2 +-
.../databases/UploadDataModel/ColumnsPreview.tsx | 4 +-
.../features/databases/UploadDataModel/index.tsx | 4 +-
.../features/databases/UploadDataModel/styles.ts | 2 +-
.../AddDataset/DatasetPanel/DatasetPanel.tsx | 5 +-
.../AddDataset/DatasetPanel/MessageContent.tsx | 4 +-
.../datasets/AddDataset/DatasetPanel/index.tsx | 4 +-
.../datasets/AddDataset/EditDataset/index.tsx | 4 +-
.../features/datasets/AddDataset/Footer/index.tsx | 4 +-
.../features/datasets/AddDataset/Header/index.tsx | 2 +-
.../datasets/AddDataset/LeftPanel/index.tsx | 4 +-
.../datasets/AddDataset/RightPanel/index.tsx | 2 +-
.../src/features/datasets/DatasetLayout/index.tsx | 2 +-
.../features/datasets/DatasetSelectLabel/index.tsx | 4 +-
.../datasets/DuplicateDatasetModal.test.tsx | 2 +-
.../features/datasets/DuplicateDatasetModal.tsx | 2 +-
.../src/features/datasets/constants.ts | 2 +-
.../src/features/datasets/hooks/useDatasetLists.ts | 4 +-
.../datasets/hooks/useGetDatasetRelatedCounts.ts | 4 +-
.../DatasetMetadataBar.skipped-stories.tsx | 2 +-
.../datasets/metadataBar/useDatasetMetadataBar.tsx | 4 +-
superset-frontend/src/features/datasets/styles.ts | 2 +-
.../src/features/groups/GroupListModal.tsx | 2 +-
superset-frontend/src/features/groups/utils.ts | 2 +-
.../src/features/home/ActivityTable.tsx | 4 +-
superset-frontend/src/features/home/ChartTable.tsx | 2 +-
.../src/features/home/DashboardTable.tsx | 2 +-
superset-frontend/src/features/home/EmptyState.tsx | 4 +-
.../src/features/home/LanguagePicker.tsx | 4 +-
superset-frontend/src/features/home/Menu.test.tsx | 115 +-
superset-frontend/src/features/home/Menu.tsx | 2 +-
superset-frontend/src/features/home/RightMenu.tsx | 9 +-
.../src/features/home/SavedQueries.tsx | 4 +-
superset-frontend/src/features/home/SubMenu.tsx | 9 +-
.../src/features/home/commonMenuData.ts | 2 +-
.../src/features/owners/OwnerSelectLabel/index.tsx | 2 +-
.../src/features/queries/QueryPreviewModal.tsx | 4 +-
.../features/queries/SavedQueryPreviewModal.tsx | 4 +-
.../src/features/queries/SyntaxHighlighterCopy.tsx | 4 +-
.../ReportModal/HeaderReportDropdown/index.tsx | 4 +-
.../src/features/reports/ReportModal/actions.ts | 2 +-
.../src/features/reports/ReportModal/index.tsx | 5 +-
.../src/features/reports/ReportModal/styles.tsx | 2 +-
.../src/features/rls/RowLevelSecurityModal.tsx | 4 +-
superset-frontend/src/features/rls/constants.ts | 2 +-
.../src/features/roles/RoleFormItems.tsx | 53 +-
.../src/features/roles/RoleListAddModal.test.tsx | 45 +-
.../src/features/roles/RoleListAddModal.tsx | 23 +-
.../src/features/roles/RoleListDuplicateModal.tsx | 2 +-
.../src/features/roles/RoleListEditModal.test.tsx | 328 ++-
.../src/features/roles/RoleListEditModal.tsx | 179 +-
superset-frontend/src/features/roles/types.ts | 12 +-
superset-frontend/src/features/roles/utils.test.ts | 547 ++++
superset-frontend/src/features/roles/utils.ts | 165 ++
.../src/features/tags/BulkTagModal.tsx | 4 +-
superset-frontend/src/features/tags/TagCard.tsx | 2 +-
superset-frontend/src/features/tags/TagModal.tsx | 4 +-
.../src/features/tasks/TaskPayloadPopover.tsx | 2 +-
.../src/features/tasks/TaskStackTracePopover.tsx | 4 +-
.../src/features/tasks/TaskStatusIcon.tsx | 3 +-
.../src/features/themes/ThemeModal.tsx | 5 +-
.../src/features/userInfo/UserInfoModal.tsx | 2 +-
.../src/features/users/UserListModal.tsx | 2 +-
superset-frontend/src/features/users/utils.ts | 2 +-
.../components/Range/RangeFilterPlugin.stories.tsx | 2 +-
.../components/Range/RangeFilterPlugin.test.tsx | 2 +-
.../filters/components/Range/RangeFilterPlugin.tsx | 4 +-
.../src/filters/components/Range/buildQuery.ts | 2 +-
.../src/filters/components/Range/controlPanel.ts | 2 +-
.../src/filters/components/Range/index.ts | 2 +-
.../components/Select/SelectFilterPlugin.tsx | 8 +-
.../filters/components/Select/buildQuery.test.ts | 2 +-
.../src/filters/components/Select/buildQuery.ts | 2 +-
.../src/filters/components/Select/controlPanel.ts | 2 +-
.../src/filters/components/Select/index.ts | 2 +-
.../filters/components/Select/transformProps.ts | 2 +-
.../src/filters/components/Select/types.ts | 2 +-
.../filters/components/Time/TimeFilterPlugin.tsx | 2 +-
.../src/filters/components/Time/controlPanel.ts | 2 +-
.../src/filters/components/Time/index.ts | 2 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 4 +-
.../filters/components/TimeColumn/controlPanel.ts | 2 +-
.../src/filters/components/TimeColumn/index.ts | 2 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 4 +-
.../filters/components/TimeGrain/controlPanel.ts | 2 +-
.../src/filters/components/TimeGrain/index.ts | 2 +-
superset-frontend/src/filters/components/common.ts | 2 +-
superset-frontend/src/filters/utils.test.ts | 2 +-
superset-frontend/src/filters/utils.ts | 2 +-
.../src/hooks/apiResources/datasets.ts | 2 +-
.../hooks/useConfirmModal/useConfirmModal.test.tsx | 2 +-
superset-frontend/src/hooks/useJsonTreeTheme.ts | 2 +-
.../src/hooks/useThemeMenuItems.test.tsx | 2 +-
superset-frontend/src/hooks/useThemeMenuItems.tsx | 4 +-
.../src/hooks/useUnsavedChangesPrompt/index.ts | 2 +-
superset-frontend/src/middleware/asyncEvent.ts | 2 +-
superset-frontend/src/pages/ActionLog/index.tsx | 24 +-
.../src/pages/AlertReportList/index.tsx | 4 +-
superset-frontend/src/pages/AllEntities/index.tsx | 4 +-
.../src/pages/AnnotationLayerList/index.tsx | 2 +-
.../src/pages/AnnotationList/index.tsx | 4 +-
superset-frontend/src/pages/Chart/index.tsx | 2 +-
.../src/pages/ChartCreation/ChartCreation.test.tsx | 2 +-
.../src/pages/ChartCreation/index.tsx | 4 +-
superset-frontend/src/pages/ChartList/index.tsx | 5 +-
.../src/pages/CssTemplateList/index.tsx | 2 +-
.../DashboardList/DashboardList.behavior.test.tsx | 394 +++
.../DashboardList/DashboardList.cardview.test.tsx | 417 +++
.../DashboardList/DashboardList.listview.test.tsx | 402 +++
.../DashboardList.permissions.test.tsx | 340 +++
.../src/pages/DashboardList/DashboardList.test.tsx | 391 +--
.../DashboardList/DashboardList.testHelpers.tsx | 360 +++
.../src/pages/DashboardList/index.tsx | 4 +-
superset-frontend/src/pages/DatabaseList/index.tsx | 4 +-
superset-frontend/src/pages/DatasetList/index.tsx | 4 +-
.../src/pages/ExecutionLogList/index.tsx | 4 +-
.../src/pages/FileHandler/index.test.tsx | 22 +-
superset-frontend/src/pages/FileHandler/index.tsx | 2 +-
superset-frontend/src/pages/GroupsList/index.tsx | 2 +-
superset-frontend/src/pages/Home/index.tsx | 4 +-
superset-frontend/src/pages/Login/index.tsx | 4 +-
.../src/pages/QueryHistoryList/index.tsx | 4 +-
.../src/pages/RedirectWarning/index.tsx | 175 ++
.../src/pages/RedirectWarning/utils.test.ts | 124 +
.../src/pages/RedirectWarning/utils.ts | 96 +
superset-frontend/src/pages/Register/index.tsx | 4 +-
.../src/pages/RolesList/RolesList.test.tsx | 27 +-
superset-frontend/src/pages/RolesList/index.tsx | 75 +-
.../src/pages/RowLevelSecurityList/index.tsx | 2 +-
.../src/pages/SavedQueryList/index.tsx | 4 +-
superset-frontend/src/pages/SqlLab/index.tsx | 2 +-
superset-frontend/src/pages/Tags/index.tsx | 2 +-
superset-frontend/src/pages/TaskList/index.tsx | 3 +-
superset-frontend/src/pages/ThemeList/index.tsx | 5 +-
superset-frontend/src/pages/UserInfo/index.tsx | 4 +-
.../src/pages/UserRegistrations/index.tsx | 2 +-
superset-frontend/src/pages/UsersList/index.tsx | 2 +-
superset-frontend/src/preamble.ts | 4 +-
superset-frontend/src/setup/setupClient.ts | 2 +-
superset-frontend/src/theme/ThemeController.ts | 4 +-
superset-frontend/src/theme/ThemeProvider.tsx | 2 +-
.../src/theme/hooks/useThemeValidation.ts | 2 +-
.../src/theme/tests/ThemeController.test.ts | 2 +-
.../src/theme/tests/ThemeProvider.test.tsx | 2 +-
.../theme/utils/themeStructureValidation.test.ts | 2 +-
.../src/theme/utils/themeStructureValidation.ts | 2 +-
superset-frontend/src/types/bootstrapTypes.ts | 9 +-
superset-frontend/src/utils/downloadAsImage.tsx | 4 +-
superset-frontend/src/utils/downloadAsPdf.ts | 4 +-
superset-frontend/src/utils/export.test.ts | 4 +-
superset-frontend/src/utils/export.ts | 2 +-
superset-frontend/src/utils/fetchOptions.ts | 2 +-
.../utils/getChartRequiredFieldsMissingMessage.ts | 2 +-
superset-frontend/src/utils/pathUtils.test.ts | 71 +
superset-frontend/src/utils/pathUtils.ts | 37 +-
superset-frontend/src/views/App.tsx | 47 +-
superset-frontend/src/views/CRUD/hooks.ts | 2 +-
superset-frontend/src/views/CRUD/utils.tsx | 5 +-
.../src/views/RootContextProviders.tsx | 17 +-
superset-frontend/src/views/index.tsx | 2 +-
superset-frontend/src/views/menu.tsx | 3 +-
superset-frontend/src/views/routes.tsx | 11 +
.../src/visualizations/TimeTable/TimeTable.tsx | 4 +-
.../components/SparklineCell/SparklineCell.tsx | 2 +-
.../TimeTable/config/controlPanel/controlPanel.ts | 2 +-
.../config/transformProps/transformProps.test.ts | 2 +-
.../src/visualizations/TimeTable/constants.ts | 2 +-
.../src/visualizations/TimeTable/index.ts | 2 +-
.../ExampleComponent/ExampleComponent.tsx | 2 +-
superset-frontend/webpack.config.js | 28 +-
superset-websocket/package-lock.json | 989 ++++----
superset-websocket/package.json | 12 +-
superset-websocket/utils/client-ws-app/.nvmrc | 2 +-
superset/app.py | 5 +-
superset/charts/data/api.py | 19 +-
superset/charts/schemas.py | 12 +-
superset/commands/chart/fave.py | 8 -
superset/commands/chart/unfave.py | 8 -
superset/commands/database/export.py | 9 +
superset/commands/database/importers/v1/utils.py | 26 +-
superset/commands/database/validate.py | 2 +-
superset/commands/dataset/update.py | 22 +-
superset/commands/distributed_lock/acquire.py | 2 +-
superset/commands/distributed_lock/base.py | 6 +-
superset/commands/distributed_lock/release.py | 2 +-
superset/commands/importers/v1/__init__.py | 4 +
superset/commands/importers/v1/assets.py | 4 +
superset/commands/importers/v1/utils.py | 19 +
superset/commands/report/exceptions.py | 12 +
superset/commands/report/update.py | 18 +-
superset/commands/sql_lab/results.py | 2 +-
superset/commands/tasks/cancel.py | 2 +-
superset/commands/tasks/internal_update.py | 2 +-
superset/commands/tasks/prune.py | 2 +-
superset/commands/tasks/submit.py | 2 +-
superset/commands/tasks/update.py | 2 +-
superset/config.py | 22 +-
superset/connectors/sqla/models.py | 2 +-
superset/core/api/core_api_injection.py | 159 +-
superset/core/mcp/core_mcp_injection.py | 74 +-
superset/daos/base.py | 15 +-
superset/daos/database.py | 6 +-
superset/daos/tag.py | 7 +
superset/daos/tasks.py | 2 +-
superset/dashboards/api.py | 34 +-
superset/databases/api.py | 14 +
superset/databases/schemas.py | 62 +
superset/db_engine_specs/base.py | 6 +
superset/db_engine_specs/bigquery.py | 2 +-
superset/db_engine_specs/clickhouse.py | 22 +-
superset/db_engine_specs/databend.py | 21 +-
superset/db_engine_specs/datastore.py | 610 +++++
superset/distributed_lock/__init__.py | 2 +-
superset/extensions/api.py | 35 +-
superset/extensions/context.py | 90 +
superset/extensions/contributions.py | 94 +
superset/extensions/utils.py | 43 +-
superset/importexport/api.py | 13 +
superset/initialization/__init__.py | 18 +-
superset/key_value/models.py | 2 +-
superset/mcp_service/CLAUDE.md | 53 +-
superset/mcp_service/app.py | 44 +-
superset/mcp_service/auth.py | 18 +-
superset/mcp_service/chart/chart_utils.py | 409 ++-
.../chart/prompts/create_chart_guided.py | 2 +-
superset/mcp_service/chart/schemas.py | 256 +-
superset/mcp_service/chart/tool/generate_chart.py | 229 +-
superset/mcp_service/chart/tool/get_chart_data.py | 148 +-
superset/mcp_service/chart/tool/get_chart_info.py | 98 +-
.../mcp_service/chart/tool/get_chart_preview.py | 75 +-
superset/mcp_service/chart/tool/list_charts.py | 2 +-
superset/mcp_service/chart/tool/update_chart.py | 2 +-
.../mcp_service/chart/tool/update_chart_preview.py | 2 +-
.../chart/validation/dataset_validator.py | 153 +-
superset/mcp_service/chart/validation/pipeline.py | 86 +-
.../chart/validation/schema_validator.py | 169 +-
.../mcp_service/constants.py | 5 +
superset/mcp_service/dashboard/schemas.py | 43 +-
.../tool/add_chart_to_existing_dashboard.py | 2 +-
.../dashboard/tool/generate_dashboard.py | 2 +-
.../dashboard/tool/get_dashboard_info.py | 116 +-
.../mcp_service/dashboard/tool/list_dashboards.py | 2 +-
.../mcp_service/dataset/tool/get_dataset_info.py | 14 +-
superset/mcp_service/dataset/tool/list_datasets.py | 2 +-
.../explore/tool/generate_explore_link.py | 17 +-
superset/mcp_service/jwt_verifier.py | 320 +++
superset/mcp_service/mcp_config.py | 117 +-
superset/mcp_service/mcp_core.py | 24 +-
superset/mcp_service/middleware.py | 170 ++
superset/mcp_service/server.py | 89 +-
superset/mcp_service/sql_lab/tool/execute_sql.py | 9 +-
.../sql_lab/tool/open_sql_lab_with_context.py | 2 +-
superset/mcp_service/system/prompts/quickstart.py | 2 +-
superset/mcp_service/system/schemas.py | 29 +
superset/mcp_service/system/system_utils.py | 29 +
.../mcp_service/system/tool/get_instance_info.py | 15 +-
superset/mcp_service/system/tool/get_schema.py | 2 +-
superset/mcp_service/system/tool/health_check.py | 2 +-
superset/mcp_service/utils/token_utils.py | 424 ++++
superset/models/core.py | 9 +-
superset/models/dashboard.py | 2 +-
superset/models/helpers.py | 2 +-
superset/models/slice.py | 2 +-
superset/models/sql_lab.py | 5 +-
superset/models/task_subscribers.py | 2 +-
superset/models/tasks.py | 4 +-
superset/reports/notifications/email.py | 5 +
superset/reports/schemas.py | 2 +-
superset/sql/execution/executor.py | 24 +-
superset/sql/parse.py | 1 +
superset/tags/models.py | 2 +-
superset/tasks/constants.py | 2 +-
superset/tasks/context.py | 2 +-
superset/tasks/decorators.py | 17 +-
superset/tasks/locks.py | 4 +-
superset/tasks/manager.py | 10 +-
superset/tasks/scheduler.py | 2 +-
superset/tasks/utils.py | 2 +-
superset/templates/superset/spa.html | 5 +
superset/utils/cache_manager.py | 34 +-
superset/utils/json.py | 43 +
superset/utils/link_redirect.py | 149 ++
superset/utils/logging_configurator.py | 7 +
superset/utils/oauth2.py | 4 +
superset/utils/pandas_postprocessing/geography.py | 6 +-
superset/utils/pandas_postprocessing/resample.py | 2 +-
superset/utils/webdriver.py | 34 +-
superset/views/redirect.py | 76 +
superset/viz.py | 36 +-
tests/integration_tests/charts/commands_tests.py | 17 +-
tests/integration_tests/databases/api_tests.py | 91 +
.../db_engine_specs/datastore_tests.py | 521 ++++
tests/integration_tests/fixtures/importexport.py | 26 +
tests/integration_tests/reports/api_tests.py | 294 ++-
tests/integration_tests/security_tests.py | 1 +
tests/integration_tests/tasks/api_tests.py | 4 +-
.../tasks/commands/test_cancel.py | 2 +-
.../tasks/commands/test_internal_update.py | 2 +-
.../integration_tests/tasks/commands/test_prune.py | 2 +-
.../tasks/commands/test_submit.py | 2 +-
.../tasks/commands/test_update.py | 2 +-
.../integration_tests/tasks/test_event_handlers.py | 2 +-
.../tasks/test_subscription_visibility.py | 2 +-
.../integration_tests/tasks/test_sync_join_wait.py | 6 +-
tests/integration_tests/tasks/test_throttling.py | 2 +-
tests/integration_tests/tasks/test_timeout.py | 2 +-
.../integration_tests/views/test_redirect_view.py | 66 +
tests/unit_tests/commands/dataset/update_test.py | 35 +-
.../unit_tests/commands/report}/__init__.py | 0
tests/unit_tests/commands/report/update_test.py | 254 ++
tests/unit_tests/dao/base_dao_test.py | 2 +-
tests/unit_tests/daos/test_tasks.py | 2 +-
tests/unit_tests/databases/api_test.py | 70 +
.../databases/commands/importers/v1/import_test.py | 123 +
tests/unit_tests/databases/schema_tests.py | 106 +
tests/unit_tests/db_engine_specs/test_base.py | 91 +
.../unit_tests/db_engine_specs/test_clickhouse.py | 17 -
tests/unit_tests/db_engine_specs/test_datastore.py | 985 +++++++
tests/unit_tests/extension_tests.py | 21 +-
tests/unit_tests/extensions/test_types.py | 192 +-
tests/unit_tests/importexport/api_test.py | 52 +
tests/unit_tests/initialization_test.py | 72 +-
.../mcp_service/chart/test_chart_utils.py | 101 +-
.../mcp_service/chart/test_new_chart_types.py | 929 +++++++
.../mcp_service/chart/tool/test_generate_chart.py | 74 +
.../validation/test_column_name_normalization.py | 681 +++++
.../explore/tool/test_generate_explore_link.py | 149 ++
.../mcp_service/sql_lab/tool/test_execute_sql.py | 2 +-
.../mcp_service/system/test_system_utils.py | 60 +
.../system/tool/test_get_current_user.py | 7 +
.../mcp_service/system/tool/test_mcp_core.py | 4 +-
tests/unit_tests/mcp_service/test_jwt_verifier.py | 726 ++++++
tests/unit_tests/mcp_service/test_mcp_config.py | 9 +
tests/unit_tests/mcp_service/test_mcp_server.py | 34 +
tests/unit_tests/mcp_service/test_middleware.py | 343 +++
.../mcp_service/utils/test_token_utils.py | 358 +++
tests/unit_tests/sql/execution/test_executor.py | 19 +-
tests/unit_tests/tags/commands/update_test.py | 60 +
tests/unit_tests/tasks/test_decorators.py | 2 +-
tests/unit_tests/tasks/test_handlers.py | 6 +-
tests/unit_tests/tasks/test_manager.py | 34 +-
tests/unit_tests/tasks/test_timeout.py | 34 +-
tests/unit_tests/tasks/test_utils.py | 2 +-
tests/unit_tests/utils/json_tests.py | 139 +
tests/unit_tests/utils/oauth2_tests.py | 56 +
tests/unit_tests/utils/test_link_redirect.py | 143 ++
1689 files changed, 50809 insertions(+), 15393 deletions(-)
rename docs/{docs => admin_docs}/configuration/alerts-reports.mdx (94%)
rename docs/{docs => admin_docs}/configuration/async-queries-celery.mdx (100%)
rename docs/{docs => admin_docs}/configuration/cache.mdx (91%)
rename docs/{docs => admin_docs}/configuration/configuring-superset.mdx (97%)
rename docs/{docs => admin_docs}/configuration/country-map-tools.mdx (100%)
rename docs/{docs => admin_docs}/configuration/event-logging.mdx (100%)
rename docs/{docs => admin_docs}/configuration/feature-flags.mdx (100%)
rename docs/{docs =>
admin_docs}/configuration/importing-exporting-datasources.mdx (100%)
rename docs/{docs => admin_docs}/configuration/map-tiles.mdx (100%)
rename docs/{docs => admin_docs}/configuration/networking-settings.mdx (97%)
rename docs/{docs => admin_docs}/configuration/sql-templating.mdx (98%)
rename docs/{docs => admin_docs}/configuration/theming.mdx (100%)
rename docs/{docs => admin_docs}/configuration/timezones.mdx (74%)
create mode 100644 docs/admin_docs/index.md
rename docs/{docs => admin_docs}/installation/architecture.mdx (85%)
rename docs/{docs => admin_docs}/installation/docker-builds.mdx (100%)
rename docs/{docs => admin_docs}/installation/docker-compose.mdx (98%)
rename docs/{docs => admin_docs}/installation/installation-methods.mdx (90%)
rename docs/{docs => admin_docs}/installation/kubernetes.mdx (98%)
rename docs/{docs => admin_docs}/installation/pypi.mdx (97%)
rename docs/{docs => admin_docs}/installation/upgrading-superset.mdx (100%)
rename docs/{docs => admin_docs}/security/cves.mdx (91%)
rename docs/{docs => admin_docs}/security/securing_superset.mdx (98%)
rename docs/{docs => admin_docs}/security/security.mdx (99%)
delete mode 100644 docs/babel.config.js
rename docs/{docs => developer_docs}/api.mdx (96%)
create mode 100644 docs/developer_docs/components/TODO.md
create mode 100644
docs/developer_docs/components/design-system/dropdowncontainer.mdx
create mode 100644 docs/developer_docs/components/design-system/flex.mdx
create mode 100644 docs/developer_docs/components/design-system/grid.mdx
create mode 100644 docs/developer_docs/components/design-system/index.mdx
create mode 100644 docs/developer_docs/components/design-system/layout.mdx
create mode 100644 docs/developer_docs/components/design-system/metadatabar.mdx
create mode 100644 docs/developer_docs/components/design-system/space.mdx
create mode 100644 docs/developer_docs/components/design-system/table.mdx
create mode 100644 docs/developer_docs/components/index.mdx
create mode 100644 docs/developer_docs/components/ui/autocomplete.mdx
create mode 100644 docs/developer_docs/components/ui/avatar.mdx
create mode 100644 docs/developer_docs/components/ui/badge.mdx
create mode 100644 docs/developer_docs/components/ui/breadcrumb.mdx
create mode 100644 docs/developer_docs/components/ui/button.mdx
create mode 100644 docs/developer_docs/components/ui/buttongroup.mdx
create mode 100644 docs/developer_docs/components/ui/cachedlabel.mdx
create mode 100644 docs/developer_docs/components/ui/card.mdx
create mode 100644 docs/developer_docs/components/ui/checkbox.mdx
create mode 100644 docs/developer_docs/components/ui/collapse.mdx
create mode 100644 docs/developer_docs/components/ui/datepicker.mdx
create mode 100644 docs/developer_docs/components/ui/divider.mdx
create mode 100644 docs/developer_docs/components/ui/editabletitle.mdx
create mode 100644 docs/developer_docs/components/ui/emptystate.mdx
create mode 100644 docs/developer_docs/components/ui/favestar.mdx
create mode 100644 docs/developer_docs/components/ui/iconbutton.mdx
copy
superset-frontend/packages/superset-ui-core/src/components/Icons/Icons.stories.tsx
=> docs/developer_docs/components/ui/icons.mdx (57%)
create mode 100644 docs/developer_docs/components/ui/icontooltip.mdx
create mode 100644 docs/developer_docs/components/ui/index.mdx
create mode 100644 docs/developer_docs/components/ui/infotooltip.mdx
create mode 100644 docs/developer_docs/components/ui/input.mdx
create mode 100644 docs/developer_docs/components/ui/label.mdx
create mode 100644 docs/developer_docs/components/ui/list.mdx
create mode 100644 docs/developer_docs/components/ui/listviewcard.mdx
create mode 100644 docs/developer_docs/components/ui/loading.mdx
create mode 100644 docs/developer_docs/components/ui/menu.mdx
create mode 100644 docs/developer_docs/components/ui/modal.mdx
create mode 100644 docs/developer_docs/components/ui/modaltrigger.mdx
create mode 100644 docs/developer_docs/components/ui/popover.mdx
create mode 100644 docs/developer_docs/components/ui/progressbar.mdx
create mode 100644 docs/developer_docs/components/ui/radio.mdx
create mode 100644 docs/developer_docs/components/ui/safemarkdown.mdx
create mode 100644 docs/developer_docs/components/ui/select.mdx
create mode 100644 docs/developer_docs/components/ui/skeleton.mdx
create mode 100644 docs/developer_docs/components/ui/slider.mdx
create mode 100644 docs/developer_docs/components/ui/steps.mdx
create mode 100644 docs/developer_docs/components/ui/switch.mdx
create mode 100644 docs/developer_docs/components/ui/tablecollection.mdx
create mode 100644 docs/developer_docs/components/ui/tableview.mdx
create mode 100644 docs/developer_docs/components/ui/tabs.mdx
create mode 100644 docs/developer_docs/components/ui/timer.mdx
create mode 100644 docs/developer_docs/components/ui/tooltip.mdx
create mode 100644 docs/developer_docs/components/ui/tree.mdx
create mode 100644 docs/developer_docs/components/ui/treeselect.mdx
create mode 100644 docs/developer_docs/components/ui/typography.mdx
create mode 100644 docs/developer_docs/components/ui/unsavedchangesmodal.mdx
create mode 100644 docs/developer_docs/components/ui/upload.mdx
rename docs/{developer_portal => developer_docs}/contributing/code-review.md
(100%)
rename docs/{developer_portal =>
developer_docs}/contributing/development-setup.md (99%)
rename docs/{developer_portal => developer_docs}/contributing/guidelines.md
(100%)
rename docs/{developer_portal => developer_docs}/contributing/howtos.md (91%)
rename docs/{developer_portal =>
developer_docs}/contributing/issue-reporting.md (100%)
rename docs/{developer_portal => developer_docs}/contributing/overview.md
(100%)
rename docs/{docs => developer_docs}/contributing/pkg-resources-migration.md
(61%)
rename docs/{developer_portal =>
developer_docs}/contributing/release-process.md (100%)
rename docs/{developer_portal => developer_docs}/contributing/resources.md
(95%)
rename docs/{developer_portal => developer_docs}/contributing/submitting-pr.md
(100%)
rename docs/{developer_portal => developer_docs}/extensions/architecture.md
(85%)
create mode 100644 docs/developer_docs/extensions/components/alert.mdx
create mode 100644 docs/developer_docs/extensions/components/index.mdx
create mode 100644 docs/developer_docs/extensions/contribution-types.md
rename docs/{developer_portal => developer_docs}/extensions/dependencies.md
(97%)
rename docs/{developer_portal => developer_docs}/extensions/deployment.md
(100%)
rename docs/{developer_portal => developer_docs}/extensions/development.md
(65%)
rename docs/{developer_portal =>
developer_docs}/extensions/extension-points/editors.md (88%)
rename docs/{developer_portal =>
developer_docs}/extensions/extension-points/sqllab.md (67%)
create mode 100644 docs/developer_docs/extensions/mcp-server.md
rename docs/{developer_portal => developer_docs}/extensions/mcp.md (99%)
rename docs/{developer_portal => developer_docs}/extensions/overview.md (89%)
rename docs/{developer_portal => developer_docs}/extensions/quick-start.md
(65%)
rename docs/{developer_portal => developer_docs}/extensions/registry.md (88%)
rename docs/{developer_portal => developer_docs}/extensions/security.md (100%)
rename docs/{developer_portal => developer_docs}/extensions/tasks.md (96%)
rename docs/{developer_portal =>
developer_docs}/guidelines/backend-style-guidelines.md (100%)
rename docs/{developer_portal =>
developer_docs}/guidelines/backend/dao-style-guidelines.md (100%)
rename docs/{developer_portal =>
developer_docs}/guidelines/design-guidelines.md (100%)
rename docs/{developer_portal =>
developer_docs}/guidelines/frontend-style-guidelines.md (100%)
rename docs/{developer_portal =>
developer_docs}/guidelines/frontend/component-style-guidelines.md (100%)
rename docs/{developer_portal =>
developer_docs}/guidelines/frontend/emotion-styling-guidelines.md (100%)
rename docs/{developer_portal => developer_docs}/index.md (72%)
rename docs/{developer_portal => developer_docs}/sidebars.js (98%)
rename docs/{developer_portal => developer_docs}/testing/backend-testing.md
(100%)
rename docs/{developer_portal => developer_docs}/testing/ci-cd.md (100%)
rename docs/{developer_portal => developer_docs}/testing/e2e-testing.md (100%)
rename docs/{developer_portal => developer_docs}/testing/frontend-testing.md
(100%)
rename docs/{developer_portal => developer_docs}/testing/overview.md (100%)
rename docs/{developer_portal => developer_docs}/testing/storybook.md (100%)
rename docs/{developer_portal => developer_docs}/testing/testing-guidelines.md
(100%)
rename docs/{developer_portal => developer_docs}/versions.json (100%)
delete mode 100644 docs/developer_portal/extensions/contribution-types.md
delete mode 100644 docs/docs/contributing/contributing.mdx
delete mode 100644 docs/docs/contributing/development.mdx
delete mode 100644 docs/docs/contributing/guidelines.mdx
delete mode 100644 docs/docs/contributing/howtos.mdx
delete mode 100644 docs/docs/contributing/misc.mdx
delete mode 100644 docs/docs/contributing/resources.mdx
create mode 100644 docs/docs/index.mdx
create mode 100644 docs/docs/using-superset/sql-templating.mdx
delete mode 100644 docs/scripts/generate-extension-components.mjs
create mode 100644 docs/scripts/generate-if-changed.mjs
copy docs/{sidebars.js => sidebarAdminDocs.js} (52%)
create mode 100644 docs/src/components/databases/DatabaseLogoWall.tsx
create mode 100644 docs/src/components/ui-components/ComponentIndex.tsx
rename {superset-frontend/packages/superset-core/src/ui =>
docs/src/components/ui-components}/index.ts (90%)
copy
superset-frontend/packages/superset-ui-core/src/types/react-syntax-highlighter.d.ts
=> docs/src/components/ui-components/types.ts (56%)
create mode 100644 docs/src/shims/superset-ui-core.ts
create mode 100644 docs/static/img/databases/datastore.png
rename docs/static/img/extensions/{sql-snippets.png => editor-snippets.png}
(100%)
delete mode 100644 superset-core/src/superset_core/api/rest_api.py
copy superset-core/src/superset_core/{api => common}/__init__.py (100%)
rename superset-core/src/superset_core/{api => common}/daos.py (72%)
rename superset-core/src/superset_core/{api => common}/models.py (62%)
copy superset-extensions-cli/src/superset_extensions_cli/types.py =>
superset-core/src/superset_core/extensions/constants.py (52%)
copy superset-core/src/superset_core/mcp/{__init__.py => decorators.py} (99%)
copy superset-core/src/superset_core/{api => queries}/__init__.py (100%)
create mode 100644 superset-core/src/superset_core/queries/daos.py
create mode 100644 superset-core/src/superset_core/queries/models.py
rename superset-core/src/superset_core/{api => queries}/query.py (93%)
rename superset-core/src/superset_core/{api => queries}/types.py (100%)
copy superset-core/src/superset_core/{api => rest_api}/__init__.py (100%)
copy superset-core/src/superset_core/{api/__init__.py => rest_api/api.py} (71%)
create mode 100644 superset-core/src/superset_core/rest_api/decorators.py
copy superset-core/src/superset_core/{api => tasks}/__init__.py (100%)
create mode 100644 superset-core/src/superset_core/tasks/daos.py
create mode 100644 superset-core/src/superset_core/tasks/decorators.py
create mode 100644 superset-core/src/superset_core/tasks/models.py
rename superset-core/src/superset_core/{api/tasks.py => tasks/types.py} (62%)
delete mode 100644
superset-extensions-cli/src/superset_extensions_cli/templates/backend/src/package/__init__.py.j2
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard_list/filter.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard_list/list.test.ts
delete mode 100644
superset-frontend/packages/superset-core/src/api/contributions.ts
delete mode 100644 superset-frontend/packages/superset-core/src/api/index.ts
rename superset-frontend/packages/superset-core/src/{api/authentication.ts =>
authentication/index.ts} (100%)
rename superset-frontend/packages/superset-core/src/{api/commands.ts =>
commands/index.ts} (62%)
rename superset-frontend/packages/superset-core/src/{api/core.ts =>
common/index.ts} (70%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/components/Alert/Alert.stories.tsx (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/components/Alert/Alert.test.tsx (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/components/Alert/index.tsx (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/components/index.ts (100%)
create mode 100644
superset-frontend/packages/superset-core/src/contributions/index.ts
rename superset-frontend/packages/superset-core/src/{api/editors.ts =>
editors/index.ts} (87%)
rename superset-frontend/packages/superset-core/src/{api/extensions.ts =>
extensions/index.ts} (98%)
create mode 100644 superset-frontend/packages/superset-core/src/menus/index.ts
rename superset-frontend/packages/superset-core/src/{api/sqlLab.ts =>
sqlLab/index.ts} (99%)
rename superset-frontend/packages/superset-core/src/{ui => }/testing.tsx (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/theme/GlobalStyles.tsx (87%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/theme/Theme.test.tsx (92%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/Theme.tsx
(90%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/theme/exampleThemes.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/index.tsx
(100%)
rename superset-frontend/packages/superset-core/src/{ui => }/theme/types.ts
(100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/theme/utils/index.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/theme/utils/themeUtils.test.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/theme/utils/themeUtils.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/theme/utils/utils.test.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/translation/README.md (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/translation/Translator.ts (98%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/translation/TranslatorSingleton.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/translation/index.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/translation/types/index.ts (100%)
rename superset-frontend/packages/superset-core/src/{ui =>
}/translation/types/jed.ts (100%)
rename superset-frontend/packages/superset-core/src/{spec =>
}/utils/logging.test.ts (94%)
create mode 100644 superset-frontend/packages/superset-core/src/views/index.ts
copy superset/static/service-worker.js =>
superset-frontend/packages/superset-ui-core/src/chart/types/matrixify.mocks.test.ts
(73%)
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/Select/constants.test.ts
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/Table/utils/InteractiveTableUtils.test.ts
copy
superset-frontend/packages/superset-ui-core/src/{components/List/List.test.tsx
=> utils/withLabel.test.ts} (52%)
create mode 100644 superset-frontend/playwright/helpers/api/dashboard.ts
create mode 100644 superset-frontend/playwright/pages/DashboardListPage.ts
create mode 100644
superset-frontend/playwright/tests/experimental/dashboard/dashboard-list.spec.ts
create mode 100644
superset-frontend/playwright/tests/experimental/dashboard/dashboard-test-helpers.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/useColDefs.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/utils/eChartOptionsSchema.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/utils/mergeCustomEChartOptions.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/utils/mergeCustomEChartOptions.ts
rename superset/static/service-worker.js =>
superset-frontend/plugins/plugin-chart-echarts/src/utils/orderby.test.ts (64%)
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/utils/orderby.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/utils/safeEChartOptionsParser.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/utils/safeEChartOptionsParser.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/utils/themeOverrides.ts
delete mode 100644 superset-frontend/scripts/eslint-metrics-uploader.js
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/components/DragOverlayContent.test.tsx
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/hooks/useContainingBlockModifier.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/hooks/useDragHandlers.test.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/sensors.test.ts
create mode 100644 superset-frontend/src/core/menus/index.test.ts
create mode 100644 superset-frontend/src/core/menus/index.ts
create mode 100644 superset-frontend/src/core/views/index.test.ts
create mode 100644 superset-frontend/src/core/views/index.ts
create mode 100644 superset-frontend/src/dashboard/actions/autoRefresh.ts
create mode 100644
superset-frontend/src/dashboard/components/AutoRefreshIndicator/index.tsx
create mode 100644
superset-frontend/src/dashboard/components/AutoRefreshStatus/StatusIndicatorDot.test.tsx
create mode 100644
superset-frontend/src/dashboard/components/AutoRefreshStatus/StatusIndicatorDot.tsx
create mode 100644
superset-frontend/src/dashboard/components/AutoRefreshStatus/StatusTooltipContent.test.tsx
create mode 100644
superset-frontend/src/dashboard/components/AutoRefreshStatus/StatusTooltipContent.tsx
create mode 100644
superset-frontend/src/dashboard/components/Header/useHeaderAutoRefresh.ts
create mode 100644
superset-frontend/src/dashboard/components/RefreshButton/index.tsx
copy superset-frontend/{plugins/plugin-chart-table/test/testHelpers.tsx =>
src/dashboard/components/RefreshFrequency/RefreshFrequencySelect.test.tsx} (53%)
create mode 100644
superset-frontend/src/dashboard/contexts/AutoRefreshContext.test.tsx
create mode 100644
superset-frontend/src/dashboard/contexts/AutoRefreshContext.tsx
create mode 100644
superset-frontend/src/dashboard/hooks/useAutoRefreshTabPause.test.tsx
create mode 100644
superset-frontend/src/dashboard/hooks/useAutoRefreshTabPause.ts
create mode 100644 superset-frontend/src/dashboard/hooks/useCurrentTime.test.ts
create mode 100644 superset-frontend/src/dashboard/hooks/useCurrentTime.ts
create mode 100644
superset-frontend/src/dashboard/hooks/useRealTimeDashboard.test.ts
create mode 100644
superset-frontend/src/dashboard/hooks/useRealTimeDashboard.ts
create mode 100644
superset-frontend/src/dashboard/hooks/useTabVisibility.test.ts
create mode 100644 superset-frontend/src/dashboard/hooks/useTabVisibility.ts
create mode 100644
superset-frontend/src/dashboard/reducers/autoRefreshReducer.test.ts
create mode 100644 superset-frontend/src/dashboard/types/autoRefresh.ts
create mode 100644
superset-frontend/src/explore/components/controls/JSEditorControl.test.tsx
create mode 100644
superset-frontend/src/explore/components/controls/JSEditorControl.tsx
delete mode 100644 superset-frontend/src/extensions/ExtensionsContext.test.tsx
delete mode 100644 superset-frontend/src/extensions/ExtensionsContext.tsx
delete mode 100644
superset-frontend/src/extensions/ExtensionsContextUtils.test.ts
delete mode 100644 superset-frontend/src/extensions/ExtensionsContextUtils.ts
create mode 100644 superset-frontend/src/extensions/ExtensionsLoader.test.ts
create mode 100644 superset-frontend/src/extensions/ExtensionsLoader.ts
delete mode 100644 superset-frontend/src/extensions/ExtensionsManager.test.ts
delete mode 100644 superset-frontend/src/extensions/ExtensionsManager.ts
create mode 100644 superset-frontend/src/features/roles/utils.test.ts
create mode 100644
superset-frontend/src/pages/DashboardList/DashboardList.behavior.test.tsx
create mode 100644
superset-frontend/src/pages/DashboardList/DashboardList.cardview.test.tsx
create mode 100644
superset-frontend/src/pages/DashboardList/DashboardList.listview.test.tsx
create mode 100644
superset-frontend/src/pages/DashboardList/DashboardList.permissions.test.tsx
create mode 100644
superset-frontend/src/pages/DashboardList/DashboardList.testHelpers.tsx
create mode 100644 superset-frontend/src/pages/RedirectWarning/index.tsx
create mode 100644 superset-frontend/src/pages/RedirectWarning/utils.test.ts
create mode 100644 superset-frontend/src/pages/RedirectWarning/utils.ts
create mode 100644 superset/db_engine_specs/datastore.py
create mode 100644 superset/extensions/context.py
create mode 100644 superset/extensions/contributions.py
copy superset-core/src/superset_core/api/__init__.py =>
superset/mcp_service/constants.py (77%)
create mode 100644 superset/mcp_service/jwt_verifier.py
create mode 100644 superset/mcp_service/utils/token_utils.py
create mode 100644 superset/utils/link_redirect.py
create mode 100644 superset/views/redirect.py
create mode 100644 tests/integration_tests/db_engine_specs/datastore_tests.py
create mode 100644 tests/integration_tests/views/test_redirect_view.py
rename {superset-core/src/superset_core/api =>
tests/unit_tests/commands/report}/__init__.py (100%)
create mode 100644 tests/unit_tests/commands/report/update_test.py
create mode 100644 tests/unit_tests/db_engine_specs/test_datastore.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_new_chart_types.py
create mode 100644
tests/unit_tests/mcp_service/chart/validation/test_column_name_normalization.py
create mode 100644 tests/unit_tests/mcp_service/system/test_system_utils.py
create mode 100644 tests/unit_tests/mcp_service/test_jwt_verifier.py
create mode 100644 tests/unit_tests/mcp_service/test_middleware.py
create mode 100644 tests/unit_tests/mcp_service/utils/test_token_utils.py
create mode 100644 tests/unit_tests/utils/test_link_redirect.py