This is an automated email from the ASF dual-hosted git repository.

rusackas pushed a change to branch developer_portal
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard 7a0618cde5 Better version switcher
 discard cf1c1e93ab Pages stay put when changing versions.
 discard 1ffb4f9fcb better versioning dropdowns
 discard 09f850ea4e versioning experiments
 discard 1e5a4b01af Storybook displays
 discard cc0d727120 Getting warmer...
 discard 33a8d6ed8f somewhat busted commit, but keeping track of things here...
 discard 2607cad5c9 versioning POC
 discard d58022f752 new component library section
     add be4bc3dec5 chore(deps-dev): bump ts-jest from 29.2.5 to 29.3.1 in 
/superset-websocket (#32924)
     add a8a6254ea2 chore(deps-dev): bump @typescript-eslint/parser from 8.19.0 
to 8.29.0 in /superset-websocket (#32925)
     add 8b0bda3bad chore(deps): update @types/react-redux requirement from 
^7.1.10 to ^7.1.34 in /superset-frontend/plugins/plugin-chart-echarts (#32927)
     add 26743dfcee fix: Clicking in the body of a Markdown component does not 
put it into edit mode (#32384)
     add e1c1de1b94 chore(deps-dev): bump css-minimizer-webpack-plugin from 
7.0.0 to 7.0.2 in /superset-frontend (#32937)
     add 2bc33beec4 chore(deps-dev): bump @babel/compat-data from 7.26.5 to 
7.26.8 in /superset-frontend (#32939)
     add 00933a27af chore(deps): bump swagger-ui-react from 5.20.0 to 5.20.2 in 
/docs (#32950)
     add 8eeed49547 chore(deps): bump antd from 5.24.2 to 5.24.5 in /docs 
(#32951)
     add f5d3627468 chore(deps-dev): bump eslint-config-prettier from 10.0.2 to 
10.1.1 in /docs (#32952)
     add a36e636a58 fix(pivot-table): Revert "fix(Pivot Table): Fix column 
width to respect currency config (#31414)" (#32968)
     add c83eda9551 feat: add latest partition support for BigQuery (#30760)
     add 4f0020d0df feat(List Roles): Migrate FAB view to React (#32432)
     add f5d64176f6 fix: fixed Add Metrics to Tree Chart (#29158) (#30679)
     add bc0bf94680 chore: bump marshmallow-sqlalchemy to 1.4.0 (#32922)
     add 86b795cd36 feat(embedding-sdk): emit data-mask events through embedded 
sdk to iframe parent (#31331)
     add 24b1666273 fix: Bar Chart (legacy) migration to keep labels layout 
(#32965)
     add 63c8bbf3eb fix(frontend): add missing antd-5 icon to import (#32990)
     add bcb43327b1 fix: `show_filters` URL parameter is not working (#29422)
     add 4041150660 feat: Add getDataMask function to embedded SDK (#32997)
     add db959a6463 chore(Databricks): Display older Databricks driver as 
legacy (#33001)
     add 629b137bb0 fix(dashboard): chart fullscreen issue when filter pane is 
collapsed (#28428)
     add b6df88a134 fix: fix bug where dashboard did not enter fullscreen mode. 
(#32839)
     add c131205ff1 docs: Update documentation about publishing a dashboard 
(#32999)
     add e1383d3821 refactor(IconButton): Refactor IconButton to use Ant Design 
5 Card (#32890)
     add fd947a097d feat(tags): Export and Import Functionality for Superset 
Dashboards and Charts (#30833)
     add 9b15e04bc4 fix(log): Missing failed query log on async queries (#33024)
     add 15969fdf94 docs: add WinWin Network(马上赢) to users list (#33018)
     add 5a8eab3b25 chore(deps): bump estree-util-value-to-estree from 3.1.1 to 
3.3.3 in /docs (#33028)
     add 6b7394e789 fix(export): charts csv export in dashboards (#31720)
     add 3a57857707 chore(helm): bump appVersion to 4.1.2 (#33061)
     add 9280b4d2a9 docs: clarify docker-compose-image-tag instructions (#33045)
     add ed0cd5e7b0 fix: improve error type on parse error (#33048)
     add deb6aedddb feat: add a title prop to the dashboard link in CRUD LIST 
view (#33046)
     add c1159c53e3 fix: Adds missing __init__ file to commands/logs (#33059)
     add 31ac3898ad fix(list roles): dont send invalid querystrings (#33060)
     add 09b92e7d08 feat: Allow superset to be deployed under a prefixed URL 
(#30134)
     add 8242692541 chore(deps-dev): bump lerna from 8.1.9 to 8.2.1 in 
/superset-frontend (#32941)
     add 44bd200885 fix(docs): Update quickstart.mdx to reflect latest version 
tag (#33063)
     add 164a07e2be fix(docker): fallback to pip if uv is not available (#33087)
     add d75ff9e784 feat(charts): add subtitle option and metric customization 
controls (#32975)
     add 37194a41ec chore: Added Formbricks to INTHEWILD.md (#33074)
     add 5304bed4ed chore: Update INTHEWILD.md (#33079)
     add d88cba92c0 feat: optimize catalog permission sync (#33000)
     add 4f97b739b1 fix: Broken Python tests on master after merging prefix 
branch (#33095)
     add 014b39290b feat(Native Filters): Configure creatable filter behavior 
(#33096)
     add 7ab8534ef6 feat: dataset folders (backend) (#32520)
     add bcd136cee1 feat: catalogs for DuckDB (#28751)
     add ac4df8d06b fix: CI file change detector to handle large PRs (#33092)
     add 5656d69c04 fix(dashboard): Generate screenshot via celery (#32193)
     add 347c174099 fix(thumbnails): ensure consistent cache_key (#33109)
     add 05faf2f352 fix: resolve recent merge collisio (#33110)
     add 3c1fc0b722 fix: Broken menu links to datasets and sql lab (#33114)
     add e1f5c49df7 fix: Allows configuration of Selenium Webdriver binary 
(#33103)
     add a5a91d5e48 fix(OAuth2): Update connection should not fail if 
connection is missing OAuth2 token (#33100)
     add 7b9ebbe735 feat(explore): Integrate dataset panel with Folders feature 
(#33104)
     add c1eeb63d89 fix: `master` builds are failing while trying to push 
report to cypress (#33124)
     add 839215148a feat(explore): X-axis sort by specific metric when more 
than 1 metric is set (#33116)
     add 2233c02720 fix(playwright): allow screenshotting empty dashboards 
(#33107)
     add 8cb71b8d3b fix(plugin-chart-table): Don't render redundant items in 
column config when time comparison is enabled (#33126)
     add 45c77a1976 chore(translations): Update PT-BR language (partial) 
(#29828)
     add ff8605b723 feat(lang): update Italian language (#29827)
     add 5f62deaa36 chore: use create table util  (#33072)
     add bc0ffe0d10 fix: Viz migration error handling (#33037)
     add 013379eb86 feat(List Users): Migrate List Users FAB to React (#32882)
     add 342e6f3ab0 fix(dashboard): invalid active tab state (#33106)
     add 93fa39a14f fix(lang): patch FAB's LocaleView to redirect to previous 
page (#31692)
     add 7dc5019b9d fix: app icon should not use subdirectory (#33141)
     add 7333ffd41e fix(echart): Tooltip date format doesn't follow time grain 
(#33138)
     add 0e18246999 chore(deps): bump @babel/runtime from 7.17.2 to 7.27.0 in 
/superset-frontend/cypress-base (#33102)
     add 26ff734ef9 fix: add folders to import schema (#33142)
     add be1b8d6751 feat(Native Filters): Exclude Filter Values (#33054)
     add a53907a646 feat(Select): Select all and Deselect all that works on 
visible items while searching (#33043)
     add 172e5dd095 fix(echart): Thrown errors shown after resized (#33143)
     add 00f1fdb3c4 fix: os.makedirs race condition (#33161)
     add 4140261797 fix: subheader should show as subtitle (#33172)
     add b589d44dfb fix(deckgl): Update Arc to properly adjust line width 
(#33154)
     add 8c94f9c435 fix(sqllab): Invalid SQL Error breaks SQL Lab (#33164)
     add 79afc2b545 docs: add a high-level architecture diagram to the docs 
(#33173)
     add 7530487760 feat(country-map): fix France Regions IDF region code - 
Fixes #32627 (#32695)
     add 8fa3b8d7e3 fix(Native Filters): Keep default filter values when 
configuring creatable behavior (#33205)
     add 99ed968289 fix(Native Filters): Keep default filter values when 
configuring creatable behavior (#33205)
     add 09364d182c chore(deps-dev): bump http-proxy-middleware from 2.0.7 to 
2.0.9 in /superset-frontend (#33197)
     add ae48dba3e1 feat(maps): Adding Ivory Coast / Côte d'Ivoire (#33198)
     add b6628cdfd2 chore: migrate to more db migration utils (#33155)
     add 3729016a0d docs: improve documentation(docs): clarify URL encoding 
requirement for connection strings (#30047)
     add 8aa127eac2 feat(i18n): Frontend add zh_TW Option (#33192)
     new d18566b2b8 new component library section
     new 7519aabc7b versioning POC
     new 5e02f74e37 somewhat busted commit, but keeping track of things here...
     new 4354dd18d0 Getting warmer...
     new 968a60ae0c Storybook displays
     new a2c61d97ba versioning experiments
     new 1c0a960e62 better versioning dropdowns
     new b7f4882e57 Pages stay put when changing versions.
     new 15b12850de Better version switcher

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   (7a0618cde5)
            \
             N -- N -- N   refs/heads/developer_portal (15b12850de)

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.

The 9 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/bashlib.sh                       |   8 +-
 .github/workflows/superset-e2e.yml                 |   7 +-
 .github/workflows/superset-python-unittest.yml     |   2 +-
 Dockerfile                                         |   2 +-
 RESOURCES/INTHEWILD.md                             |   3 +
 UPDATING.md                                        |   4 +-
 docker-compose.yml                                 |   8 +-
 docker/.env                                        |   2 +-
 docker/docker-bootstrap.sh                         |   6 +-
 .flaskenv => docker/docker-healthcheck.sh          |   5 +-
 docker/nginx/nginx.conf                            |  41 +-
 docker/nginx/templates/superset.conf.template      |  57 ++
 docker/pythonpath_dev/superset_config.py           |   7 +-
 docs/data/countries.json                           |   1 +
 docs/docs/configuration/configuring-superset.mdx   |  39 ++
 docs/docs/configuration/databases.mdx              |   7 +
 docs/docs/configuration/networking-settings.mdx    |   2 +-
 docs/docs/contributing/resources.mdx               |  86 +++
 docs/docs/installation/docker-compose.mdx          |   8 +
 docs/docs/quickstart.mdx                           |   2 +-
 .../creating-your-first-dashboard.mdx              |  33 +-
 docs/docusaurus.config.ts                          |   5 +-
 docs/package.json                                  |  13 +-
 docs/src/pages/index.tsx                           |   2 +-
 .../img/tutorial/publish_button_dashboard.png      | Bin 0 -> 85940 bytes
 helm/superset/Chart.yaml                           |   4 +-
 helm/superset/README.md                            |   2 +-
 pyproject.toml                                     |   3 +-
 requirements/base.in                               |   7 +-
 requirements/base.txt                              |   3 +-
 requirements/development.txt                       |   3 +-
 scripts/change_detector.py                         |  14 +-
 superset-embedded-sdk/src/index.ts                 | 158 ++++--
 .../cypress/applitools/explore.test.ts             |   2 +-
 .../cypress/e2e/chart_list/list.test.ts            |   9 +-
 .../cypress/e2e/dashboard/_skip.url_params.test.ts |   4 +-
 .../cypress/e2e/dashboard/drilltodetail.test.ts    |   4 +-
 .../e2e/dashboard/horizontalFilterBar.test.ts      |   2 +-
 .../dashboard/nativeFilters.noInitState.test.ts    |   2 +-
 .../e2e/dashboard/shared_dashboard_functions.ts    |   1 +
 .../cypress/e2e/dashboard/tabs.test.ts             |   4 +-
 .../cypress-base/cypress/e2e/dashboard/utils.ts    |  28 +-
 .../cypress/e2e/explore/_skip.AdhocFilters.test.ts |   6 +-
 .../cypress/e2e/explore/advanced_analytics.test.ts |   4 +-
 .../cypress/e2e/explore/control.test.ts            |   2 +-
 .../cypress-base/cypress/e2e/explore/utils.ts      |  20 +-
 .../e2e/explore/visualizations/big_number.test.js  |   4 +-
 .../e2e/explore/visualizations/box_plot.test.js    |   2 +-
 .../e2e/explore/visualizations/bubble.test.js      |   2 +-
 .../e2e/explore/visualizations/compare.test.js     |   2 +-
 .../explore/visualizations/download_chart.test.js  |   2 +-
 .../e2e/explore/visualizations/gauge.test.js       |   2 +-
 .../e2e/explore/visualizations/graph.test.ts       |   2 +-
 .../cypress/e2e/explore/visualizations/pie.test.js |   2 +-
 .../e2e/explore/visualizations/pivot_table.test.js |   2 +-
 .../e2e/explore/visualizations/sunburst.test.js    |   2 +-
 .../e2e/explore/visualizations/time_table.js       |   2 +-
 .../e2e/explore/visualizations/world_map.test.js   |   2 +-
 .../e2e/sqllab/_skip.sourcePanel.index.test.js     |   2 +-
 .../cypress-base/cypress/e2e/sqllab/query.test.ts  |   6 +-
 .../cypress-base/cypress/utils/vizPlugins.ts       |   4 +-
 superset-frontend/cypress-base/package-lock.json   |  30 +-
 superset-frontend/package-lock.json                | 373 +++++++++----
 superset-frontend/package.json                     |   6 +-
 .../src/components/MetricOption.tsx                |   2 +-
 .../src/components/labelUtils.tsx                  |   2 +-
 .../superset-ui-chart-controls/src/fixtures.ts     |   1 +
 .../src/sections/echartsTimeSeriesQuery.tsx        |   4 -
 .../src/shared-controls/customControls.tsx         |  85 +--
 .../test/utils/defineSavedMetrics.test.tsx         |   2 +
 .../test/utils/mainMetric.test.ts                  |  15 +-
 .../packages/superset-ui-core/package.json         |   1 +
 .../src/connection/SupersetClientClass.ts          |  34 +-
 .../superset-ui-core/src/connection/constants.ts   |   2 +-
 .../superset-ui-core/src/connection/types.ts       |   2 +-
 .../useTruncation/useCSSTextTruncation.test.tsx    |  34 ++
 .../hooks/useTruncation/useCSSTextTruncation.ts    |  25 +-
 .../superset-ui-core/src/query/types/Datasource.ts |   2 +
 .../superset-ui-core/src/query/types/Metric.ts     |   1 +
 .../src/translation/types/index.ts                 |   3 +-
 .../test/connection/SupersetClientClass.test.ts    |  12 +-
 .../test/query/api/v1/makeApi.test.ts              |   4 +-
 .../test/query/types/Datasource.test.ts            |   4 +-
 .../scripts/Country Map GeoJSON Generator.ipynb    | Bin 6956447 -> 10847127 
bytes
 .../src/countries.ts                               |   2 +
 .../src/countries/france_regions.geojson           |   2 +-
 .../src/countries/ivory_coast.geojson              |  26 +
 .../src/layers/Arc/Arc.tsx                         |   2 +-
 .../plugins/plugin-chart-echarts/package.json      |   2 +-
 .../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx |  94 +++-
 .../BigNumberPeriodOverPeriod/controlPanel.ts      |  15 +-
 .../BigNumberPeriodOverPeriod/transformProps.ts    |   4 +
 .../BigNumber/BigNumberPeriodOverPeriod/types.ts   |   4 +
 .../BigNumber/BigNumberTotal/controlPanel.test.ts  |  97 ++++
 .../src/BigNumber/BigNumberTotal/controlPanel.ts   |  29 +-
 .../BigNumberTotal/transformProps.test.ts          | 220 ++++++++
 .../src/BigNumber/BigNumberTotal/transformProps.ts |  13 +-
 .../src/BigNumber/BigNumberViz.tsx                 |  56 +-
 .../BigNumberWithTrendline/controlPanel.tsx        |   9 +-
 .../BigNumberWithTrendline/transformProps.ts       |   4 +
 .../src/BigNumber/sharedControls.ts                |  46 ++
 .../plugin-chart-echarts/src/BigNumber/types.ts    |   4 +-
 .../src/Timeseries/transformProps.ts               |  10 +-
 .../plugin-chart-echarts/src/Tree/controlPanel.tsx |   6 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |  38 +-
 .../plugin-chart-echarts/src/utils/formatters.ts   |   2 +-
 .../test/BigNumber/transformProps.test.ts          |   2 +
 .../src/PivotTableChart.tsx                        |   1 -
 .../plugins/plugin-chart-table/src/TableChart.tsx  |  37 +-
 .../plugin-chart-table/src/controlPanel.tsx        |  69 ++-
 .../plugins/plugin-chart-table/src/types.ts        |   4 +
 .../plugin-chart-table/test/TableChart.test.tsx    | 603 +++++++++++----------
 .../fixtures/mockDatabases.ts}                     |  49 +-
 .../spec/fixtures/mockNativeFilters.ts             |   3 +
 .../spec/helpers/setupSupersetClient.js            |   2 +-
 superset-frontend/src/SqlLab/actions/sqlLab.js     |  30 +-
 .../src/SqlLab/actions/sqlLab.test.js              |  10 +-
 .../QueryAutoRefresh/QueryAutoRefresh.test.tsx     |  69 ++-
 .../SqlLab/components/QueryAutoRefresh/index.tsx   |  30 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |   4 +-
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |   5 +-
 .../DrillDetail/DrillDetailMenuItems.test.tsx      |   2 +-
 .../src/components/Chart/chartAction.js            |   3 +-
 .../src/components/Checkbox/Checkbox.tsx           |   4 +-
 .../DatabaseSelector/DatabaseSelector.test.tsx     |  16 +-
 .../src/components/DropdownContainer/index.tsx     |  36 ++
 .../ErrorMessage/InvalidSQLErrorMessage.test.tsx   |  21 +
 .../ErrorMessage/InvalidSQLErrorMessage.tsx        |  12 +-
 .../src/components/FacePile/index.tsx              |   3 +-
 .../components/IconButton/IconButton.stories.tsx   |  55 +-
 .../src/components/IconButton/IconButton.test.jsx  |  37 --
 .../src/components/IconButton/IconButton.test.tsx  |  90 +++
 .../src/components/IconButton/index.tsx            | 189 +++----
 .../src/components/Icons/AntdEnhanced.tsx          |   2 +
 .../src/components/ListView/Filters/DateRange.tsx  |  25 +-
 .../components/ListView/Filters/NumericalRange.tsx | 134 +++++
 .../src/components/ListView/Filters/Select.tsx     |   3 +
 .../src/components/ListView/Filters/index.tsx      |  21 +
 superset-frontend/src/components/ListView/types.ts |  10 +-
 .../src/components/Select/CustomTag.tsx            |  17 +-
 .../src/components/Select/Select.test.tsx          | 214 +++-----
 superset-frontend/src/components/Select/Select.tsx | 327 ++++++-----
 superset-frontend/src/components/Select/styles.tsx |  20 +-
 superset-frontend/src/components/Select/types.ts   |   4 +
 superset-frontend/src/components/Select/utils.tsx  |   8 +-
 superset-frontend/src/components/Tags/Tag.test.tsx |   9 +-
 superset-frontend/src/components/Tags/Tag.tsx      |   7 +-
 .../src/components/Tags/TagsList.test.tsx          |   9 +-
 .../src/components/UiConfigContext/index.tsx       |   4 +
 superset-frontend/src/constants.ts                 |   2 +
 .../src/dashboard/actions/dashboardState.js        |  64 ++-
 .../components/AddSliceCard/AddSliceCard.tsx       |   5 +-
 .../DashboardBuilder/DashboardBuilder.test.tsx     |  42 ++
 .../DashboardBuilder/DashboardBuilder.tsx          |   2 +-
 .../dashboard/components/DashboardBuilder/state.ts |   5 +-
 .../src/dashboard/components/DashboardGrid.jsx     |  17 +-
 .../dashboard/components/Header/Header.test.tsx    |  34 ++
 .../Header/useHeaderActionsDropdownMenu.tsx        |   4 +-
 .../src/dashboard/components/SaveModal.tsx         |   3 +-
 .../src/dashboard/components/SliceAdder.tsx        |   9 +-
 .../dashboard/components/gridComponents/Chart.jsx  |  13 +-
 .../components/gridComponents/ChartHolder.tsx      |   2 +-
 .../dashboard/components/menu/WithPopoverMenu.tsx  |  13 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |  47 +-
 .../components/nativeFilters/FilterBar/index.tsx   |  12 +-
 .../nativeFilters/FilterBar/keyValue.tsx           |   2 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |   3 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   1 +
 .../src/dashboard/reducers/dashboardState.js       |  13 +-
 .../src/dashboard/reducers/dashboardState.test.ts  | 116 +++-
 superset-frontend/src/embedded/api.tsx             |   5 +
 superset-frontend/src/embedded/index.tsx           |  34 +-
 superset-frontend/src/embedded/utils.test.ts       |  76 +++
 .../utils.ts}                                      |  35 +-
 .../components/DatasourcePanel/DatasourceItems.tsx | 165 ++++++
 .../DatasourcePanel/DatasourcePanel.test.tsx       | 198 ++++++-
 .../DatasourcePanelDragOption.test.tsx             |   4 +-
 .../DatasourcePanel/DatasourcePanelItem.test.tsx   | 237 +++-----
 .../DatasourcePanel/DatasourcePanelItem.tsx        | 278 +++++-----
 .../components/DatasourcePanel/fixtures.tsx        |   7 +-
 .../explore/components/DatasourcePanel/index.tsx   | 130 ++---
 .../transformDatasourceFolders.test.ts             | 208 +++++++
 .../DatasourcePanel/transformDatasourceFolders.ts  | 177 ++++++
 .../explore/components/DatasourcePanel/types.ts    |  56 ++
 .../ExploreContainer/ExploreContainer.test.tsx     |   2 +-
 .../components/ExploreViewContainer/index.jsx      |   3 +-
 .../ColumnConfigControl/ColumnConfigControl.tsx    |  43 +-
 .../ColumnConfigControl/ColumnConfigItem.tsx       | 106 ++--
 .../controls/ColumnConfigControl/constants.tsx     |  27 +-
 .../controls/ColumnConfigControl/types.ts          |   2 +
 .../DndFilterSelect.test.tsx                       |  10 +-
 .../DndMetricSelect.test.tsx                       |  10 +-
 .../DndColumnSelectControl/DndMetricSelect.tsx     |   2 +
 .../components/controls/SelectControl.test.jsx     |   6 +-
 .../src/explore/controlUtils/controlUtils.test.tsx |   5 +-
 ...etControlValuesCompatibleWithDatasource.test.ts |   2 +-
 .../explore/exploreUtils/getChartDataUri.test.ts   | 107 ++--
 .../src/explore/exploreUtils/index.js              |  16 +-
 superset-frontend/src/explore/fixtures.tsx         |   5 +-
 .../features/allEntities/AllEntitiesTable.test.tsx |   2 +
 .../src/features/charts/ChartCard.tsx              |   5 +-
 .../src/features/dashboards/DashboardCard.tsx      |   5 +-
 .../src/features/databases/DatabaseModal/index.tsx |   2 +-
 superset-frontend/src/features/datasets/types.ts   |   2 +-
 superset-frontend/src/features/home/ChartTable.tsx |   3 +-
 .../src/features/home/DashboardTable.tsx           |   3 +-
 superset-frontend/src/features/home/EmptyState.tsx |   3 +-
 superset-frontend/src/features/home/RightMenu.tsx  |  11 +-
 .../src/features/home/SavedQueries.tsx             |  11 +-
 superset-frontend/src/features/home/SubMenu.tsx    |   2 +
 .../src/features/roles/RoleFormItems.tsx           |  70 +++
 .../src/features/roles/RoleListAddModal.test.tsx   |  92 ++++
 .../src/features/roles/RoleListAddModal.tsx        |  71 +++
 .../features/roles/RoleListDuplicateModal.test.tsx | 100 ++++
 .../src/features/roles/RoleListDuplicateModal.tsx  |  69 +++
 .../src/features/roles/RoleListEditModal.test.tsx  | 153 ++++++
 .../src/features/roles/RoleListEditModal.tsx       | 153 ++++++
 .../VizTypeControl => features/roles}/types.ts     |  61 ++-
 .../roles/utils.ts}                                |  41 +-
 superset-frontend/src/features/tags/TagCard.tsx    |   5 +-
 .../src/features/users/UserListModal.tsx           | 250 +++++++++
 .../features/users/types.ts}                       |  11 +-
 .../users/utils.ts}                                |  37 +-
 .../Select/SelectFilterPlugin.stories.tsx          |   4 +
 .../components/Select/SelectFilterPlugin.test.tsx  | 133 ++++-
 .../components/Select/SelectFilterPlugin.tsx       | 148 +++--
 .../filters/components/Select/buildQuery.test.ts   |   1 +
 .../src/filters/components/Select/controlPanel.ts  |  13 +
 .../src/filters/components/Select/types.ts         |   2 +
 superset-frontend/src/filters/utils.ts             |   4 +-
 .../useChangeEffect/index.ts => src/globals.d.ts}  |   3 +-
 .../src/middleware/loggerMiddleware.js             |   3 +-
 .../src/pages/AnnotationLayerList/index.tsx        |   3 +-
 .../src/pages/DashboardList/index.tsx              |   5 +-
 .../src/pages/RolesList/RolesList.test.tsx         | 206 +++++++
 superset-frontend/src/pages/RolesList/index.tsx    | 507 +++++++++++++++++
 .../src/pages/UsersList/UsersList.test.tsx         | 192 +++++++
 superset-frontend/src/pages/UsersList/index.tsx    | 598 ++++++++++++++++++++
 superset-frontend/src/preamble.ts                  |   4 +-
 .../jest.config.js => src/public-path.ts}          |   9 +-
 superset-frontend/src/theme.ts                     |   2 +
 superset-frontend/src/types/bootstrapTypes.ts      |   2 +
 .../src/{types/Owner.ts => utils/assetUrl.ts}      |  13 +-
 superset-frontend/src/utils/export.ts              |   7 +-
 .../src/utils/getBootstrapData.test.ts             | 110 ++++
 superset-frontend/src/utils/getBootstrapData.ts    |  20 +
 .../navigationUtils.ts}                            |  41 +-
 .../removeDuplicates.ts => src/utils/pathUtils.ts} |  24 +-
 superset-frontend/src/views/App.tsx                |   4 +-
 superset-frontend/src/views/CRUD/hooks.ts          |   9 +-
 superset-frontend/src/views/index.tsx              |   2 +
 superset-frontend/src/views/menu.tsx               |   1 +
 superset-frontend/src/views/routes.tsx             |  33 +-
 superset-frontend/webpack.config.js                |  29 +-
 superset-websocket/package-lock.json               | 328 +++++++++--
 superset-websocket/package.json                    |   4 +-
 superset/app.py                                    |  60 +-
 superset/charts/schemas.py                         |   1 +
 superset/cli/viz_migrations.py                     |  22 +-
 superset/commands/chart/export.py                  |  26 +
 superset/commands/chart/importers/v1/__init__.py   |  22 +-
 superset/commands/dashboard/export.py              |  20 +-
 .../commands/dashboard/importers/v1/__init__.py    |  34 +-
 superset/commands/database/exceptions.py           |   9 +
 .../commands/database/importers/v1/__init__.py     |   8 +-
 superset/commands/database/sync_permissions.py     |  38 +-
 superset/commands/database/update.py               |   3 +-
 superset/commands/dataset/importers/v1/__init__.py |  10 +-
 superset/commands/dataset/update.py                |  83 ++-
 superset/commands/export/assets.py                 |   1 +
 superset/commands/importers/v1/__init__.py         |  16 +-
 superset/commands/importers/v1/examples.py         |   3 +-
 superset/commands/importers/v1/utils.py            |  93 +++-
 .../logs}/__init__.py                              |   0
 superset/commands/query/importers/v1/__init__.py   |   8 +-
 superset/commands/tag/export.py                    | 131 +++++
 superset/config.py                                 |   6 +-
 superset/connectors/sqla/models.py                 |   8 +-
 superset/dashboards/api.py                         |   1 +
 superset/dashboards/schemas.py                     |   1 +
 superset/datasets/api.py                           |  38 +-
 superset/datasets/schemas.py                       |  36 +-
 superset/db_engine_specs/base.py                   |   4 +
 superset/db_engine_specs/bigquery.py               | 158 ++++--
 superset/db_engine_specs/databricks.py             |  14 +-
 superset/db_engine_specs/doris.py                  |   2 +-
 superset/db_engine_specs/duckdb.py                 |  34 ++
 superset/db_engine_specs/postgres.py               |   2 +-
 superset/db_engine_specs/presto.py                 |   2 +-
 superset/db_engine_specs/snowflake.py              |   4 +-
 superset/initialization/__init__.py                |  70 ++-
 superset/migrations/migration_utils.py             |  13 +
 superset/migrations/shared/migrate_viz/base.py     |  59 +-
 .../migrations/shared/migrate_viz/processors.py    |   1 +
 superset/migrations/shared/utils.py                |  23 +-
 .../versions/2015-09-21_17-30_4e6a06bad7a8_init.py |  30 +-
 ...15-12-04_11-16_315b3f4da9b0_adding_log_model.py |  10 +-
 .../versions/2016-01-13_20-24_8e80a26a31db_.py     |  10 +-
 .../2016-02-03_17-41_d827694c7555_css_templates.py |  10 +-
 ...3-13_09-56_a2d606a761d9_adding_favstar_model.py |  10 +-
 ...04-15_17-58_4fa88fe24e94_owners_many_to_many.py |  12 +-
 ...016-07-25_17-48_ad82a75afd82_add_query_model.py |  10 +-
 ..._17-39_5e4a03ef0bf0_add_request_access_model.py |   4 +-
 .../2017-01-10_11-47_bcf3126872fc_add_keyvalue.py  |  10 +-
 .../2017-09-13_16-36_ddd6ebdd853b_annotations.py   |   6 +-
 ..._20-28_6c7537a6004a_models_for_email_reports.py |  12 +-
 ...e1b21cd94a4_change_owner_to_m2m_relation_on_.py |   5 +-
 ...05_db4b49eb0782_add_tables_for_sql_lab_state.py |  12 +-
 ...4_17-07_0a6f12f60c73_add_role_level_security.py |  12 +-
 ...57699a813e_add_tables_relation_to_row_level_.py |  13 +-
 .../2020-05-26_23-21_2f1d15e8a6af_add_alerts.py    |  14 +-
 .../2020-08-28_17-16_175ea3592453_cache_lookup.py  |  10 +-
 ...-08-31_20-30_2e5a0ee25ed4_refractor_alerting.py |  16 +-
 ...208f_collapse_alerting_models_into_a_single_.py |   9 +-
 ...1-04_11-06_49b5a32daba5_add_report_schedules.py |  18 +-
 ...cdd12658_add_roles_relationship_to_dashboard.py |   9 +-
 ...021-03-29_11-15_3ebe0993c770_filterset_table.py |  10 +-
 ...03_5afbb1a5849b_add_embedded_dahshoard_table.py |  16 +-
 ...03-04_09-59_6766938c6065_add_key_value_store.py |  16 +-
 ...cf3d64daf4_add_user_id_dttm_idx_to_log_model.py |  13 +-
 ...c2d8ec8595_create_ssh_tunnel_credentials_tbl.py |  21 +-
 ...06-01_13-13_83e1abbe777f_drop_access_request.py |  10 +-
 ..._90139bf715e4_add_currency_column_to_metrics.py |  17 +-
 ...0-34_e0f6f91c2055_create_user_favorite_table.py |  10 +-
 ...20_65a167d4c62e_add_indexes_to_report_models.py |  30 +-
 ...20_16-02_678eefb4ab44_add_access_token_table.py |  22 +-
 ...0_3dfd0e78650e_add_query_sql_editor_id_index.py |  24 +-
 ...02f4f7811799_remove_sl_dataset_columns_table.py |   4 +-
 ...7_39549add7bfc_remove_sl_table_columns_table.py |   4 +-
 ..._15-23_38f4144e8558_remove_sl_dataset_tables.py |   4 +-
 ...3_15-27_e53fd48cc078_remove_sl_dataset_users.py |   4 +-
 ...4-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py |   4 +-
 ...24-08-13_15-31_007a1abffe7e_remove_sl_tables.py |   4 +-
 ...-08-13_15-33_48cbb571fa3a_remove_sl_datasets.py |   4 +-
 ...dba9f_merge_x_axis_sort_series_with_x_axis_.py} |  66 ++-
 superset/security/api.py                           | 165 +++++-
 superset/security/manager.py                       |  81 ++-
 superset/sql_parse.py                              |   3 +-
 superset/tasks/thumbnails.py                       |   2 +
 superset/templates/appbuilder/navbar.html          |   2 +-
 superset/templates/superset/base.html              |   8 +-
 superset/templates/superset/basic.html             |   8 +-
 .../templates/superset/partials/asset_bundle.html  |  57 +-
 superset/templates/superset/spa.html               |   2 +-
 superset/translations/it/LC_MESSAGES/messages.po   |   2 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     | 501 +++++++++--------
 .../translations/zh_TW/LC_MESSAGES/messages.po     | 154 +++---
 superset/utils/urls.py                             |  10 +-
 superset/utils/webdriver.py                        |   5 +-
 superset/views/base.py                             |   6 +-
 superset/views/core.py                             |  22 +-
 superset/views/dashboard/views.py                  |  11 +-
 superset/views/{annotations.py => roles.py}        |  14 +-
 superset/views/{annotations.py => users_list.py}   |  14 +-
 tests/integration_tests/charts/api_tests.py        |  16 +-
 tests/integration_tests/core_tests.py              |  55 +-
 tests/integration_tests/databases/api_tests.py     |  27 +
 tests/integration_tests/datasets/api_tests.py      |  93 +++-
 tests/integration_tests/datasets/commands_tests.py |   2 +
 .../db_engine_specs/bigquery_tests.py              | 133 ++---
 tests/integration_tests/security/api_tests.py      |  17 +
 tests/integration_tests/security_tests.py          |   1 +
 .../charts/commands/importers/v1/import_test.py    |  45 ++
 tests/unit_tests/commands/databases/conftest.py    |   2 +
 .../commands/databases/sync_permissions_test.py    |  43 +-
 tests/unit_tests/commands/dataset/test_update.py   | 379 ++++++++++++-
 tests/unit_tests/commands/export_test.py           |  65 ++-
 .../commands/importers/v1/import_test.py           |  45 ++
 tests/unit_tests/datasets/commands/export_test.py  |  67 +++
 .../datasets/commands/importers/v1/import_test.py  | 166 ++++++
 .../unit_tests/db_engine_specs/test_databricks.py  |   4 +-
 tests/unit_tests/security/api_test.py              |   5 +
 372 files changed, 10783 insertions(+), 3228 deletions(-)
 copy .flaskenv => docker/docker-healthcheck.sh (87%)
 mode change 100644 => 100755
 create mode 100644 docker/nginx/templates/superset.conf.template
 create mode 100644 docs/static/img/tutorial/publish_button_dashboard.png
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/ivory_coast.geojson
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/controlPanel.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/transformProps.test.ts
 copy superset-frontend/{src/components/Card/Card.stories.tsx => 
spec/fixtures/mockDatabases.ts} (60%)
 delete mode 100644 
superset-frontend/src/components/IconButton/IconButton.test.jsx
 create mode 100644 
superset-frontend/src/components/IconButton/IconButton.test.tsx
 create mode 100644 
superset-frontend/src/components/ListView/Filters/NumericalRange.tsx
 create mode 100644 superset-frontend/src/embedded/utils.test.ts
 copy 
superset-frontend/src/{dashboard/util/getChartAndLabelComponentIdFromPath.js => 
embedded/utils.ts} (50%)
 create mode 100644 
superset-frontend/src/explore/components/DatasourcePanel/DatasourceItems.tsx
 create mode 100644 
superset-frontend/src/explore/components/DatasourcePanel/transformDatasourceFolders.test.ts
 create mode 100644 
superset-frontend/src/explore/components/DatasourcePanel/transformDatasourceFolders.ts
 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/RoleListAddModal.tsx
 create mode 100644 
superset-frontend/src/features/roles/RoleListDuplicateModal.test.tsx
 create mode 100644 
superset-frontend/src/features/roles/RoleListDuplicateModal.tsx
 create mode 100644 
superset-frontend/src/features/roles/RoleListEditModal.test.tsx
 create mode 100644 superset-frontend/src/features/roles/RoleListEditModal.tsx
 copy superset-frontend/src/{explore/components/controls/VizTypeControl => 
features/roles}/types.ts (54%)
 copy 
superset-frontend/src/{dashboard/components/BuilderComponentPane/BuilderComponentPane.test.tsx
 => features/roles/utils.ts} (52%)
 create mode 100644 superset-frontend/src/features/users/UserListModal.tsx
 copy 
superset-frontend/{plugins/plugin-chart-echarts/src/utils/convertInteger.ts => 
src/features/users/types.ts} (80%)
 copy 
superset-frontend/src/{dashboard/components/BuilderComponentPane/BuilderComponentPane.test.tsx
 => features/users/utils.ts} (56%)
 copy 
superset-frontend/{packages/superset-ui-core/src/hooks/useChangeEffect/index.ts 
=> src/globals.d.ts} (94%)
 create mode 100644 superset-frontend/src/pages/RolesList/RolesList.test.tsx
 create mode 100644 superset-frontend/src/pages/RolesList/index.tsx
 create mode 100644 superset-frontend/src/pages/UsersList/UsersList.test.tsx
 create mode 100644 superset-frontend/src/pages/UsersList/index.tsx
 copy superset-frontend/{packages/generator-superset/jest.config.js => 
src/public-path.ts} (79%)
 copy superset-frontend/src/{types/Owner.ts => utils/assetUrl.ts} (69%)
 create mode 100644 superset-frontend/src/utils/getBootstrapData.test.ts
 copy superset-frontend/src/{dashboard/util/getFilterScopeParentNodes.js => 
utils/navigationUtils.ts} (55%)
 copy 
superset-frontend/{packages/superset-ui-core/src/utils/removeDuplicates.ts => 
src/utils/pathUtils.ts} (67%)
 copy superset/{advanced_data_type => commands/logs}/__init__.py (100%)
 create mode 100644 superset/commands/tag/export.py
 copy 
superset/migrations/versions/{2024-03-01_10-47_be1b217cd8cd_big_number_kpi_single_metric.py
 => 2025-04-13_22-10_378cecfdba9f_merge_x_axis_sort_series_with_x_axis_.py} 
(51%)
 copy superset/views/{annotations.py => roles.py} (76%)
 copy superset/views/{annotations.py => users_list.py} (76%)


Reply via email to