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 25d2850a0c1d97f9998b8c9ad843bab0851a3d1a Merge: ecee690acd 732de4ac7f Author: Hugh Miles <[email protected]> AuthorDate: Wed Jan 29 14:39:33 2025 -0500 Merge branch 'master' of https://github.com/apache/superset into hm/ar-filters .github/workflows/dependency-review.yml | 1 + .github/workflows/ephemeral-env.yml | 425 +- .github/workflows/superset-e2e.yml | 2 +- .gitignore | 1 + .pre-commit-config.yaml | 16 +- Dockerfile | 71 +- RESOURCES/FEATURE_FLAGS.md | 5 +- RESOURCES/INTHEWILD.md | 1 + UPDATING.md | 5 + docker/docker-bootstrap.sh | 5 +- docker/entrypoints/docker-ci.sh | 2 +- docs/docs/configuration/alerts-reports.mdx | 3 + superset-frontend/babel.config.js | 16 +- .../cypress/e2e/dashboard/drillby.test.ts | 2 +- .../cypress/e2e/dashboard/drilltodetail.test.ts | 8 +- .../e2e/dashboard/horizontalFilterBar.test.ts | 6 +- .../cypress/e2e/dashboard_list/list.test.ts | 2 +- .../cypress/e2e/explore/annotations.test.ts | 2 +- .../cypress-base/cypress/e2e/sqllab/query.test.ts | 5 +- .../cypress-base/cypress/support/e2e.ts | 11 +- superset-frontend/jest.config.js | 10 +- superset-frontend/package-lock.json | 91539 +++++-------------- superset-frontend/package.json | 43 +- .../plugin-chart/templates/package-lock.erb | 2 +- .../generators/plugin-chart/templates/package.erb | 2 +- .../superset-ui-chart-controls/package.json | 6 +- .../src/components/ControlHeader.tsx | 2 +- .../src/components/Tooltip.tsx | 16 +- .../superset-ui-chart-controls/src/index.ts | 2 +- .../components/RadioButtonControl.tsx | 2 +- .../superset-ui-chart-controls/src/types.ts | 7 + .../src/utils/displayTimeRelatedControls.ts | 2 +- .../superset-ui-chart-controls/src/utils/index.ts | 3 +- .../superset-ui-chart-controls/test/types.test.ts | 17 + .../packages/superset-ui-core/package.json | 6 +- .../src/chart-composition/legend/WithLegend.tsx | 2 +- .../src/chart/components/FallbackComponent.tsx | 17 +- .../src/chart/components/SuperChart.tsx | 7 +- .../src/query/getClientErrorObject.ts | 2 +- .../superset-ui-core/src/query/types/Filter.ts | 4 + .../superset-ui-core/src/query/types/Query.ts | 20 +- .../src/query/types/QueryResponse.ts | 3 + .../packages/superset-ui-core/src/style/index.tsx | 8 +- .../superset-ui-core/src/utils/featureFlags.ts | 5 +- .../src/validator/validateNumber.ts | 2 +- .../chart-composition/legend/WithLegend.test.tsx | 3 +- .../chart/components/FallbackComponent.test.tsx | 20 +- .../test/chart/components/SuperChart.test.tsx | 6 +- .../time-comparison/customTimeRangeDecode.test.ts | 78 + .../packages/superset-ui-demo/package.json | 6 +- .../plugins/plugin-chart-table/birthNames.json | 1 - .../legacy-plugin-chart-calendar/package.json | 2 +- .../src/ReactCalendar.jsx | 8 +- .../plugins/legacy-plugin-chart-chord/package.json | 2 +- .../legacy-plugin-chart-country-map/package.json | 2 +- .../legacy-plugin-chart-horizon/package.json | 2 +- .../legacy-plugin-chart-map-box/package.json | 2 +- .../legacy-plugin-chart-paired-t-test/package.json | 2 +- .../package.json | 2 +- .../legacy-plugin-chart-partition/package.json | 4 +- .../plugins/legacy-plugin-chart-rose/package.json | 2 +- .../legacy-plugin-chart-world-map/package.json | 2 +- .../legacy-preset-chart-deckgl/package.json | 5 +- .../src/CategoricalDeckGLContainer.tsx | 2 +- .../src/DeckGLContainer.tsx | 1 - .../legacy-preset-chart-deckgl/src/Multi/Multi.tsx | 1 + .../src/components/Legend.tsx | 4 +- .../src/layers/Geojson/Geojson.tsx | 2 +- .../src/layers/common.tsx | 6 +- .../legacy-preset-chart-deckgl/src/utils.ts | 7 +- .../src/utils/explore.ts | 2 +- .../src/utils/sandbox.ts | 13 +- .../plugins/legacy-preset-chart-nvd3/package.json | 3 +- .../plugins/plugin-chart-cartodiagram/package.json | 6 +- .../src/util/controlPanelUtil.tsx | 2 +- .../src/util/transformPropsUtil.ts | 2 +- .../test/util/layerUtil.test.ts | 1 + .../plugins/plugin-chart-echarts/package.json | 2 +- .../BigNumberPeriodOverPeriod/transformProps.ts | 3 +- .../BigNumber/BigNumberPeriodOverPeriod/utils.ts | 2 +- .../src/BigNumber/BigNumberTotal/controlPanel.ts | 9 +- .../src/Bubble/transformProps.ts | 35 +- .../src/MixedTimeseries/transformProps.ts | 7 +- .../src/Timeseries/transformProps.ts | 3 +- .../plugin-chart-echarts/src/utils/forecast.ts | 33 +- .../src/utils/formDataSuffix.ts | 4 +- .../test/Timeseries/transformProps.test.ts | 2 +- .../test/utils/forecast.test.ts | 43 + .../plugins/plugin-chart-handlebars/package.json | 4 +- .../plugins/plugin-chart-pivot-table/package.json | 6 +- .../src/plugin/controlPanel.tsx | 7 +- .../plugins/plugin-chart-table/package.json | 6 +- .../src/DataTable/components/Pagination.tsx | 5 +- .../plugin-chart-table/src/controlPanel.tsx | 6 +- .../plugins/plugin-chart-word-cloud/package.json | 2 +- superset-frontend/spec/fixtures/mockDatasource.js | 1 - superset-frontend/spec/helpers/Cache.ts | 4 +- superset-frontend/spec/helpers/setup.ts | 1 - superset-frontend/spec/helpers/shim.tsx | 11 +- .../src/SqlLab/actions/sqlLab.test.js | 30 +- .../KeyboardShortcutButton.test.tsx | 4 +- .../components/KeyboardShortcutButton/index.tsx | 19 +- .../components/QueryHistory/QueryHistory.test.tsx | 18 +- .../src/SqlLab/components/QueryTable/index.tsx | 15 +- .../components/ScheduleQueryButton/index.tsx | 4 +- .../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx | 21 +- .../SqlLab/components/SqlEditor/SqlEditor.test.tsx | 42 +- .../src/SqlLab/components/SqlEditor/index.tsx | 16 +- .../components/TableElement/TableElement.test.tsx | 20 +- superset-frontend/src/SqlLab/constants.ts | 2 +- .../middlewares/persistSqlLabStateEnhancer.js | 3 +- .../src/SqlLab/reducers/getInitialState.ts | 2 +- .../src/SqlLab/utils/emptyQueryResults.test.ts | 2 +- .../SqlLab/utils/reduxStateToLocalStorageHelper.ts | 39 +- .../src/components/Alert/Alert.stories.tsx | 11 - .../src/components/Alert/Alert.test.tsx | 20 +- superset-frontend/src/components/Alert/index.tsx | 50 +- .../src/components/AlteredSliceTag/index.tsx | 4 +- superset-frontend/src/components/Chart/Chart.tsx | 20 +- .../Chart/ChartContextMenu/ChartContextMenu.tsx | 4 +- .../Chart/ChartContextMenu/useContextMenu.test.tsx | 1 - .../src/components/Chart/ChartErrorMessage.tsx | 7 +- .../src/components/Chart/ChartRenderer.jsx | 7 +- .../src/components/Chart/DrillBy/DrillByModal.tsx | 9 +- .../Chart/DrillDetail/DrillDetailPane.tsx | 9 +- .../src/components/Chart/chartActions.test.js | 40 +- .../src/components/Checkbox/Checkbox.stories.tsx | 4 +- ...tionTable.test.jsx => CollectionTable.test.tsx} | 1 + .../src/components/Datasource/CollectionTable.tsx | 25 +- .../Datasource/DatasourceEditor.test.jsx | 15 +- .../components/Datasource/DatasourceModal.test.jsx | 12 - .../src/components/Datasource/DatasourceModal.tsx | 20 - .../components/DatePicker/DatePicker.stories.tsx | 4 +- .../src/components/DatePicker/index.tsx | 6 +- .../src/components/EmptyState/index.tsx | 5 +- .../src/components/ErrorBoundary/index.tsx | 27 +- .../ErrorMessage/DatabaseErrorMessage.tsx | 28 +- .../ErrorMessage/DatasetNotFoundErrorMessage.tsx | 12 +- .../components/ErrorMessage/ErrorAlert.stories.tsx | 151 + .../components/ErrorMessage/ErrorAlert.test.tsx | 231 +- .../src/components/ErrorMessage/ErrorAlert.tsx | 343 +- .../ErrorMessageWithStackTrace.test.tsx | 2 +- .../ErrorMessage/ErrorMessageWithStackTrace.tsx | 41 +- .../FrontendNetworkErrorMessage.test.tsx | 70 + ...Message.tsx => FrontendNetworkErrorMessage.tsx} | 18 +- .../ErrorMessage/InvalidSQLErrorMessage.test.tsx | 135 +- .../ErrorMessage/InvalidSQLErrorMessage.tsx | 16 +- .../src/components/ErrorMessage/IssueCode.tsx | 1 + .../ErrorMessage/MarshmallowErrorMessage.tsx | 10 +- .../ErrorMessage/OAuth2RedirectMessage.tsx | 9 +- .../ErrorMessage/ParameterErrorMessage.test.tsx | 2 +- .../ErrorMessage/ParameterErrorMessage.tsx | 15 +- .../ErrorMessage/TimeoutErrorMessage.tsx | 15 +- .../src/components/ErrorMessage/types.ts | 1 + .../src/components/FilterableTable/index.tsx | 4 +- .../src/components/FilterableTable/utils.test.tsx | 2 +- .../src/components/FilterableTable/utils.tsx | 2 +- .../src/components/FlashProvider/index.tsx | 2 +- .../Form/LabeledErrorBoundInput.test.jsx | 2 +- .../src/components/Icons/AntdEnhanced.tsx | 2 + .../src/components/Icons/Icons.stories.tsx | 2 +- .../src/components/IndeterminateCheckbox/index.tsx | 2 + .../src/components/JsonModal/JsonModal.test.tsx | 2 +- .../src/components/JsonModal/index.tsx | 4 +- .../src/components/Label/Label.stories.tsx | 1 - superset-frontend/src/components/Label/index.tsx | 22 +- .../src/components/ListView/ListView.test.jsx | 3 +- .../src/components/ListView/ListView.tsx | 1 + superset-frontend/src/components/ListView/types.ts | 20 +- superset-frontend/src/components/ListView/utils.ts | 5 +- .../src/components/ListViewCard/index.tsx | 1 + .../src/components/Select/AsyncSelect.test.tsx | 6 +- superset-frontend/src/components/Select/utils.tsx | 15 +- .../src/components/Steps/Steps.stories.tsx | 3 +- .../src/components/Table/Table.stories.tsx | 52 +- .../Table/cell-renderers/ActionCell/index.tsx | 2 +- .../Table/cell-renderers/NullCell/index.tsx | 16 +- superset-frontend/src/components/Table/index.tsx | 14 +- .../src/components/Table/sorters.test.ts | 8 + superset-frontend/src/components/Table/sorters.ts | 14 +- .../src/components/TimezoneSelector/index.tsx | 4 +- superset-frontend/src/components/Tooltip/index.tsx | 8 +- .../components/WarningIconWithTooltip/index.tsx | 2 +- superset-frontend/src/components/index.ts | 1 + .../src/dashboard/actions/dashboardState.js | 26 +- .../src/dashboard/actions/dashboardState.test.js | 18 +- superset-frontend/src/dashboard/actions/hydrate.js | 18 +- .../BuilderComponentPane.test.tsx | 4 +- .../components/ColorSchemeControlWrapper.jsx | 76 - .../components/ColorSchemeControlWrapper.tsx | 64 + .../src/dashboard/components/Dashboard.jsx | 7 +- .../src/dashboard/components/Dashboard.test.jsx | 1 + .../DashboardBuilder/DashboardBuilder.tsx | 6 +- .../DashboardBuilder/DashboardContainer.tsx | 2 +- .../DashboardBuilder/DashboardWrapper.tsx | 2 +- .../OverwriteConfirmModal.test.tsx | 4 +- .../PropertiesModal/PropertiesModal.test.tsx | 48 +- .../dashboard/components/PropertiesModal/index.tsx | 2 - .../src/dashboard/components/SliceAdder.tsx | 2 +- .../components/SliceHeaderControls/index.tsx | 1 - .../components/SyncDashboardState/index.tsx | 5 +- .../components/URLShortLinkButton/index.tsx | 3 +- .../src/dashboard/components/dnd/DragDroppable.jsx | 2 +- .../dashboard/components/gridComponents/Tab.jsx | 3 +- .../components/gridComponents/Tab.test.jsx | 3 +- .../components/gridComponents/Tabs.test.tsx | 3 - .../gridComponents/new/DraggableNewComponent.jsx | 2 +- .../new/DraggableNewComponent.test.jsx | 5 +- .../FilterBar/ActionButtons/index.tsx | 18 +- .../CrossFilters/ScopingModal/ScopingModal.tsx | 5 +- .../nativeFilters/FilterBar/FilterBar.test.tsx | 15 +- .../FilterBarSettings/FilterBarSettings.test.tsx | 70 +- .../FilterBar/FilterBarSettings/index.tsx | 11 +- .../FilterBar/FilterControls/FilterControls.tsx | 22 +- .../FilterBar/FilterControls/FilterValue.tsx | 13 +- .../nativeFilters/FilterBar/Horizontal.tsx | 29 +- .../FilterBar/HorizontalFilterBar.test.tsx | 3 + .../nativeFilters/FilterBar/Vertical.tsx | 12 +- .../components/nativeFilters/FilterBar/index.tsx | 6 +- .../FiltersConfigForm/ColumnSelect.test.tsx | 15 +- .../FiltersConfigModal/FiltersConfigForm/utils.ts | 4 +- .../FiltersConfigModal/FiltersConfigModal.test.tsx | 3 +- .../components/nativeFilters/selectors.ts | 126 +- .../dashboard/components/nativeFilters/state.ts | 4 +- .../components/nativeFilters/utils.test.ts | 73 +- .../dashboard/components/nativeFilters/utils.ts | 27 +- .../src/dashboard/reducers/nativeFilters.ts | 3 +- superset-frontend/src/dashboard/types.ts | 27 +- .../dashboard/util/activeAllDashboardFilters.ts | 15 +- .../util/charts/getFormDataWithExtraFilters.ts | 34 +- .../src/dashboard/util/crossFilters.test.ts | 67 +- .../src/dashboard/util/crossFilters.ts | 17 +- .../src/dashboard/util/findParentId.ts | 8 +- ...d.test.js => findTabIndexByComponentId.test.ts} | 9 +- ...ComponentId.js => findTabIndexByComponentId.ts} | 13 +- .../util/getFormDataWithExtraFilters.test.ts | 4 +- .../src/dashboard/util/isValidChild.test.ts | 2 +- .../src/dashboard/util/isValidChild.ts | 2 +- .../src/dashboard/util/permissionUtils.test.ts | 34 +- .../src/dashboard/util/replaceUndefinedByNull.ts | 36 - superset-frontend/src/dataMask/reducer.ts | 38 +- .../src/explore/actions/datasourcesActions.test.ts | 16 +- .../src/explore/components/Control.tsx | 5 +- .../src/explore/components/ControlHeader.tsx | 9 +- .../explore/components/ControlPanelsContainer.tsx | 10 +- .../explore/components/DataTableControl/index.tsx | 2 +- .../explore/components/DatasourcePanel/index.tsx | 3 +- .../src/explore/components/ExploreAlert.tsx | 14 +- .../ExportToCSVDropdown.test.tsx | 27 +- .../ColorSchemeControl/ColorSchemeControl.test.tsx | 1 - .../controls/ColorSchemeControl/index.tsx | 8 +- .../components/controls/ComparisonRangeLabel.tsx | 3 +- .../FormattingPopoverContent.tsx | 4 +- .../ContourControl/ContourPopoverControl.tsx | 4 +- .../components/controls/CustomListItem/index.tsx | 2 +- .../DatasourceControl/DatasourceControl.test.tsx | 2 +- .../controls/DatasourceControl/index.jsx | 44 +- ...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 25 +- .../index.tsx | 6 +- .../controls/FilterControl/utils/translateToSQL.ts | 8 +- .../utils/useGetTimeRangeLabel.test.ts | 18 +- .../components/controls/SliderControl.stories.tsx | 19 +- .../components/controls/TimeOffsetControl.tsx | 2 +- .../controls/VizTypeControl/VizTypeGallery.tsx | 2 +- .../DashboardsSubMenu.test.tsx | 4 +- .../src/explore/controlUtils/getControlState.ts | 2 +- .../controlUtils/getFormDataFromControls.ts | 4 +- .../getFormDataWithDashboardContext.ts | 7 +- .../explore/controlUtils/getSectionsToRender.ts | 10 +- .../controlUtils/standardizedFormData.test.ts | 4 +- .../explore/controlUtils/standardizedFormData.ts | 2 +- .../exploreUtils/getParsedExploreURLParams.ts | 64 +- .../exploreUtils/shouldUseLegacyApi.test.ts | 18 +- superset-frontend/src/explore/types.ts | 2 +- .../src/features/alerts/AlertReportModal.tsx | 10 +- .../features/alerts/components/AlertStatusIcon.tsx | 4 +- .../src/features/allEntities/AllEntitiesTable.tsx | 20 +- .../annotationLayers/AnnotationLayerModal.tsx | 8 +- .../src/features/annotations/AnnotationModal.tsx | 3 +- .../src/features/cssTemplates/CssTemplateModal.tsx | 8 +- .../src/features/dashboards/DashboardCard.test.tsx | 21 +- .../src/features/dashboards/DashboardCard.tsx | 6 +- .../DatabaseConnectionForm/EncryptedField.tsx | 15 +- .../DatabaseConnectionForm/ValidatedInputField.tsx | 14 +- .../DatabaseModal/DatabaseConnectionForm/index.tsx | 1 + .../databases/DatabaseModal/ModalHeader.tsx | 10 +- .../databases/DatabaseModal/index.test.tsx | 19 +- .../src/features/databases/DatabaseModal/index.tsx | 66 +- .../UploadDataModel/UploadDataModal.test.tsx | 133 +- .../features/databases/UploadDataModel/index.tsx | 36 +- superset-frontend/src/features/databases/types.ts | 48 +- .../AddDataset/DatasetPanel/DatasetPanel.tsx | 9 +- .../features/datasets/AddDataset/Footer/index.tsx | 2 +- .../src/features/home/ActivityTable.tsx | 14 +- .../src/features/home/RightMenu.test.tsx | 3 +- superset-frontend/src/features/home/RightMenu.tsx | 6 +- .../HeaderReportDropdown/index.test.tsx | 22 +- .../reports/ReportModal/ReportModal.test.tsx | 36 +- superset-frontend/src/features/tags/TagModal.tsx | 2 +- superset-frontend/src/features/tags/tags.ts | 7 +- .../src/hooks/apiResources/datasets.ts | 2 +- .../src/hooks/apiResources/schemas.test.ts | 6 +- .../src/hooks/apiResources/tables.test.ts | 16 +- superset-frontend/src/hooks/useLocale.ts | 7 +- .../src/middleware/asyncEvent.test.ts | 22 +- superset-frontend/src/pages/AllEntities/index.tsx | 24 +- .../src/pages/ChartList/ChartList.test.jsx | 24 +- .../src/pages/DashboardList/DashboardList.test.jsx | 22 +- .../src/pages/DatasetList/DatasetList.test.tsx | 17 +- superset-frontend/src/pages/Home/Home.test.tsx | 15 +- .../pages/SavedQueryList/SavedQueryList.test.jsx | 123 +- .../src/pages/SavedQueryList/index.tsx | 36 +- superset-frontend/src/reduxUtils.ts | 14 +- superset-frontend/src/setup/setupErrorMessages.ts | 5 + superset-frontend/src/theme/index.ts | 9 - superset-frontend/src/types/TaggedObject.ts | 23 +- .../src/{types/TaggedObject.ts => utils/types.ts} | 16 +- superset-frontend/src/views/App.tsx | 19 +- superset-frontend/src/views/CRUD/hooks.ts | 11 +- superset-frontend/src/views/CRUD/types.ts | 1 + superset-frontend/src/views/CRUD/utils.tsx | 6 +- .../src/visualizations/TimeTable/transformProps.ts | 4 +- superset-frontend/tsconfig.json | 3 - superset/commands/database/uploaders/base.py | 7 + superset/config.py | 10 +- superset/connectors/sqla/views.py | 436 +- superset/constants.py | 4 +- superset/databases/api.py | 302 +- superset/databases/schemas.py | 220 +- superset/db_engine_specs/sqlite.py | 10 +- superset/initialization/__init__.py | 9 +- ...-34_74ad1125881c_converge_upload_permissions.py | 84 + superset/reports/notifications/email.py | 27 +- superset/security/manager.py | 3 +- superset/sql/parse.py | 2 +- superset/sqllab/permalink/schemas.py | 5 + superset/sqllab/permalink/types.py | 1 + superset/views/base.py | 101 +- superset/views/chart/mixin.py | 92 - superset/views/chart/views.py | 67 +- superset/views/database/mixins.py | 285 - superset/views/database/views.py | 59 +- superset/views/sql_lab/views.py | 34 +- tests/integration_tests/core_tests.py | 27 - tests/integration_tests/databases/api_tests.py | 33 +- .../integration_tests/dict_import_export_tests.py | 23 - tests/integration_tests/security_tests.py | 4 +- tests/unit_tests/databases/api_test.py | 146 +- .../reports/notifications/email_tests.py | 42 + tests/unit_tests/views/__init__.py | 16 - tests/unit_tests/views/database/__init__.py | 16 - tests/unit_tests/views/database/mixins_test.py | 65 - 352 files changed, 27831 insertions(+), 71245 deletions(-)
