This is an automated email from the ASF dual-hosted git repository.
enzomartellucci pushed a change to branch enxdev/feat/fab-list-roles-migration
in repository https://gitbox.apache.org/repos/asf/superset.git
from 7ad74f1646 clean up
add 82595df6f9 chore(ci): use npm/yarn lock files where possible (#32527)
add 9ad9ea67cf chore: Caching the Slack channels list (#32529)
add c2de749d0e fix: Show response message as default error (#32507)
add 626736bdd3 chore: add logging to index error (#31770)
add 99238dccbb fix: keep calculated columns when datasource is updated
(#32523)
add 68e8d9858c fix: always extract query source from request (#32525)
add 20e5df501e fix(migrations): Handle comparator None in old time
comparison migration (#32538)
add eae7cf81b0 chore(Ant Design): Remove unnecessary exports from version
4 (#32544)
add c5dd52bcc9 docs: add Canonical to INTHEWILD.md (#32547)
add 4c3aae7583 fix(sqllab): Allow clear on schema and catalog (#32515)
add 33aa9030bf fix: add DateOffset to json serializer (#32532)
add f45ab70080 chore: bump node to v20.18.3 (#32550)
add edfcbed24f refactor(input): Remove leftover direct usage of Ant Design
input (#32545)
add 644882faff chore(docs): Add Flowbird to users list (#32561)
add 89b6d7fb68 fix: Log table retention policy (#32572)
add 979f890cd5 fix(comp/async-ace-editor): proper import of `ace-builds`
(#32553)
add 0b0e0e9ce8 chore(🦾): bump python cryptography 43.0.3 -> 44.0.2 (#32573)
add d3ba2755e8 feat(charts): add two new boxplot parameter sets (#32170)
add 7aa89db8d0 chore(🦾): bump python pandas subpackage(s) (#32579)
add 8e021b0c82 fix(Slack V2): Specify the filename for the Slack upload
method (#32599)
add 91ab123860 chore(🦾): bump python slack-sdk 3.33.4 -> 3.34.0 (#32576)
add 3b1d763421 chore(deps): bump @babel/helpers from 7.17.2 to 7.26.10 in
/superset-frontend/cypress-base (#32602)
add 85d51f5c9a chore: bump postgresql from 15 to 16 (#32597)
add 9ea58381f4 docs: add information about ephemeral environments (#32600)
add 4fdeab8dad docs: fix typo in ephemeral envs docs (#32605)
add a3f3a35c20 docs(analytics): actually USING Matomo to track page
views/changes (#32607)
add 079e40144e chore(deps): bump @babel/runtime from 7.26.9 to 7.26.10 in
/docs (#32604)
add a16de15015 chore(deps): bump @babel/helpers from 7.24.5 to 7.26.10 in
/docs (#32598)
add ff9ae54ae9 chore(deps): bump @babel/runtime-corejs3 from 7.26.9 to
7.26.10 in /docs (#32603)
add b8fd1a30ee chore(deps-dev): bump axios from 1.7.9 to 1.8.2 in
/superset-frontend (#32583)
add a0ea905a7a chore(deps): bump axios from 1.7.8 to 1.8.2 in /docs
(#32582)
add c8f5089f7a chore(deps-dev): bump axios from 1.7.7 to 1.8.2 in
/superset-embedded-sdk (#32581)
add e7721a8c4d fix(dashboard): Support bigint value in native filters
(#32549)
add 9f79c5ab4d fix(sqllab): Grid header menu (#32381)
add 2ecc7e4f56 chore(🦾): bump python pyparsing 3.2.0 -> 3.2.1 (#32577)
add c5a2bc5484 chore(🦾): bump python flask-migrate subpackage(s) (#32578)
add 90e18e37d0 chore(🦾): bump python nh3 0.2.19 -> 0.2.21 (#32630)
add d97d991b5f chore(🦾): bump python humanize 4.11.0 -> 4.12.1 (#32632)
add 6c1806df74 chore(🦾): bump python greenlet 3.0.3 -> 3.1.1 (#32628)
add 1e20b048d3 chore(🦾): bump python sqlparse 0.5.2 -> 0.5.3 (#32631)
add 664047f3fb chore: fix precommit for eslint (#32596)
add d8d4b75a11 chore: fix precommit for eslint (#32596)
add 7dbe608d27 chore(🦾): bump python sshtunnel subpackage(s) (#32629)
add 057423ed92 chore(🦾): bump python flask-caching 2.3.0 -> 2.3.1 (#32634)
add f5eca4fe0b chore(🦾): bump python simplejson 3.19.3 -> 3.20.1 (#32635)
add 67af8bd730 chore(🦾): bump python importlib-metadata 8.5.0 -> 8.6.1
(#32636)
add fa890ecb23 chore(🦾): bump python celery subpackage(s) (#32638)
add 4b4912ba99 chore(🦾): bump python flask-session subpackage(s) (#32637)
add bf902b2240 chore(🦾): bump python croniter 5.0.1 -> 6.0.0 (#32639)
add 53471072f4 chore(🦾): bump python paramiko 3.5.0 -> 3.5.1 (#32575)
add 29b4c40e43 feat(reports): removing index column (#32366)
add 8695239372 feat: `OAuth2StoreTokenCommand` (#32546)
add 12435159db chore: add unique option to index migration utils (#32641)
add d92af9c95c chore: simplify user impersonation (#32485)
add 832e028b39 fix(welcome): perf on distinct recent activities (#32608)
add 2f6f5c6778 fix: Upgrade node base image to Debian 12 bookworm (#32652)
add e8ad096173 fix(sync perms): Avoid UnboundLocalError during perm sync
for DBs that don't support catalogs (#32658)
add 777760b096 fix(dashboard): Ensure `dashboardId` is included in
`form_data` for embedded mode (#32646)
add 0c6d868483 fix(import): Import a DB connection with expanded rows
enabled (#32657)
add 7c9c30db1d chore(examples): Touching up Vehicle Sales a bit (#32623)
add 831369a44b fix(gsheets): update params from encrypted extra (#32661)
add 6e049225f9 docs: add Hometogo to users list (#32668)
add b4dd64aa24 fix: Update RELEASING/README.md (#32678)
add 9907db9e1a feat: add a note to install cors-related dependency when
using ENABLE_CORS (#32662)
add b64e3254fc feat: DB migration for dataset folders (#32680)
add 974d36d35e chore(deps): bump jinja2 from 3.1.5 to 3.1.6 in
/superset/translations (#32580)
add eb39ddbfe3 feat(docs): Adding Kapa.ai integration (#32682)
add a49a15f990 chore(docs): remove customized "Edit this page on GitHub"
button (#32407)
add c9e2c7037e feat: Implement sparse import for ImportAssetsCommand
(#32670)
add 449f51aed5 fix(log): Update recent_activity by event name (#32681)
add df06bdf33b fix: Signature of Celery pruner jobs (#32699)
add 414cdbf83a fix(no-restricted-imports): Fix overrides and include
no-fa-icons-usage (#32571)
add 9c62456487 chore: add Oxylabs to INTHEWILD.md (#32697)
add 890b6079b9 build(dev-deps): bump prettier to v3.5.3 and follow-up
refactor (#32688)
add a87bedf31a docs(api): correct attribute `name` instead of `table` for
GET table_metadata in openapi.json (#32690)
add f1a222d356 fix(cosmetics): allow toast message to be toggled off when
modal is opened (#32691)
add 6a13ab8920 fix(spreadsheet uploads): make file extension comparisons
case-insensitive (#32696)
add 06deaebe19 fix(docs): poking a CSP hole for Kapa AI widget (#32704)
add 41bf215367 fix: boolean filters in Explore (#32701)
add 3e69ba1384 fix(repo): re-enable GitHub Discussions (#32703)
add b4602aaf28 chore(asf): fixing(?) `.asf.yaml` (#32709)
add cd5a94305c fix(logging): missing path in event data (#32708)
add 4adf44a43c chore(asf): Removing notifications from `.asf.yaml` - they
still don't work :( (#32710)
add e35145c816 feat(file uploads): List only allowed schemas in the file
uploads dialog (#32702)
add 1684ddc7e6 chore(asf): trying to fix `.asf.yaml` again to re-enable
Discussions (#32712)
add 34cd741e9b fix(docs): Fixes scrolling issue with AI widget on docs
site (#32713)
add f0c8c12c1a chore(docs): touching up AI styling/text (#32689)
add 78d2a584b7 chore(asf): Another `.asf.yaml` touch-up. (#32714)
add a2c164a77d chore(helm): bump postgresql image tag in helm values
(#32686)
add 99e69c32ee fix: coerce datetime conversion errors (#32683)
add d71e655a4b fix(docs): allow recaptcha in CSP (#32724)
add cc0097c87a fix(asf): moving notifications to the top of `.asf.yaml`
(#32726)
add e34644d983 fix(docs): poking ANOTHER hole in the CSP for the AI bot.
(#32727)
add c399295a4e fix(docs): Another CSP hole for run.app to allow Kapa AI
(#32728)
add 6612343f33 Revert "fix(asf): moving notifications to the top of
`.asf.yaml`" (#32730)
add 710af87faf Revert "Revert "fix(asf): moving notifications to the top
of `.asf.yaml`"" (#32732)
add 850801f510 feat(where_in): Support returning None if filter_values
return None (#32731)
add bc3e19d0a2 fix(import): Ensure import exceptions are logged (#32410)
add 3f1ef2a283 chore(🦾): bump python greenlet (#31247)
add 9e3052968b fix: ensure datasource permission in explore (#32679)
add ce6d5f5551 refactor(Icons): Replaces custom icons with Ant Design 5
icons (#32112)
add 4dd318ca68 chore(🦾): bump python flask-appbuilder subpackage(s)
(#31251)
add b26c373f4d chore(lang): update and fix french translations (#32711)
add 66c1a6a875 chore(🦾): bump python sqlglot 26.1.3 -> 26.11.1 (#32745)
add 121e424a7f chore(🦾): bump python celery subpackage(s) (#32743)
add 09ee3e2a1d chore(🦾): bump python shillelagh subpackage(s) (#31255)
add 29b62f7c0a fix(contextmenu): uncaught TypeError (#28203)
add 4f166a03f5 chore(🦾): bump python slack-sdk 3.34.0 -> 3.35.0 (#32742)
add c6e0abbe13 chore: replaced the workflow badge link (#32749)
add e9d5079986 chore(🦾): bump python flask-appbuilder subpackage(s)
(#32744)
add 78efb62781 fix: Changing language doesn't affect echarts charts
(#31751)
add 6042ea8f28 feat(embedded): Force a specific referrerPolicy for the
iframe request (#32735)
add 376a1f49d3 fix(migrations): fix foreign keys to match FAB 4.6.0 tables
(#32759)
add 89ce7ba0b0 fix: do not add calculated columns when syncing (#32761)
add 5392bafe28 feat(FormModal): Specialized Modal component for forms
(#32721)
add d319543377 fix(chart control): Change default of "Y Axis Title Margin"
(#32720)
add 01801e3c36 fix(sqllab): Pass query_id as kwarg so backoff can see it
(#32774)
add 5866f3ec83 fix(import): Missing catalog field in saved query schema
(#32775)
add 5ec710efc6 fix(css): typos in styles (#28350)
add 9bb3a5782d fix(config): correct slack image url in talisman (#32778)
add c0f83a7467 fix(excel export): big number truncation handling (#32739)
add ff0529c932 fix(model/helper): represent RLS filter clause in proper
textual SQL string (#32406)
add c96601c034 Merge branch master into
enxdev/feat/fab-list-roles-migration
add e8a0ccbd82 feat(unit tests): add unit tests for RoleList page and
modals
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 8 +
.github/workflows/ephemeral-env.yml | 6 +-
.github/workflows/pre-commit.yml | 9 +-
.github/workflows/superset-applitool-cypress.yml | 2 +-
.github/workflows/superset-cli.yml | 2 +-
.github/workflows/superset-e2e.yml | 2 +-
.../workflows/superset-python-integrationtest.yml | 2 +-
.github/workflows/superset-python-presto-hive.yml | 4 +-
.github/workflows/tech-debt.yml | 2 +-
.pre-commit-config.yaml | 59 +-
Dockerfile | 2 +-
README.md | 2 +-
RELEASING/README.md | 2 +-
RESOURCES/INTHEWILD.md | 4 +
docker-compose-image-tag.yml | 2 +-
docker-compose-non-dev.yml | 2 +-
docker-compose.yml | 2 +-
docs/.nvmrc | 2 +-
docs/docs/configuration/configuring-superset.mdx | 8 +-
docs/docs/contributing/howtos.mdx | 24 +
docs/docs/security/security.mdx | 43 +
docs/docusaurus.config.ts | 29 +-
docs/src/components/SectionHeader.tsx | 2 +-
docs/src/styles/main.less | 10 -
docs/src/theme/DocItem/index.js | 61 -
docs/src/theme/Root.js | 125 +
docs/static/.htaccess | 2 +-
docs/static/resources/openapi.json | 2 +-
docs/static/script/matomo.js | 37 -
docs/yarn.lock | 72 +-
helm/superset/Chart.lock | 6 +-
helm/superset/Chart.yaml | 4 +-
helm/superset/README.md | 4 +-
helm/superset/values.yaml | 2 +-
pyproject.toml | 2 +-
requirements/base.in | 11 +
requirements/base.txt | 133 +-
requirements/development.txt | 157 +-
requirements/translations.txt | 2 +-
scripts/eslint.sh | 2 +-
superset-embedded-sdk/.nvmrc | 2 +-
superset-embedded-sdk/README.md | 12 +-
superset-embedded-sdk/package-lock.json | 12 +-
superset-embedded-sdk/src/index.ts | 9 +-
superset-frontend/.eslintrc.js | 138 +-
superset-frontend/.nvmrc | 2 +-
.../cypress/applitools/chartlist.test.ts | 4 +-
.../cypress/applitools/dashboardlist.test.ts | 4 +-
.../cypress/e2e/chart_list/list.test.ts | 6 +-
.../cypress/e2e/dashboard/_skip.controls.test.ts | 4 +-
.../cypress/e2e/dashboard/actions.test.js | 35 +-
.../cypress/e2e/dashboard/drillby.test.ts | 36 +-
.../cypress/e2e/dashboard/drilltodetail.test.ts | 16 +-
.../cypress/e2e/dashboard/nativeFilters.test.ts | 2 +-
.../cypress/e2e/dashboard_list/list.test.ts | 13 +-
.../cypress-base/cypress/support/directories.ts | 28 +-
.../cypress-base/cypress/utils/index.ts | 8 +-
superset-frontend/cypress-base/package-lock.json | 152 +-
.../index.js | 38 +-
.../no-fontawesome.test.js} | 29 +-
.../package.json | 4 +-
superset-frontend/package-lock.json | 30 +-
superset-frontend/package.json | 3 +-
.../components/ColumnTypeLabel/ColumnTypeLabel.tsx | 22 +-
.../src/components/ControlHeader.tsx | 6 +
.../src/components/ControlSubSectionHeader.tsx | 10 +-
.../src/sections/chartTitle.tsx | 2 +-
.../src/connection/callApi/parseResponse.ts | 19 +-
.../superset-ui-core/src/query/types/Query.ts | 6 +-
.../src/query/types/QueryResponse.ts | 2 +-
.../formatters/finestTemporalGrain.test.ts | 8 +
.../time-format/formatters/finestTemporalGrain.ts | 4 +
.../superset-ui-core/src/utils/lruCache.ts | 4 +
.../superset-ui-core/test/utils/lruCache.test.ts | 4 +
.../plugins/plugin-chart-echarts/package.json | 3 +-
.../src/BigNumber/BigNumberViz.tsx | 1 +
.../src/BoxPlot/controlPanel.ts | 2 +
.../plugin-chart-echarts/src/BoxPlot/types.ts | 4 +-
.../src/Bubble/transformProps.ts | 4 +-
.../src/Heatmap/transformProps.ts | 2 +-
.../src/Timeseries/Regular/Bar/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/components/Echart.tsx | 86 +-
.../plugins/plugin-chart-echarts/src/constants.ts | 2 +
.../plugins/plugin-chart-echarts/src/types.ts | 2 +-
.../plugin-chart-echarts/src/utils/series.ts | 2 +-
.../plugin-chart-echarts/test/index.test.ts | 2 +-
superset-frontend/spec/helpers/setup.ts | 1 +
superset-frontend/spec/helpers/shim.tsx | 11 +-
superset-frontend/spec/helpers/testing-library.tsx | 3 +
.../SqlLab/components/QueryLimitSelect/index.tsx | 5 +-
.../src/SqlLab/components/QueryTable/index.tsx | 15 +-
.../src/SqlLab/components/ResultSet/index.tsx | 23 +-
.../components/RunQueryActionButton/index.tsx | 11 +-
.../SaveDatasetActionButton.test.tsx | 6 +-
.../components/SaveDatasetActionButton/index.tsx | 6 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 3 +-
.../SqlLab/components/SaveQuery/SaveQuery.test.tsx | 10 +-
.../src/SqlLab/components/SaveQuery/index.tsx | 2 +-
.../SqlLab/components/ShareSqlLabQuery/index.tsx | 27 +-
.../src/SqlLab/components/ShowSQL/index.tsx | 8 +-
.../src/SqlLab/components/SouthPane/index.tsx | 11 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 2 +-
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 2 +
.../SqlLab/components/SqlEditorTabHeader/index.tsx | 95 +-
.../TabStatusIcon/TabStatusIcon.test.tsx | 36 -
.../src/SqlLab/components/TabStatusIcon/index.tsx | 78 -
.../SqlLab/components/TabbedSqlEditors/index.tsx | 25 +-
.../src/SqlLab/components/TableElement/index.tsx | 36 +-
.../src/SqlLab/components/TablePreview/index.tsx | 13 +-
.../src/assets/images/icons/alert.svg | Bin 1928 -> 0 bytes
.../src/assets/images/icons/alert_solid.svg | Bin 1572 -> 0 bytes
.../src/assets/images/icons/alert_solid_small.svg | Bin 2867 -> 0 bytes
.../src/assets/images/icons/area-chart-tile.svg | Bin 1614 -> 0 bytes
.../src/assets/images/icons/bar-chart-tile.svg | Bin 2141 -> 0 bytes
superset-frontend/src/assets/images/icons/bolt.svg | Bin 1565 -> 0 bytes
.../src/assets/images/icons/bolt_small.svg | Bin 1555 -> 0 bytes
.../src/assets/images/icons/bolt_small_run.svg | Bin 1442 -> 0 bytes
.../src/assets/images/icons/calendar.svg | Bin 2119 -> 0 bytes
.../src/assets/images/icons/cancel-x.svg | Bin 2078 -> 0 bytes
.../src/assets/images/icons/cancel.svg | Bin 2261 -> 0 bytes
.../src/assets/images/icons/cancel_solid.svg | Bin 2056 -> 0 bytes
.../src/assets/images/icons/card_view.svg | Bin 1822 -> 0 bytes
.../src/assets/images/icons/cards.svg | Bin 1756 -> 0 bytes
.../src/assets/images/icons/cards_locked.svg | Bin 2163 -> 0 bytes
.../src/assets/images/icons/caret_down.svg | Bin 1369 -> 0 bytes
.../src/assets/images/icons/caret_left.svg | Bin 1364 -> 0 bytes
.../src/assets/images/icons/caret_right.svg | Bin 1393 -> 0 bytes
.../src/assets/images/icons/caret_up.svg | Bin 1371 -> 0 bytes
.../src/assets/images/icons/check.svg | Bin 1404 -> 0 bytes
.../src/assets/images/icons/circle.svg | Bin 1145 -> 0 bytes
.../src/assets/images/icons/circle_check.svg | Bin 1698 -> 0 bytes
.../src/assets/images/icons/circle_check_solid.svg | Bin 1629 -> 0 bytes
.../icons/{database.svg => circle_solid.svg} | Bin 1212 -> 1127 bytes
.../src/assets/images/icons/clock.svg | Bin 1639 -> 0 bytes
.../src/assets/images/icons/close.svg | Bin 1630 -> 0 bytes
superset-frontend/src/assets/images/icons/code.svg | Bin 1933 -> 0 bytes
superset-frontend/src/assets/images/icons/cog.svg | Bin 3125 -> 0 bytes
.../src/assets/images/icons/collapse.svg | Bin 1611 -> 0 bytes
.../src/assets/images/icons/color_palette.svg | Bin 1559 -> 0 bytes
.../src/assets/images/icons/components.svg | Bin 1898 -> 0 bytes
superset-frontend/src/assets/images/icons/copy.svg | Bin 1652 -> 0 bytes
.../src/assets/images/icons/cross-filter-badge.svg | Bin 1979 -> 0 bytes
.../assets/images/icons/current-rendered-tile.svg | Bin 2188 -> 0 bytes
.../src/assets/images/icons/cursor_target.svg | Bin 1889 -> 0 bytes
.../src/assets/images/icons/dataset_physical.svg | Bin 1317 -> 0 bytes
.../src/assets/images/icons/dataset_virtual.svg | Bin 1372 -> 0 bytes
.../images/icons/dataset_virtual_greyscale.svg | Bin 1271 -> 0 bytes
.../src/assets/images/icons/default_db_image.svg | Bin 3428 -> 0 bytes
.../src/assets/images/icons/download.svg | Bin 1742 -> 0 bytes
superset-frontend/src/assets/images/icons/edit.svg | Bin 1575 -> 0 bytes
.../src/assets/images/icons/edit_alt.svg | Bin 1637 -> 0 bytes
.../src/assets/images/icons/email.svg | Bin 1266 -> 0 bytes
.../src/assets/images/icons/error_solid.svg | Bin 1721 -> 0 bytes
.../src/assets/images/icons/error_solid_small.svg | Bin 1702 -> 0 bytes
.../src/assets/images/icons/exclamation.svg | Bin 1218 -> 0 bytes
.../src/assets/images/icons/expand.svg | Bin 1611 -> 0 bytes
superset-frontend/src/assets/images/icons/eye.svg | Bin 1707 -> 0 bytes
.../src/assets/images/icons/eye_slash.svg | Bin 2528 -> 0 bytes
.../src/assets/images/icons/favorite-selected.svg | Bin 1630 -> 0 bytes
.../assets/images/icons/favorite-unselected.svg | Bin 1865 -> 0 bytes
.../images/icons/favorite_small_selected.svg | Bin 1608 -> 0 bytes
.../src/assets/images/icons/field_abc.svg | Bin 2425 -> 0 bytes
.../src/assets/images/icons/field_boolean.svg | Bin 1466 -> 0 bytes
.../src/assets/images/icons/field_date.svg | Bin 1521 -> 0 bytes
.../src/assets/images/icons/field_derived.svg | Bin 2950 -> 0 bytes
.../src/assets/images/icons/field_num.svg | Bin 1045 -> 0 bytes
.../src/assets/images/icons/field_struct.svg | Bin 1924 -> 0 bytes
superset-frontend/src/assets/images/icons/file.svg | Bin 1365 -> 0 bytes
.../src/assets/images/icons/filter.svg | Bin 1520 -> 0 bytes
.../src/assets/images/icons/filter_small.svg | Bin 1360 -> 0 bytes
.../src/assets/images/icons/folder.svg | Bin 1439 -> 0 bytes
.../src/assets/images/icons/function_x.svg | Bin 2945 -> 0 bytes
superset-frontend/src/assets/images/icons/gear.svg | Bin 3052 -> 0 bytes
superset-frontend/src/assets/images/icons/grid.svg | Bin 1132 -> 0 bytes
.../src/assets/images/icons/image.svg | Bin 1477 -> 0 bytes
.../src/assets/images/icons/import.svg | Bin 1920 -> 0 bytes
.../src/assets/images/icons/info-solid.svg | Bin 1731 -> 0 bytes
superset-frontend/src/assets/images/icons/info.svg | Bin 1759 -> 0 bytes
.../src/assets/images/icons/info_solid_small.svg | Bin 1353 -> 0 bytes
superset-frontend/src/assets/images/icons/join.svg | Bin 1961 -> 0 bytes
.../src/assets/images/icons/keyboard.svg | Bin 2577 -> 0 bytes
.../src/assets/images/icons/lightbulb.svg | Bin 1783 -> 0 bytes
.../src/assets/images/icons/line-chart-tile.svg | Bin 1768 -> 0 bytes
superset-frontend/src/assets/images/icons/link.svg | Bin 2094 -> 0 bytes
superset-frontend/src/assets/images/icons/list.svg | Bin 2908 -> 0 bytes
.../src/assets/images/icons/list_view.svg | Bin 2936 -> 0 bytes
.../src/assets/images/icons/location.svg | Bin 1485 -> 0 bytes
.../src/assets/images/icons/lock_locked.svg | Bin 1549 -> 0 bytes
.../src/assets/images/icons/lock_unlocked.svg | Bin 1834 -> 0 bytes
superset-frontend/src/assets/images/icons/map.svg | Bin 1516 -> 0 bytes
.../src/assets/images/icons/message.svg | Bin 1918 -> 0 bytes
.../src/assets/images/icons/minus.svg | Bin 1380 -> 0 bytes
.../src/assets/images/icons/minus_solid.svg | Bin 1285 -> 0 bytes
.../src/assets/images/icons/more_horiz.svg | Bin 1316 -> 0 bytes
.../src/assets/images/icons/more_vert.svg | Bin 1316 -> 0 bytes
superset-frontend/src/assets/images/icons/move.svg | Bin 1093 -> 0 bytes
.../src/assets/images/icons/nav_charts.svg | Bin 1405 -> 0 bytes
.../src/assets/images/icons/nav_dashboard.svg | Bin 2094 -> 0 bytes
.../src/assets/images/icons/nav_data.svg | Bin 1687 -> 0 bytes
.../src/assets/images/icons/nav_explore.svg | Bin 2169 -> 0 bytes
.../src/assets/images/icons/nav_home.svg | Bin 1827 -> 0 bytes
.../src/assets/images/icons/nav_lab.svg | Bin 2064 -> 0 bytes
superset-frontend/src/assets/images/icons/note.svg | Bin 1717 -> 0 bytes
.../src/assets/images/icons/paperclip.svg | Bin 1935 -> 0 bytes
.../src/assets/images/icons/pie-chart-tile.svg | Bin 2636 -> 0 bytes
.../src/assets/images/icons/placeholder.svg | Bin 930 -> 0 bytes
superset-frontend/src/assets/images/icons/plus.svg | Bin 1505 -> 0 bytes
.../src/assets/images/icons/plus_large.svg | Bin 1185 -> 0 bytes
.../src/assets/images/icons/plus_small.svg | Bin 1185 -> 0 bytes
.../src/assets/images/icons/plus_solid.svg | Bin 1410 -> 0 bytes
.../src/assets/images/icons/refresh.svg | Bin 1902 -> 0 bytes
superset-frontend/src/assets/images/icons/save.svg | Bin 1412 -> 0 bytes
.../src/assets/images/icons/search.svg | Bin 2292 -> 0 bytes
.../src/assets/images/icons/server.svg | Bin 2026 -> 0 bytes
.../src/assets/images/icons/share.svg | Bin 1853 -> 0 bytes
superset-frontend/src/assets/images/icons/sql.svg | Bin 2697 -> 0 bytes
.../images/icons/{offline.svg => square.svg} | Bin 919 -> 915 bytes
.../src/assets/images/icons/table-chart-tile.svg | Bin 1752 -> 0 bytes
.../src/assets/images/icons/table.svg | Bin 1211 -> 0 bytes
superset-frontend/src/assets/images/icons/tag.svg | Bin 1662 -> 0 bytes
superset-frontend/src/assets/images/icons/tags.svg | Bin 1021 -> 0 bytes
.../src/assets/images/icons/trash.svg | Bin 1703 -> 0 bytes
.../src/assets/images/icons/triangle_change.svg | Bin 1126 -> 0 bytes
.../src/assets/images/icons/triangle_up.svg | Bin 1121 -> 0 bytes
.../src/assets/images/icons/up-level.svg | Bin 1603 -> 0 bytes
superset-frontend/src/assets/images/icons/user.svg | Bin 1973 -> 0 bytes
.../src/assets/images/icons/warning.svg | Bin 1816 -> 0 bytes
.../src/assets/images/icons/warning_solid.svg | Bin 1817 -> 0 bytes
.../src/assets/images/icons/x-large.svg | Bin 1601 -> 0 bytes
.../src/assets/images/icons/x-small.svg | Bin 1690 -> 0 bytes
.../src/components/AlteredSliceTag/index.tsx | 2 +-
.../src/components/AsyncAceEditor/index.tsx | 2 +-
.../src/components/CachedLabel/index.tsx | 2 +
superset-frontend/src/components/Chart/Chart.tsx | 11 +-
.../components/Chart/ChartErrorMessage.test.tsx | 84 +
.../src/components/Chart/ChartErrorMessage.tsx | 10 +-
.../Chart/DrillBy/DrillByMenuItems.test.tsx | 14 +-
.../components/Chart/DrillBy/DrillByMenuItems.tsx | 2 +-
.../DrillDetail/DrillDetailMenuItems.test.tsx | 39 +-
.../src/components/Collapse/index.tsx | 6 +-
.../CopyToClipboard/CopyToClipboard.stories.tsx | 4 +-
.../src/components/CronPicker/CronPicker.tsx | 3 +-
.../DatabaseSelector/DatabaseSelector.test.tsx | 2 +-
.../src/components/DatabaseSelector/index.tsx | 2 +
.../src/components/Datasource/CollectionTable.tsx | 13 +-
.../src/components/Datasource/DatasourceEditor.jsx | 27 +-
.../Datasource/DatasourceEditor.test.jsx | 4 +-
.../src/components/Datasource/DatasourceModal.tsx | 11 +
.../src/components/Datasource/Field.tsx | 2 +
.../src/components/Datasource/utils.js | 14 +-
.../src/components/Datasource/utils.test.tsx | 202 +
.../src/components/Dropdown/index.tsx | 2 +-
.../src/components/DropdownButton/index.tsx | 38 +-
.../DropdownContainer/DropdownContainer.test.tsx | 5 +-
.../ErrorMessage/BasicErrorAlert.test.tsx | 6 +-
.../components/ErrorMessage/BasicErrorAlert.tsx | 6 +-
.../src/components/ErrorMessage/ErrorAlert.tsx | 8 +-
.../ErrorMessage/ErrorMessageWithStackTrace.tsx | 1 -
.../src/components/ErrorMessage/IssueCode.tsx | 6 +-
.../src/components/FaveStar/FaveStar.test.tsx | 12 +-
.../src/components/FaveStar/index.tsx | 17 +-
superset-frontend/src/components/Form/Form.tsx | 13 +-
superset-frontend/src/components/Form/FormItem.tsx | 3 +-
.../src/components/GridTable/Header.tsx | 11 +-
.../src/components/GridTable/HeaderMenu.test.tsx | 2 +-
.../src/components/GridTable/HeaderMenu.tsx | 97 +-
.../src/components/GridTable/index.tsx | 4 +-
.../components/IconTooltip/IconTooltip.stories.tsx | 11 +-
.../src/components/Icons/AntdEnhanced.tsx | 90 +-
.../src/components/Icons/BaseIcon.tsx | 97 +
superset-frontend/src/components/Icons/Icon.tsx | 45 +-
.../src/components/Icons/Icons.stories.tsx | 4 +-
superset-frontend/src/components/Icons/index.tsx | 134 +-
.../src/components/Icons/{IconType.ts => types.ts} | 18 +-
.../src/components/ImportModal/index.tsx | 3 +-
.../src/components/InfoTooltip/index.tsx | 22 +-
.../components/Label/reusable/DatasetTypeLabel.tsx | 8 +-
.../components/Label/reusable/PublishedLabel.tsx | 10 +-
.../components/LastUpdated/LastUpdated.test.tsx | 14 +-
.../src/components/LastUpdated/index.tsx | 23 +-
.../src/components/ListView/ActionsBar.tsx | 2 +-
.../src/components/ListView/Filters/Search.tsx | 31 +-
.../src/components/ListView/Filters/Select.tsx | 3 +
.../src/components/ListView/Filters/index.tsx | 2 +
.../src/components/ListView/ListView.tsx | 4 +-
superset-frontend/src/components/ListView/types.ts | 1 +
.../ListViewCard/ListViewCard.stories.tsx | 6 +-
superset-frontend/src/components/Menu/index.tsx | 85 +-
.../src/components/MessageToasts/Toast.tsx | 37 +-
.../components/MessageToasts/ToastPresenter.tsx | 2 +-
.../src/components/MetadataBar/ContentConfig.tsx | 2 +-
.../src/components/Modal/FormModal.test.tsx | 115 +
.../src/components/Modal/FormModal.tsx | 126 +
superset-frontend/src/components/Modal/Modal.tsx | 3 +-
.../src/components/PageHeaderWithActions/index.tsx | 4 +-
.../src/components/Popover/Popover.test.tsx | 2 +-
.../src/components/PopoverDropdown/index.tsx | 9 +-
.../src/components/PopoverSection/index.tsx | 36 +-
.../src/components/Radio/Radio.stories.tsx | 32 +-
.../src/components/RefreshLabel/index.tsx | 11 +-
.../src/components/Select/AsyncSelect.tsx | 6 +-
.../src/components/Select/CustomTag.tsx | 3 +-
superset-frontend/src/components/Select/Select.tsx | 3 +-
.../src/components/Select/constants.ts | 3 +-
superset-frontend/src/components/Select/styles.tsx | 6 +-
superset-frontend/src/components/Select/types.ts | 6 +-
superset-frontend/src/components/Select/utils.tsx | 3 +-
.../src/components/Table/VirtualTable.tsx | 3 +-
.../header-renderers/HeaderWithRadioGroup.tsx | 2 +-
superset-frontend/src/components/Table/index.tsx | 9 +-
.../Table/utils/InteractiveTableUtils.ts | 3 +-
.../src/components/TableSelector/index.tsx | 7 +-
superset-frontend/src/components/Tabs/Tabs.tsx | 7 +-
superset-frontend/src/components/Tags/Tag.tsx | 6 +-
superset-frontend/src/components/Timer/index.tsx | 29 +-
.../src/components/Tooltip/Tooltip.test.tsx | 2 +-
superset-frontend/src/components/Tooltip/index.tsx | 3 +-
.../src/components/TooltipParagraph/index.tsx | 6 +-
.../components/WarningIconWithTooltip/index.tsx | 2 +-
superset-frontend/src/components/index.ts | 18 +-
.../src/dashboard/components/DashboardGrid.jsx | 17 +-
.../dashboard/components/DeleteComponentButton.tsx | 4 +-
.../DetailsPanel/DetailsPanel.test.tsx | 24 +-
.../FilterIndicator/FilterIndicator.test.tsx | 8 +-
.../dashboard/components/FiltersBadge/index.tsx | 2 +-
.../dashboard/components/Header/Header.test.tsx | 22 +-
.../src/dashboard/components/Header/index.jsx | 9 +
.../PropertiesModal/PropertiesModal.test.tsx | 5 +-
.../dashboard/components/PropertiesModal/index.tsx | 5 +
.../src/dashboard/components/SliceAdder.test.tsx | 8 +-
.../src/dashboard/components/SliceAdder.tsx | 52 +-
.../src/dashboard/components/SliceHeader/index.tsx | 8 +-
.../components/URLShortLinkButton/index.tsx | 16 +-
.../dashboard/components/gridComponents/Chart.jsx | 3 +
.../components/gridComponents/Chart.test.jsx | 7 +-
.../dashboard/components/gridComponents/Column.jsx | 2 +-
.../components/gridComponents/Divider.test.jsx | 2 +-
.../components/gridComponents/Header.test.jsx | 4 +-
.../dashboard/components/gridComponents/Row.jsx | 2 +-
.../dashboard/components/gridComponents/Tabs.jsx | 47 +-
.../components/menu/BackgroundStyleDropdown.tsx | 7 +-
.../ScopingModal/ChartsScopingListPanel.test.tsx | 2 +-
.../ScopingModal/ChartsScopingListPanel.tsx | 14 +-
.../ScopingModal/ScopingModal.test.tsx | 2 +-
.../CrossFilters/ScopingModal/ScopingTreePanel.tsx | 1 -
.../nativeFilters/FilterBar/FilterBar.test.tsx | 12 +-
.../FilterBarSettings/FilterBarSettings.test.tsx | 47 +-
.../FilterBar/FilterBarSettings/index.tsx | 34 +-
.../FilterBar/FilterControls/FilterControl.tsx | 6 +-
.../FilterBar/FilterControls/FilterControls.tsx | 2 +-
.../FilterControls/FilterDivider.stories.tsx | 2 +-
.../FilterBar/FilterControls/FilterDivider.tsx | 1 -
.../FiltersOutOfScopeCollapsible/index.tsx | 3 +-
.../nativeFilters/FilterBar/Header/Header.test.tsx | 8 +-
.../nativeFilters/FilterBar/Header/index.tsx | 43 +-
.../nativeFilters/FilterBar/Vertical.tsx | 26 +-
.../nativeFilters/FilterCard/DependenciesRow.tsx | 2 +-
.../nativeFilters/FilterCard/FilterCard.test.tsx | 2 +-
.../nativeFilters/FilterCard/NameRow.tsx | 5 +-
.../FiltersConfigModal/DraggableFilter.tsx | 1 -
.../FiltersConfigModal/FilterTitleContainer.tsx | 13 +-
.../FiltersConfigModal/FilterTitlePane.tsx | 14 +-
.../FiltersConfigForm/DependencyList.tsx | 4 +-
.../FiltersConfigForm/FilterScope/ScopingTree.tsx | 2 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 17 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 12 +-
.../src/explore/components/ControlHeader.tsx | 10 +-
.../explore/components/DataTableControl/index.tsx | 46 +-
.../components/DataTablesPane/DataTablesPane.tsx | 9 +-
.../DatasourcePanel/DatasourcePanel.test.tsx | 2 +-
.../src/explore/components/EmbedCodeContent.jsx | 2 +
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 4 +-
.../components/ExploreChartHeader/index.jsx | 8 +-
.../components/ExploreViewContainer/index.jsx | 23 +-
.../components/ExportToCSVDropdown/index.tsx | 4 +-
.../PropertiesModal/PropertiesModal.test.tsx | 6 +-
.../explore/components/PropertiesModal/index.tsx | 19 +-
.../explore/components/RunQueryButton/index.tsx | 13 +-
.../controls/AnnotationLayerControl/index.tsx | 22 +-
.../CollectionControl/CollectionControl.test.tsx | 4 +-
.../controls/CollectionControl/index.jsx | 4 +-
.../ColorSchemeControl/ColorSchemeControl.test.tsx | 6 +-
.../controls/ColorSchemeControl/index.tsx | 18 +-
.../ColumnConfigControl/ColumnConfigControl.tsx | 4 +
.../ColumnConfigControl/ColumnConfigItem.tsx | 2 +
.../ConditionalFormattingControl.tsx | 22 +-
.../DatasourceControl/DatasourceControl.test.jsx | 6 +-
.../controls/DatasourceControl/index.jsx | 16 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 6 +-
.../DateFilterControl/components/AdvancedFrame.tsx | 2 +
.../DateFilterControl/components/DateLabel.tsx | 32 +-
.../DndColumnSelectPopoverTitle.jsx | 12 +-
.../DndColumnSelectControl/DndSelectLabel.tsx | 8 +-
.../DndColumnSelectControl/Option.test.tsx | 10 +-
.../controls/DndColumnSelectControl/Option.tsx | 21 +-
.../DndColumnSelectControl/OptionWrapper.test.tsx | 4 +-
.../DndColumnSelectControl/useResizeButton.tsx | 2 +
.../FilterControl/AdhocFilter/AdhocFilter.test.js | 50 +-
.../controls/FilterControl/AdhocFilter/index.js | 54 +-
.../FilterControl/AdhocFilterControl/index.jsx | 13 +-
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 16 +-
.../index.tsx | 3 -
.../AdhocFilterEditPopoverSqlTabContent/index.tsx | 8 +-
.../AdhocFilterOption/AdhocFilterOption.test.tsx | 8 +-
.../controls/FixedOrMetricControl/index.jsx | 3 +-
.../controls/LayerConfigsControl/FlatLayerTree.tsx | 10 +-
.../LayerConfigsPopoverContent.tsx | 3 +-
.../controls/LayerConfigsControl/LayerTreeItem.tsx | 9 +-
.../controls/LayerConfigsControl/dragDropUtil.tsx | 3 +-
.../controls/LayerConfigsControl/types.ts | 3 +-
.../controls/MapViewControl/ExtentTag.tsx | 3 +-
.../MetricControl/AdhocMetricEditPopover/index.jsx | 2 +
.../AdhocMetricEditPopoverTitle.test.tsx | 3 +-
.../MetricControl/AdhocMetricEditPopoverTitle.tsx | 12 +-
.../controls/MetricControl/MetricsControl.jsx | 9 +-
.../components/controls/OptionControls/index.tsx | 23 +-
.../controls/SelectAsyncControl/index.tsx | 3 +-
.../src/explore/components/controls/ViewQuery.tsx | 2 +
.../components/controls/VizTypeControl/VizTile.tsx | 9 +-
.../VizTypeControl/VizTypeControl.test.tsx | 8 +-
.../controls/VizTypeControl/VizTypeGallery.tsx | 15 +-
.../controls/VizTypeControl/constants.tsx | 10 +-
.../components/controls/VizTypeControl/index.tsx | 2 +
.../ZoomConfigControl/ZoomConfigControl.tsx | 3 +-
.../DashboardsSubMenu.tsx | 3 +-
superset-frontend/src/explore/constants.ts | 4 +-
.../src/explore/exploreUtils/index.js | 19 +-
.../src/features/alerts/AlertReportModal.tsx | 9 +-
.../features/alerts/components/AlertStatusIcon.tsx | 15 +-
.../alerts/components/NotificationMethod.test.tsx | 75 +
.../alerts/components/NotificationMethod.tsx | 140 +-
.../alerts/components/RecipientIcon.test.tsx | 7 +-
.../features/alerts/components/RecipientIcon.tsx | 14 +-
.../src/features/alerts/components/StyledPanel.tsx | 6 +-
.../alerts/components/ValidatedPanelHeader.tsx | 13 +-
.../annotationLayers/AnnotationLayerModal.tsx | 19 +-
.../src/features/annotations/AnnotationModal.tsx | 18 +-
.../src/features/charts/ChartCard.tsx | 72 +-
.../src/features/cssTemplates/CssTemplateModal.tsx | 68 +-
.../src/features/dashboards/DashboardCard.tsx | 12 +-
.../DatabaseConnectionForm/EncryptedField.tsx | 4 +-
.../databases/DatabaseModal/ModalHeader.tsx | 3 +-
.../databases/DatabaseModal/SSHTunnelForm.tsx | 3 +-
.../DatabaseModal/SSHTunnelSwitch.test.tsx | 4 +-
.../databases/DatabaseModal/index.test.tsx | 10 +-
.../src/features/databases/DatabaseModal/index.tsx | 38 +-
.../src/features/databases/DatabaseModal/styles.ts | 2 +
.../UploadDataModel/UploadDataModal.test.tsx | 4 +-
.../features/databases/UploadDataModel/index.tsx | 16 +-
superset-frontend/src/features/databases/types.ts | 3 +-
.../AddDataset/DatasetPanel/DatasetPanel.tsx | 12 +-
.../features/datasets/AddDataset/Header/index.tsx | 2 +-
.../AddDataset/LeftPanel/LeftPanel.test.tsx | 2 +-
.../src/features/home/ActivityTable.tsx | 20 +-
superset-frontend/src/features/home/ChartTable.tsx | 10 +-
.../src/features/home/DashboardTable.test.tsx | 4 +-
.../src/features/home/DashboardTable.tsx | 9 +-
.../src/features/home/LanguagePicker.tsx | 13 +-
superset-frontend/src/features/home/Menu.tsx | 26 +-
superset-frontend/src/features/home/RightMenu.tsx | 33 +-
.../src/features/home/SavedQueries.tsx | 32 +-
superset-frontend/src/features/home/SubMenu.tsx | 15 +-
superset-frontend/src/features/home/types.ts | 12 +
.../src/features/queries/SyntaxHighlighterCopy.tsx | 2 +-
.../ReportModal/HeaderReportDropdown/index.tsx | 4 +-
.../src/features/reports/ReportModal/index.tsx | 2 +-
.../src/features/rls/RowLevelSecurityModal.tsx | 100 +-
.../src/features/roles/RoleFormItems.tsx | 70 +
.../src/features/roles/RoleListAddModal.test.tsx | 92 +
.../src/features/roles/RoleListAddModal.tsx | 153 +-
.../features/roles/RoleListDuplicateModal.test.tsx | 100 +
.../src/features/roles/RoleListDuplicateModal.tsx | 114 +-
.../src/features/roles/RoleListEditModal.test.tsx | 153 +
.../src/features/roles/RoleListEditModal.tsx | 184 +-
superset-frontend/src/features/roles/types.ts | 12 +
superset-frontend/src/features/roles/utils.ts | 28 +
superset-frontend/src/features/tags/TagCard.tsx | 7 +-
superset-frontend/src/features/tags/TagModal.tsx | 3 +-
.../components/Select/SelectFilterPlugin.test.tsx | 21 +
.../components/Select/SelectFilterPlugin.tsx | 3 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 3 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 3 +-
superset-frontend/src/filters/utils.ts | 3 +
superset-frontend/src/middleware/logger.test.js | 5 +-
.../src/middleware/loggerMiddleware.js | 13 +-
.../src/pages/AlertReportList/index.tsx | 31 +-
.../src/pages/AnnotationLayerList/index.tsx | 23 +-
.../src/pages/AnnotationList/index.tsx | 27 +-
.../src/pages/ChartCreation/ChartCreation.test.tsx | 17 +-
.../src/pages/ChartCreation/index.tsx | 12 +-
.../src/pages/ChartList/ChartList.test.jsx | 28 +-
superset-frontend/src/pages/ChartList/index.tsx | 24 +-
.../src/pages/CssTemplateList/index.tsx | 18 +-
.../src/pages/DashboardList/DashboardList.test.jsx | 12 +-
.../src/pages/DashboardList/index.tsx | 25 +-
.../src/pages/DatabaseList/DatabaseList.test.jsx | 8 +-
superset-frontend/src/pages/DatabaseList/index.tsx | 41 +-
superset-frontend/src/pages/DatasetList/index.tsx | 59 +-
superset-frontend/src/pages/Home/Home.test.tsx | 44 +-
superset-frontend/src/pages/Home/index.tsx | 2 +-
.../src/pages/QueryHistoryList/index.tsx | 20 +-
.../src/pages/RolesList/RolesList.test.tsx | 206 +
superset-frontend/src/pages/RolesList/index.tsx | 265 +-
.../src/pages/RowLevelSecurityList/index.tsx | 32 +-
.../pages/SavedQueryList/SavedQueryList.test.jsx | 7 +-
.../src/pages/SavedQueryList/index.tsx | 33 +-
superset-frontend/src/pages/Tags/index.tsx | 40 +-
superset-frontend/src/preamble.ts | 3 +-
superset-frontend/src/utils/downloadAsImage.ts | 1 +
superset-frontend/src/views/CRUD/utils.tsx | 16 +-
superset-frontend/src/views/routes.tsx | 16 +-
superset-websocket/.nvmrc | 2 +-
superset-websocket/utils/client-ws-app/.nvmrc | 2 +-
superset/charts/client_processing.py | 22 +-
superset/commands/database/oauth2.py | 88 +
superset/commands/database/sync_permissions.py | 8 +-
superset/commands/explore/get.py | 2 +-
superset/commands/importers/v1/__init__.py | 5 +
superset/commands/importers/v1/assets.py | 25 +-
superset/commands/importers/v1/utils.py | 18 +-
.../commands/{sql_lab/query.py => logs/prune.py} | 26 +-
superset/commands/sql_lab/query.py | 8 +-
superset/common/query_context_processor.py | 27 +
superset/common/query_object.py | 7 +-
superset/config.py | 17 +-
superset/connectors/sqla/models.py | 5 +-
superset/daos/database.py | 11 +
superset/daos/log.py | 19 +-
superset/databases/api.py | 73 +-
superset/databases/schemas.py | 7 +-
superset/db_engine_specs/base.py | 39 +-
superset/db_engine_specs/drill.py | 47 +-
superset/db_engine_specs/gsheets.py | 26 +-
superset/db_engine_specs/hive.py | 53 +-
superset/db_engine_specs/lib.py | 1 +
superset/db_engine_specs/presto.py | 37 +-
superset/db_engine_specs/starrocks.py | 23 +-
superset/db_engine_specs/trino.py | 55 +-
.../configs/charts/Vehicle Sales/Items_Sold.yaml | 73 +
.../Vehicle Sales/Items_by_Product_Line.yaml | 80 +
.../Number_of_Deals_for_each_Combination.yaml | 9 +-
.../Overall_Sales_By_Product_Line.yaml | 9 +
.../Proportion_of_Revenue_by_Product_Line.yaml | 120 +-
.../charts/Vehicle Sales/Quarterly_Sales.yaml | 133 +-
.../Quarterly_Sales_By_Product_Line_113.yaml | 103 +
.../charts/Vehicle Sales/Revenue_by_Deal_Size.yaml | 50 +-
.../Seasonality_of_Revenue_per_Product_Line.yaml | 5 +
.../charts/Vehicle Sales/Total_Revenue.yaml | 48 +-
.../configs/dashboards/Sales_Dashboard.yaml | 650 ++-
.../datasets/examples/cleaned_sales_data.yaml | 106 +-
superset/importexport/api.py | 5 +
superset/initialization/__init__.py | 4 +-
superset/jinja_context.py | 17 +-
superset/migrations/shared/utils.py | 95 +-
...9123a_update_charts_with_old_time_comparison.py | 2 +-
..._94e7a3499973_add_folders_column_to_dataset.py} | 19 +-
...46_32bf93dfe2a4_add_on_cascade_in_fab_tables.py | 111 +
superset/models/core.py | 55 +-
superset/models/helpers.py | 6 +-
superset/queries/saved_queries/schemas.py | 1 +
superset/reports/api.py | 6 +-
superset/reports/notifications/slackv2.py | 14 +-
superset/security/api.py | 90 +-
superset/security/manager.py | 30 +-
superset/sql_lab.py | 4 +-
superset/tasks/scheduler.py | 38 +-
superset/translations/fr/LC_MESSAGES/messages.po | 4815 +++++++++-----------
superset/translations/requirements.txt | 2 +-
superset/utils/core.py | 27 +-
superset/utils/excel.py | 14 +
superset/utils/json.py | 3 +
superset/utils/log.py | 4 +-
superset/utils/slack.py | 104 +-
superset/views/log/api.py | 2 +-
tests/integration_tests/databases/api_tests.py | 145 +
tests/integration_tests/explore/api_tests.py | 6 +-
tests/integration_tests/fixtures/importexport.py | 1 +
tests/integration_tests/log_api_tests.py | 73 +-
...update_charts_with_old_time_comparison__test.py | 28 +
tests/integration_tests/query_context_tests.py | 2 +
tests/integration_tests/security/api_tests.py | 18 +
tests/integration_tests/utils_tests.py | 546 +--
tests/unit_tests/charts/test_client_processing.py | 65 +-
tests/unit_tests/commands/databases/oauth2_test.py | 168 +
tests/unit_tests/commands/databases/update_test.py | 48 +
.../unit_tests/common/test_query_object_factory.py | 27 +-
tests/unit_tests/databases/api_test.py | 34 +-
tests/unit_tests/db_engine_specs/test_base.py | 84 +-
tests/unit_tests/db_engine_specs/test_drill.py | 57 +-
tests/unit_tests/db_engine_specs/test_gsheets.py | 55 +-
tests/unit_tests/db_engine_specs/test_starrocks.py | 26 +-
tests/unit_tests/importexport/api_test.py | 1 +
tests/unit_tests/jinja_context_test.py | 13 +
tests/unit_tests/models/helpers_test.py | 16 +-
tests/unit_tests/utils/excel_tests.py | 24 +
tests/unit_tests/utils/json_tests.py | 88 +-
tests/unit_tests/utils/test_core.py | 690 +++
597 files changed, 10964 insertions(+), 6650 deletions(-)
delete mode 100644 docs/src/theme/DocItem/index.js
create mode 100644 docs/src/theme/Root.js
delete mode 100644 docs/static/script/matomo.js
copy superset-frontend/eslint-rules/{eslint-plugin-i18n-strings =>
eslint-plugin-icons}/index.js (59%)
copy
superset-frontend/eslint-rules/{eslint-plugin-i18n-strings/no-template-vars.test.js
=> eslint-plugin-icons/no-fontawesome.test.js} (71%)
copy superset-frontend/eslint-rules/{eslint-plugin-i18n-strings =>
eslint-plugin-icons}/package.json (73%)
delete mode 100644
superset-frontend/src/SqlLab/components/TabStatusIcon/TabStatusIcon.test.tsx
delete mode 100644
superset-frontend/src/SqlLab/components/TabStatusIcon/index.tsx
delete mode 100644 superset-frontend/src/assets/images/icons/alert.svg
delete mode 100644 superset-frontend/src/assets/images/icons/alert_solid.svg
delete mode 100644
superset-frontend/src/assets/images/icons/alert_solid_small.svg
delete mode 100644
superset-frontend/src/assets/images/icons/area-chart-tile.svg
delete mode 100644 superset-frontend/src/assets/images/icons/bar-chart-tile.svg
delete mode 100644 superset-frontend/src/assets/images/icons/bolt.svg
delete mode 100644 superset-frontend/src/assets/images/icons/bolt_small.svg
delete mode 100644 superset-frontend/src/assets/images/icons/bolt_small_run.svg
delete mode 100644 superset-frontend/src/assets/images/icons/calendar.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cancel-x.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cancel.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cancel_solid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/card_view.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cards.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cards_locked.svg
delete mode 100644 superset-frontend/src/assets/images/icons/caret_down.svg
delete mode 100644 superset-frontend/src/assets/images/icons/caret_left.svg
delete mode 100644 superset-frontend/src/assets/images/icons/caret_right.svg
delete mode 100644 superset-frontend/src/assets/images/icons/caret_up.svg
delete mode 100644 superset-frontend/src/assets/images/icons/check.svg
delete mode 100644 superset-frontend/src/assets/images/icons/circle.svg
delete mode 100644 superset-frontend/src/assets/images/icons/circle_check.svg
delete mode 100644
superset-frontend/src/assets/images/icons/circle_check_solid.svg
rename superset-frontend/src/assets/images/icons/{database.svg =>
circle_solid.svg} (73%)
delete mode 100644 superset-frontend/src/assets/images/icons/clock.svg
delete mode 100644 superset-frontend/src/assets/images/icons/close.svg
delete mode 100644 superset-frontend/src/assets/images/icons/code.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cog.svg
delete mode 100644 superset-frontend/src/assets/images/icons/collapse.svg
delete mode 100644 superset-frontend/src/assets/images/icons/color_palette.svg
delete mode 100644 superset-frontend/src/assets/images/icons/components.svg
delete mode 100644 superset-frontend/src/assets/images/icons/copy.svg
delete mode 100644
superset-frontend/src/assets/images/icons/cross-filter-badge.svg
delete mode 100644
superset-frontend/src/assets/images/icons/current-rendered-tile.svg
delete mode 100644 superset-frontend/src/assets/images/icons/cursor_target.svg
delete mode 100644
superset-frontend/src/assets/images/icons/dataset_physical.svg
delete mode 100644
superset-frontend/src/assets/images/icons/dataset_virtual.svg
delete mode 100644
superset-frontend/src/assets/images/icons/dataset_virtual_greyscale.svg
delete mode 100644
superset-frontend/src/assets/images/icons/default_db_image.svg
delete mode 100644 superset-frontend/src/assets/images/icons/download.svg
delete mode 100644 superset-frontend/src/assets/images/icons/edit.svg
delete mode 100644 superset-frontend/src/assets/images/icons/edit_alt.svg
delete mode 100644 superset-frontend/src/assets/images/icons/email.svg
delete mode 100644 superset-frontend/src/assets/images/icons/error_solid.svg
delete mode 100644
superset-frontend/src/assets/images/icons/error_solid_small.svg
delete mode 100644 superset-frontend/src/assets/images/icons/exclamation.svg
delete mode 100644 superset-frontend/src/assets/images/icons/expand.svg
delete mode 100644 superset-frontend/src/assets/images/icons/eye.svg
delete mode 100644 superset-frontend/src/assets/images/icons/eye_slash.svg
delete mode 100644
superset-frontend/src/assets/images/icons/favorite-selected.svg
delete mode 100644
superset-frontend/src/assets/images/icons/favorite-unselected.svg
delete mode 100644
superset-frontend/src/assets/images/icons/favorite_small_selected.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_abc.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_boolean.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_date.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_derived.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_num.svg
delete mode 100644 superset-frontend/src/assets/images/icons/field_struct.svg
delete mode 100644 superset-frontend/src/assets/images/icons/file.svg
delete mode 100644 superset-frontend/src/assets/images/icons/filter.svg
delete mode 100644 superset-frontend/src/assets/images/icons/filter_small.svg
delete mode 100644 superset-frontend/src/assets/images/icons/folder.svg
delete mode 100644 superset-frontend/src/assets/images/icons/function_x.svg
delete mode 100644 superset-frontend/src/assets/images/icons/gear.svg
delete mode 100644 superset-frontend/src/assets/images/icons/grid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/image.svg
delete mode 100644 superset-frontend/src/assets/images/icons/import.svg
delete mode 100644 superset-frontend/src/assets/images/icons/info-solid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/info.svg
delete mode 100644
superset-frontend/src/assets/images/icons/info_solid_small.svg
delete mode 100644 superset-frontend/src/assets/images/icons/join.svg
delete mode 100644 superset-frontend/src/assets/images/icons/keyboard.svg
delete mode 100644 superset-frontend/src/assets/images/icons/lightbulb.svg
delete mode 100644
superset-frontend/src/assets/images/icons/line-chart-tile.svg
delete mode 100644 superset-frontend/src/assets/images/icons/link.svg
delete mode 100644 superset-frontend/src/assets/images/icons/list.svg
delete mode 100644 superset-frontend/src/assets/images/icons/list_view.svg
delete mode 100644 superset-frontend/src/assets/images/icons/location.svg
delete mode 100644 superset-frontend/src/assets/images/icons/lock_locked.svg
delete mode 100644 superset-frontend/src/assets/images/icons/lock_unlocked.svg
delete mode 100644 superset-frontend/src/assets/images/icons/map.svg
delete mode 100644 superset-frontend/src/assets/images/icons/message.svg
delete mode 100644 superset-frontend/src/assets/images/icons/minus.svg
delete mode 100644 superset-frontend/src/assets/images/icons/minus_solid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/more_horiz.svg
delete mode 100644 superset-frontend/src/assets/images/icons/more_vert.svg
delete mode 100644 superset-frontend/src/assets/images/icons/move.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_charts.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_dashboard.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_data.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_explore.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_home.svg
delete mode 100644 superset-frontend/src/assets/images/icons/nav_lab.svg
delete mode 100644 superset-frontend/src/assets/images/icons/note.svg
delete mode 100644 superset-frontend/src/assets/images/icons/paperclip.svg
delete mode 100644 superset-frontend/src/assets/images/icons/pie-chart-tile.svg
delete mode 100644 superset-frontend/src/assets/images/icons/placeholder.svg
delete mode 100644 superset-frontend/src/assets/images/icons/plus.svg
delete mode 100644 superset-frontend/src/assets/images/icons/plus_large.svg
delete mode 100644 superset-frontend/src/assets/images/icons/plus_small.svg
delete mode 100644 superset-frontend/src/assets/images/icons/plus_solid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/refresh.svg
delete mode 100644 superset-frontend/src/assets/images/icons/save.svg
delete mode 100644 superset-frontend/src/assets/images/icons/search.svg
delete mode 100644 superset-frontend/src/assets/images/icons/server.svg
delete mode 100644 superset-frontend/src/assets/images/icons/share.svg
delete mode 100644 superset-frontend/src/assets/images/icons/sql.svg
rename superset-frontend/src/assets/images/icons/{offline.svg => square.svg}
(83%)
delete mode 100644
superset-frontend/src/assets/images/icons/table-chart-tile.svg
delete mode 100644 superset-frontend/src/assets/images/icons/table.svg
delete mode 100644 superset-frontend/src/assets/images/icons/tag.svg
delete mode 100644 superset-frontend/src/assets/images/icons/tags.svg
delete mode 100644 superset-frontend/src/assets/images/icons/trash.svg
delete mode 100644
superset-frontend/src/assets/images/icons/triangle_change.svg
delete mode 100644 superset-frontend/src/assets/images/icons/triangle_up.svg
delete mode 100644 superset-frontend/src/assets/images/icons/up-level.svg
delete mode 100644 superset-frontend/src/assets/images/icons/user.svg
delete mode 100644 superset-frontend/src/assets/images/icons/warning.svg
delete mode 100644 superset-frontend/src/assets/images/icons/warning_solid.svg
delete mode 100644 superset-frontend/src/assets/images/icons/x-large.svg
delete mode 100644 superset-frontend/src/assets/images/icons/x-small.svg
create mode 100644
superset-frontend/src/components/Chart/ChartErrorMessage.test.tsx
create mode 100644 superset-frontend/src/components/Datasource/utils.test.tsx
create mode 100644 superset-frontend/src/components/Icons/BaseIcon.tsx
rename superset-frontend/src/components/Icons/{IconType.ts => types.ts} (66%)
create mode 100644 superset-frontend/src/components/Modal/FormModal.test.tsx
create mode 100644 superset-frontend/src/components/Modal/FormModal.tsx
create mode 100644 superset-frontend/src/features/roles/RoleFormItems.tsx
create mode 100644
superset-frontend/src/features/roles/RoleListAddModal.test.tsx
create mode 100644
superset-frontend/src/features/roles/RoleListDuplicateModal.test.tsx
create mode 100644
superset-frontend/src/features/roles/RoleListEditModal.test.tsx
create mode 100644 superset-frontend/src/features/roles/utils.ts
create mode 100644 superset-frontend/src/pages/RolesList/RolesList.test.tsx
create mode 100644 superset/commands/database/oauth2.py
copy superset/commands/{sql_lab/query.py => logs/prune.py} (81%)
create mode 100644 superset/examples/configs/charts/Vehicle
Sales/Items_Sold.yaml
create mode 100644 superset/examples/configs/charts/Vehicle
Sales/Items_by_Product_Line.yaml
create mode 100644 superset/examples/configs/charts/Vehicle
Sales/Quarterly_Sales_By_Product_Line_113.yaml
copy
superset/migrations/versions/{2024-05-10_11-09_9621c6d56ffb_add_subject_column_to_report_schedule.py
=> 2025-03-03_20-52_94e7a3499973_add_folders_column_to_dataset.py} (73%)
create mode 100644
superset/migrations/versions/2025-03-19_17-46_32bf93dfe2a4_add_on_cascade_in_fab_tables.py
create mode 100644 tests/unit_tests/commands/databases/oauth2_test.py