This is an automated email from the ASF dual-hosted git repository. hugh pushed a commit to branch hm/ar-filters in repository https://gitbox.apache.org/repos/asf/superset.git
commit 61d7c4f4a86d990aef25043b4e90a78efeefa786 Merge: 38bb661de4 51e090d67a Author: Hugh A. Miles II <[email protected]> AuthorDate: Thu Jan 23 23:52:38 2025 +0000 Merge branch 'master' of https://github.com/apache/superset into hm/ar-filters .github/workflows/superset-docs-verify.yml | 1 - .github/workflows/superset-e2e.yml | 2 +- .gitignore | 6 +- RESOURCES/FEATURE_FLAGS.md | 1 + UPDATING.md | 10 +- docker-compose.yml | 6 + docker/README.md | 2 +- docker/docker-bootstrap.sh | 8 +- .../docker-entrypoint-initdb.d/cypress-init.sh | 16 +- docker/docker-frontend.sh | 4 +- docker/docker-init.sh | 27 +- docker/pythonpath_dev/superset_config.py | 13 + docs/docs/configuration/alerts-reports.mdx | 5 +- docs/docs/configuration/cache.mdx | 7 +- docs/docs/configuration/networking-settings.mdx | 6 +- docs/docs/contributing/development.mdx | 65 - docs/docs/contributing/howtos.mdx | 46 +- pyproject.toml | 2 +- requirements/base.txt | 20 +- requirements/development.txt | 26 +- scripts/cypress_run.py | 10 +- superset-frontend/.eslintrc.js | 7 +- superset-frontend/cypress-base/cypress.config.ts | 17 +- .../cypress/e2e/chart_list/list.test.ts | 14 +- .../cypress/e2e/dashboard/drillby.test.ts | 16 +- .../cypress/e2e/dashboard/drilltodetail.test.ts | 141 +- .../cypress/e2e/dashboard/editmode.test.ts | 13 +- .../e2e/dashboard/horizontalFilterBar.test.ts | 8 +- .../cypress/e2e/dashboard_list/list.test.ts | 62 +- .../cypress-base/cypress/e2e/explore/link.test.ts | 7 +- .../cypress-base/cypress/e2e/explore/utils.ts | 9 +- .../cypress-base/cypress/support/directories.ts | 8 +- .../cypress-base/cypress/support/e2e.ts | 19 +- superset-frontend/package-lock.json | 1915 +++----------------- superset-frontend/package.json | 8 +- .../src/operators/utils/timeOffset.ts | 5 +- .../src/components/SafeMarkdown.tsx | 4 +- .../superset-ui-core/src/models/Registry.ts | 4 +- .../superset-ui-core/src/query/normalizeOrderBy.ts | 4 +- .../superset-ui-core/src/ui-overrides/types.ts | 5 +- .../superset-ui-core/src/utils/featureFlags.ts | 1 - .../legacy-preset-chart-deckgl/src/utils.ts | 3 +- .../src/Timeseries/transformProps.ts | 15 +- .../src/Timeseries/transformers.ts | 10 +- .../plugin-chart-echarts/src/utils/forecast.ts | 5 +- .../plugin-chart-echarts/src/utils/treeBuilder.ts | 4 +- .../plugins/plugin-chart-table/src/TableChart.tsx | 6 +- superset-frontend/src/GlobalStyles.tsx | 16 +- superset-frontend/src/SqlLab/actions/sqlLab.js | 24 +- .../src/SqlLab/components/QueryHistory/index.tsx | 5 +- .../components/QueryTable/QueryTable.test.tsx | 16 +- .../SqlLab/components/SaveDatasetModal/index.tsx | 4 +- .../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx | 76 +- .../SqlLab/components/ShareSqlLabQuery/index.tsx | 82 +- .../src/SqlLab/components/SouthPane/Results.tsx | 4 +- .../src/SqlLab/components/SqlEditor/index.tsx | 14 +- .../SqlLab/components/SqlEditorLeftBar/index.tsx | 6 +- .../TabbedSqlEditors/TabbedSqlEditors.test.tsx | 48 +- .../SqlLab/components/TabbedSqlEditors/index.tsx | 15 +- superset-frontend/src/assets/images/chart.svg | Bin 3130 -> 3223 bytes superset-frontend/src/assets/images/document.svg | Bin 1038 -> 1072 bytes .../src/assets/images/empty-charts.svg | Bin 3823 -> 1461 bytes .../src/assets/images/empty-dashboard.svg | Bin 1583 -> 1631 bytes .../src/assets/images/empty-dataset.svg | Bin 4219 -> 4303 bytes .../src/assets/images/empty-queries.svg | Bin 5778 -> 5832 bytes .../src/assets/images/empty-query.svg | Bin 1702 -> 1702 bytes .../src/assets/images/empty-table.svg | Bin 2554 -> 2541 bytes superset-frontend/src/assets/images/empty.svg | Bin 1915 -> 1944 bytes .../src/assets/images/empty_sql_chart.svg | Bin 5972 -> 5957 bytes .../src/assets/images/filter-results.svg | Bin 1904 -> 1902 bytes superset-frontend/src/assets/images/filter.svg | Bin 1728 -> 1606 bytes .../src/assets/images/star-circle.svg | Bin 2023 -> 2051 bytes superset-frontend/src/assets/images/union.svg | Bin 1871 -> 1899 bytes superset-frontend/src/assets/images/vector.svg | Bin 2665 -> 2669 bytes superset-frontend/src/components/Chart/Chart.tsx | 8 +- .../Chart/ChartContextMenu/ChartContextMenu.tsx | 92 +- .../src/components/Chart/ChartRenderer.jsx | 7 +- .../Chart/DrillBy/DrillByMenuItems.test.tsx | 11 +- .../components/Chart/DrillBy/DrillByModal.test.tsx | 4 +- .../DrillDetail/DrillDetailMenuItems.test.tsx | 105 +- .../Chart/DrillDetail/DrillDetailMenuItems.tsx | 37 +- .../Chart/DrillDetail/DrillDetailModal.tsx | 2 +- .../Chart/DrillDetail/DrillDetailPane.tsx | 4 +- .../components/Chart/MenuItemWithTruncation.tsx | 5 +- .../DatabaseSelector/DatabaseSelector.test.tsx | 4 +- .../src/components/Dropdown/index.tsx | 16 +- .../components/DropdownSelectableIcon/index.tsx | 60 +- .../components/EmptyState/EmptyState.stories.tsx | 99 +- .../src/components/EmptyState/index.tsx | 251 +-- .../src/components/ListView/ListView.tsx | 8 +- .../{ImageLoader.test.jsx => ImageLoader.test.tsx} | 45 +- .../src/components/ListViewCard/ImageLoader.tsx | 1 + ...ListViewCard.test.jsx => ListViewCard.test.tsx} | 25 +- .../src/components/ListViewCard/index.tsx | 2 +- .../src/components/Menu/Menu.stories.tsx | 63 + superset-frontend/src/components/Menu/index.tsx | 173 +- .../src/components/ModalTrigger/index.tsx | 6 +- .../src/components/PopoverDropdown/index.tsx | 4 +- superset-frontend/src/components/Select/utils.tsx | 17 +- .../Table/cell-renderers/ActionCell/index.tsx | 3 +- superset-frontend/src/components/Table/index.tsx | 59 +- .../TimezoneSelector/TimezoneSelector.test.tsx | 5 +- .../src/components/TimezoneSelector/index.tsx | 21 +- .../src/dashboard/actions/dashboardLayout.js | 2 + .../components/AddSliceCard/AddSliceCard.tsx | 2 +- .../components/CssEditor/CssEditor.test.tsx | 2 +- .../src/dashboard/components/CssEditor/index.tsx | 5 +- .../DashboardBuilder/DashboardBuilder.tsx | 13 +- .../src/dashboard/components/DashboardGrid.jsx | 11 +- .../HeaderActionsDropdown.test.tsx | 6 +- .../Header/HeaderActionsDropdown/index.tsx | 34 +- .../src/dashboard/components/Header/index.jsx | 8 +- .../components/RefreshIntervalModal.test.tsx | 14 +- .../SliceHeaderControls.test.tsx | 217 +-- .../ViewResultsModalTrigger.tsx | 128 +- .../components/SliceHeaderControls/index.tsx | 178 +- .../components/SliceHeaderControls/utils.ts | 293 --- .../components/gridComponents/Chart.test.jsx | 8 +- .../components/gridComponents/ChartHolder.test.tsx | 2 +- .../components/gridComponents/Divider.test.jsx | 44 +- .../dashboard/components/gridComponents/Tab.jsx | 4 +- .../components/gridComponents/Tab.test.tsx | 4 +- .../DownloadMenuItems/DownloadMenuItems.test.tsx | 12 +- .../components/menu/DownloadMenuItems/index.tsx | 69 +- .../menu/ShareMenuItems/ShareMenuItems.test.tsx | 62 +- .../components/menu/ShareMenuItems/index.tsx | 35 +- .../FilterBarSettings/FilterBarSettings.test.tsx | 16 +- .../nativeFilters/FilterBar/Vertical.tsx | 5 +- superset-frontend/src/dashboard/styles.ts | 2 +- .../DataTablesPane/components/SamplesPane.tsx | 4 +- .../DataTablesPane/components/useResultsPane.tsx | 6 +- .../explore/components/DatasourcePanel/index.tsx | 3 +- .../AnnotationLayerControl/AnnotationLayer.jsx | 5 +- .../explore/components/controls/BoundsControl.tsx | 4 +- .../controls/ColorSchemeControl/index.tsx | 8 +- .../controls/DatasourceControl/index.jsx | 5 +- .../DateFilterControl/components/CustomFrame.tsx | 3 +- .../DateFilterControl/tests/CalendarFrame.test.tsx | 90 + .../components/controls/DateFilterControl/types.ts | 2 + .../controls/DateFilterControl/utils/constants.ts | 3 + .../DndColumnSelectControl/ColumnSelectPopover.tsx | 11 +- .../MetricControl/AdhocMetricEditPopover/index.jsx | 8 +- .../components/controls/ViewportControl.test.jsx | 32 +- .../components/controls/VizTypeControl/index.tsx | 10 +- .../components/controls/VizTypeControl/types.ts | 10 + .../DashboardsSubMenu.test.tsx | 67 +- .../useExploreAdditionalActionsMenu/index.jsx | 4 +- .../src/features/alerts/AlertReportModal.test.tsx | 1 + .../src/features/allEntities/AllEntitiesTable.tsx | 5 +- .../UploadDataModel/UploadDataModal.test.tsx | 13 +- .../AddDataset/DatasetPanel/MessageContent.tsx | 7 +- .../AddDataset/EditDataset/UsageTab/index.tsx | 7 +- .../datasets/AddDataset/LeftPanel/index.tsx | 21 +- .../src/features/home/ActivityTable.test.tsx | 6 +- .../src/features/home/ChartTable.test.tsx | 4 +- .../src/features/home/DashboardTable.test.tsx | 2 +- .../src/features/home/EmptyState.test.tsx | 14 +- superset-frontend/src/features/home/EmptyState.tsx | 206 +-- ...ePicker.test.tsx => LanguagePicker.stories.tsx} | 54 +- .../src/features/home/LanguagePicker.test.tsx | 4 +- superset-frontend/src/features/home/Menu.test.tsx | 29 +- superset-frontend/src/features/home/Menu.tsx | 106 +- .../src/features/home/RightMenu.test.tsx | 2 + superset-frontend/src/features/home/RightMenu.tsx | 41 +- .../src/features/home/SubMenu.test.tsx | 2 +- superset-frontend/src/features/home/SubMenu.tsx | 105 +- .../HeaderReportDropdown/index.test.tsx | 2 +- .../ReportModal/HeaderReportDropdown/index.tsx | 40 +- superset-frontend/src/pages/DatasetList/index.tsx | 3 +- superset-frontend/src/pages/Home/index.tsx | 3 - .../RowLevelSecurityList.test.tsx | 64 +- superset-frontend/src/reduxUtils.ts | 17 +- superset-frontend/src/theme/index.ts | 18 + superset-frontend/src/types/Dashboard.ts | 2 +- superset-frontend/src/views/menu.tsx | 23 +- superset-frontend/src/views/routes.tsx | 6 +- superset-frontend/webpack.config.js | 26 +- superset-frontend/webpack.proxy-config.js | 6 +- superset-websocket/README.md | 2 +- superset/async_events/async_query_manager.py | 16 +- superset/commands/database/tables.py | 7 +- superset/commands/report/alert.py | 2 +- superset/commands/report/execute.py | 8 +- .../sql_lab/permalink/__init__.py} | 8 - .../sql_lab/permalink/base.py} | 19 +- superset/commands/sql_lab/permalink/create.py | 49 + superset/commands/sql_lab/permalink/get.py | 71 + superset/config.py | 77 +- superset/connectors/sqla/models.py | 15 +- superset/dashboards/api.py | 3 - superset/dashboards/permalink/api.py | 5 +- superset/dashboards/schemas.py | 2 +- superset/explore/permalink/api.py | 5 +- superset/initialization/__init__.py | 12 +- superset/key_value/shared_entries.py | 3 +- superset/key_value/types.py | 2 + superset/key_value/utils.py | 10 +- superset/models/core.py | 16 +- superset/models/dashboard.py | 9 +- superset/models/slice.py | 9 +- superset/sql/dialects/firebolt.py | 2 +- .../exceptions.py => sqllab/permalink/__init__.py} | 8 - superset/{explore => sqllab}/permalink/api.py | 60 +- superset/{tasks => sqllab/permalink}/exceptions.py | 15 +- superset/sqllab/permalink/schemas.py | 46 + .../exceptions.py => sqllab/permalink/types.py} | 14 +- superset/static/assets/.gitkeep | 0 superset/static/uploads/.gitkeep | 0 superset/tasks/cache.py | 96 +- superset/tasks/exceptions.py | 4 + superset/tasks/thumbnails.py | 6 +- superset/tasks/types.py | 20 +- superset/tasks/utils.py | 58 +- superset/thumbnails/digest.py | 40 +- superset/utils/date_parser.py | 206 ++- superset/utils/screenshots.py | 13 +- superset/views/css_templates.py | 26 +- superset/views/dashboard/views.py | 75 +- superset/views/key_value.py | 67 - superset/views/sqllab.py | 4 +- tests/integration_tests/async_events/api_tests.py | 5 - tests/integration_tests/cache_tests.py | 74 +- tests/integration_tests/charts/api_tests.py | 10 +- tests/integration_tests/core_tests.py | 354 +--- tests/integration_tests/reports/alert_tests.py | 12 +- tests/integration_tests/reports/commands_tests.py | 2 +- .../sql_lab/permalink/__init__.py | 8 - .../sql_lab/permalink/api_tests.py | 102 ++ tests/integration_tests/strategy_tests.py | 31 +- tests/integration_tests/superset_test_config.py | 3 +- .../superset_test_config_thumbnails.py | 2 - .../integration_tests/tasks/async_queries_tests.py | 7 - tests/integration_tests/thumbnails_tests.py | 52 +- tests/integration_tests/utils_tests.py | 5 +- .../async_events/async_query_manager_tests.py | 3 - tests/unit_tests/tasks/test_utils.py | 59 +- tests/unit_tests/thumbnails/test_digest.py | 36 +- tests/unit_tests/utils/date_parser_tests.py | 68 + 238 files changed, 3245 insertions(+), 5028 deletions(-)
