You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2026/06/27 13:15:22 UTC
(superset) branch adopt/databricks-oauth updated (04996268c14 -> 9774116462b)
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch adopt/databricks-oauth
in repository https://gitbox.apache.org/repos/asf/superset.git
discard 04996268c14 fix(databricks): tighten 401 oauth2 signal to avoid false positives
discard 0c79a1c5a83 test(databricks): add docstring to mock database helper
discard 330e628d2de fix(databricks): correct OAuth2 trigger and derive endpoints from workspace host
discard 880941d17ad fix(databricks): guard non-string cloud_provider before .lower()
discard c3f5c58596a test(databricks): cover invalid cloud_provider fallback to hostname
discard 2561312bb34 docs(databricks): clarify token endpoint is not auto-detected
discard 2798a4f6080 test(databricks): docstring the shared OAuth2 state helper
discard 52aeff0472f test(databricks): exercise provider detection without pre-set OAuth2 URI
discard f5d4e384060 fix(databricks): resolve account_id in OAuth2 endpoints, preserve configured URIs
discard d84b5dbee69 test(databricks): add return/param type annotations to multi-cloud OAuth fixtures
discard 47b7e010dae fix(databricks): preserve resolved OAuth2 token request URI
discard d1fa2b41e85 cloud providers test
discard e07b387f25d support all cloud providers
discard d1cc18c0081 fix docs slightly
discard dafe0366586 add databricks oauth support
add a90c8e03476 feat(extensions): add Chat contribution type (SIP-214) (#41205)
add 9a11c15a333 feat(explore): add full-range option for time-shift comparison (#41334)
add baca76ebe0c fix(slack): fix indented triple-quoted string in v1 API deprecation warning (#41393)
add 83f7dc9d5b3 chore(codeowners): add translation maintainers (#41429)
add 4b9b8187b3c fix(config): make Swagger UI opt-in (off by default) (#41300)
add d8bcc664727 feat(mcp): dashboard layout, theme, and CSS control + update_dashboard tool (#40399)
add 9965c056995 fix(semantic layers): small fixes (#40474)
add de01fe2ff0e fix(chart-controls): fix RadioButtonControl crash on empty options and false values (#41170)
add aac02ab6793 fix(deck.gl): use interval notation for Polygon legend bucket labels (#41400)
add 95ecdd37537 fix(menu): highlight active nav tab in non-English locales (#41183)
add c94bc7178f0 fix(world-map): rely on built-in highlightOnHover to reset hover highlight (#41158)
add 8fed514e794 fix(dashboard): keep pasted filter values outside the loaded page (#41136)
add d763255e159 chore(i18n): update Turkish translations messages.po (#39064)
add 2b09b6bc1df feat(mcp): list_charts accepts `dashboards` filter (#40397)
add f08f0682409 fix(sqllab): replace native prompt with modal for tab rename (#41329)
add 7410ff73c0a ci: schedule a weekly Docker image rebuild against the latest release (#40426)
add 0d43c2c12c3 feat(reports): trigger alerts (#41336)
add 7e17c70cba2 fix: Filter null child names in treeBuilder utility (#31477)
add 35365d639d5 fix(deckgl): render legend swatch as a coloured box, not an emoji glyph (#40784)
add 01a0c66c798 fix(sunburst): make "Show Null Values" non-breaking and cover all layers (#41442)
add ee43d8869f6 chore(deps): bump nanoid from 5.1.11 to 5.1.14 in /superset-frontend (#41450)
add b8f3918bcf1 chore(deps-dev): bump react-resizable from 4.0.1 to 4.0.2 in /superset-frontend (#41448)
add 84e07df735d chore(deps): bump react-draggable from 4.6.0 to 4.7.0 in /superset-frontend (#41446)
add f49db9e5364 fix(dashboard): restore page scrolling (#41439)
add a5dbb394e5f fix(thumbnails): add deduplication to dashboard thumbnail Celery tasks (#38576)
add f10315f8fcc test(databases): migrate database modal Cypress tests to RTL (#41436)
add 667005638a5 fix(dropdown): clear search input after selection in all multi-select fields (#41074)
add c87fdfc18fc fix(i18n): defer plugin init and menu render until language pack is ready (#40729)
add 11d7f7fb87f fix: convert ALL CAPS button labels to sentence case (#40435)
add 0efcbcdd81c test(security): regression coverage for #36130 FAB permission view templates (#41130)
add c03cdade39a chore(deck.gl): remove leftover debug className from Legend (#41165)
add bfa6cfac852 fix(database): mask SSH tunnel credentials explicitly on read paths (#41293)
add 71c8e2f69d2 fix(config): refuse to start with an empty SECRET_KEY (#41299)
add 068a709c140 fix(config): expose build details (git SHA/build number) to admins only (#41301)
add eaaab614934 chore(ci): correct setup-python pin version comment to v6.2.0 (#41383)
add 8aacb6f793c fix(async): derive async channel from guest token for embedded RLS queries (closes #31492) (#41397)
add 98d0ccd7a7f fix(reports): reliability fixes for alert/report execution (#41177)
add 834ccf2613d fix(chart): chart description not showing (#41453)
add ac9bf26751c chore(deps): bump vulnerable transitive deps across lockfiles (#41307)
add 022f66a6941 fix(country-map): update Morocco GeoJSON boundaries (#41021)
add 6f12dbf0e1c feat(api): log rejected related/distinct field access as security events (#41306)
add dc64716c615 fix(echarts): bring annotations in front and prevent tooltip from covering annotation labels (#41174)
add 15626a047c4 fix(sqllab): quote autocomplete table names that need it (#41199)
add 1280eaee18a fix(mcp): include embedded_uuid in get_dashboard_info response (#41195)
add ebb32de625c fix(cachekey): use data_cache for chart query result invalidation (#40493)
add a1470790438 fix(bigquery): backslash-escape apostrophes in filter values (#38835)
add 0a18779280a fix(echarts): format mixed timeseries value labels by assigned axis (#40420)
add b21d907bcb3 add databricks oauth support
add 8383ef41e0a fix docs slightly
add 333b7d92cff support all cloud providers
add be4db999494 cloud providers test
add 79f6b3632a2 fix(databricks): preserve resolved OAuth2 token request URI
add 37c2b65b310 test(databricks): add return/param type annotations to multi-cloud OAuth fixtures
add d46ad2c757e fix(databricks): resolve account_id in OAuth2 endpoints, preserve configured URIs
add be8eb2ef8ef test(databricks): exercise provider detection without pre-set OAuth2 URI
add 90f86f0de0f test(databricks): docstring the shared OAuth2 state helper
add fcb9a431de0 docs(databricks): clarify token endpoint is not auto-detected
add d4b90817121 test(databricks): cover invalid cloud_provider fallback to hostname
add 1ded69415c8 fix(databricks): guard non-string cloud_provider before .lower()
add a42a54905d8 fix(databricks): correct OAuth2 trigger and derive endpoints from workspace host
add b22e43185b5 test(databricks): add docstring to mock database helper
add 9774116462b fix(databricks): tighten 401 oauth2 signal to avoid false positives
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 (04996268c14)
\
N -- N -- N refs/heads/adopt/databricks-oauth (9774116462b)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 2 +-
.github/actions/setup-backend/action.yml | 2 +-
.github/workflows/bump-python-package.yml | 2 +-
.../workflows/scheduled-docker-image-refresh.yml | 177 +
.github/workflows/tag-release.yml | 6 +
UPDATING.md | 8 +
docker/.env | 2 +
docs/admin_docs/configuration/alerts-reports.mdx | 2 +-
.../extensions/contribution-types.md | 23 +-
.../extensions/extension-points/chat.md | 141 +
docs/developer_docs/sidebars.js | 2 +
docs/package.json | 3 +-
docs/yarn.lock | 13 +-
.../cypress/e2e/database/modal.test.ts | 118 -
superset-frontend/cypress-base/package-lock.json | 529 +-
superset-frontend/cypress-base/package.json | 1 +
superset-frontend/package-lock.json | 740 +-
superset-frontend/package.json | 8 +-
.../packages/superset-core/package.json | 8 +
.../packages/superset-core/src/chat/index.ts | 156 +
.../packages/superset-core/src/common/index.ts | 2 -
.../superset-core/src/contributions/index.ts | 12 +-
.../packages/superset-core/src/index.ts | 2 +
.../packages/superset-core/src/navigation/index.ts | 81 +
.../packages/superset-core/src/views/index.ts | 10 +-
.../src/sections/advancedAnalytics.tsx | 20 +
.../components/RadioButtonControl.tsx | 2 +-
.../components/RadioButtonControl.test.tsx | 45 +
.../packages/superset-ui-core/package.json | 2 +-
.../src/components/Select/AsyncSelect.tsx | 8 +-
.../src/components/Select/Select.stories.tsx | 2 +-
.../src/components/Select/Select.test.tsx | 121 +
.../src/components/Select/Select.tsx | 26 +-
.../src/components/Select/types.ts | 12 +
.../scripts/Country Map GeoJSON Generator.ipynb | Bin 11215237 -> 11681332 bytes
.../src/countries/morocco.geojson | Bin 53627 -> 47809 bytes
.../legacy-plugin-chart-world-map/src/WorldMap.ts | 34 +-
.../test/WorldMap.test.ts | 263 +-
.../src/MixedTimeseries/controlPanel.tsx | 19 +-
.../src/MixedTimeseries/transformProps.ts | 26 +-
.../src/Sunburst/controlPanel.tsx | 14 +
.../src/Sunburst/transformProps.ts | 4 +
.../src/Timeseries/buildQuery.ts | 6 +
.../src/Timeseries/transformProps.ts | 11 +-
.../src/Timeseries/transformers.ts | 4 +
.../plugins/plugin-chart-echarts/src/constants.ts | 4 +
.../plugin-chart-echarts/src/utils/tooltip.ts | 50 +-
.../plugin-chart-echarts/src/utils/treeBuilder.ts | 16 +-
.../test/MixedTimeseries/transformProps.test.ts | 195 +-
.../test/Sunburst/transformProps.test.ts | 54 +-
.../test/utils/treeBuilder.test.ts | 375 +
.../src/components/Legend.test.tsx | 71 +
.../preset-chart-deckgl/src/components/Legend.tsx | 58 +-
.../plugins/preset-chart-deckgl/src/utils.test.ts | 47 +-
.../plugins/preset-chart-deckgl/src/utils.ts | 9 +-
.../components/EditorWrapper/useKeywords.test.ts | 62 +-
.../SqlLab/components/EditorWrapper/useKeywords.ts | 10 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 2 +-
.../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx | 171 +-
.../SqlLab/components/SqlEditorTabHeader/index.tsx | 82 +-
superset-frontend/src/core/chat/ChatHost.test.tsx | 277 +
superset-frontend/src/core/chat/ChatHost.tsx | 133 +
.../src/core/chat/ChatProvider.test.ts | 257 +
superset-frontend/src/core/chat/ChatProvider.ts | 209 +
superset-frontend/src/core/chat/index.test.ts | 68 +
superset-frontend/src/core/chat/index.ts | 82 +
.../src/core/editors/EditorProviders.test.ts | 27 -
.../src/core/editors/EditorProviders.ts | 60 +-
superset-frontend/src/core/editors/index.ts | 135 +-
superset-frontend/src/core/index.ts | 2 +
superset-frontend/src/core/menus/index.ts | 23 +-
.../src/core/navigation/index.test.ts | 124 +
superset-frontend/src/core/navigation/index.ts | 94 +
superset-frontend/src/core/sqlLab/index.ts | 2 +-
.../src/core/{utils.ts => storeUtils.ts} | 15 +-
superset-frontend/src/core/utils.ts | 67 +-
superset-frontend/src/core/views/index.ts | 39 +-
superset-frontend/src/dashboard/actions/hydrate.ts | 2 +-
.../DashboardBuilder/DashboardContainer.test.tsx | 6 +-
.../DashboardBuilder/DashboardContainer.tsx | 10 +-
.../components/gridComponents/Tabs/Tabs.test.tsx | 2 +-
.../components/gridComponents/Tabs/Tabs.tsx | 2 +-
superset-frontend/src/embedded/index.tsx | 80 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 4 +-
.../tests/DateFilterLabel.test.tsx | 6 +-
.../controls/MapViewControl/MapViewControl.tsx | 4 +-
.../src/extensions/ExtensionsLoader.test.ts | 1 -
.../src/extensions/ExtensionsStartup.test.tsx | 10 +
.../src/extensions/ExtensionsStartup.tsx | 29 +-
superset-frontend/src/extensions/Namespaces.ts | 60 +
.../alerts/hooks/useExecuteReportSchedule.test.ts | 125 +
.../alerts/hooks/useExecuteReportSchedule.ts | 96 +
.../databases/DatabaseModal/index.test.tsx | 175 +-
.../src/features/databases/DatabaseModal/index.tsx | 2 +-
superset-frontend/src/features/home/Menu.test.tsx | 108 +
superset-frontend/src/features/home/Menu.tsx | 34 +-
superset-frontend/src/features/home/RightMenu.tsx | 7 +-
.../semanticLayers/SemanticLayerModal.test.tsx | 99 +-
.../features/semanticLayers/SemanticLayerModal.tsx | 77 +-
.../features/semanticLayers/jsonFormsHelpers.tsx | 56 +-
.../components/Select/SelectFilterPlugin.tsx | 1 +
.../pages/AlertReportList/AlertReportList.test.tsx | 67 +
.../src/pages/AlertReportList/index.tsx | 61 +-
.../DatasetList/DatasetList.behavior.test.tsx | 135 +
superset-frontend/src/pages/DatasetList/index.tsx | 34 +-
superset-frontend/src/utils/localStorageHelpers.ts | 2 +
superset-frontend/src/views/App.tsx | 171 +-
superset-frontend/src/views/menu.tsx | 55 +-
superset-frontend/src/views/routePaths.ts | 60 +
superset-frontend/src/views/routes.tsx | 208 +-
superset-websocket/package-lock.json | 1088 ++-
superset-websocket/package.json | 3 +
superset/async_events/async_query_manager.py | 55 +-
superset/cachekeys/api.py | 5 +-
superset/charts/schemas.py | 12 +
superset/commands/distributed_lock/acquire.py | 36 +-
superset/commands/report/exceptions.py | 39 +
superset/commands/report/execute.py | 78 +-
superset/commands/report/execute_now.py | 134 +
superset/common/query_object.py | 3 +
superset/common/utils/dataframe_utils.py | 9 +-
superset/config.py | 20 +-
superset/daos/base.py | 108 +-
superset/daos/chart.py | 1 +
superset/dashboards/api.py | 2 -
superset/databases/api.py | 14 +-
superset/db_engine_specs/bigquery.py | 93 +-
superset/distributed_lock/__init__.py | 6 +-
superset/exceptions.py | 8 +
superset/extensions/utils.py | 1 +
superset/initialization/__init__.py | 35 +-
superset/mcp_service/app.py | 2 +
superset/mcp_service/chart/schemas.py | 7 +-
superset/mcp_service/dashboard/schemas.py | 246 +-
superset/mcp_service/dashboard/tool/__init__.py | 2 +
.../dashboard/tool/generate_dashboard.py | 154 +-
.../dashboard/tool/get_dashboard_info.py | 3 +-
.../mcp_service/dashboard/tool/update_dashboard.py | 269 +
superset/models/helpers.py | 70 +-
superset/reports/api.py | 81 +
superset/reports/notifications/webhook.py | 21 +-
superset/reports/schemas.py | 12 +
superset/superset_typing.py | 1 +
superset/tasks/thumbnails.py | 10 +-
superset/translations/lv/LC_MESSAGES/messages.po | 6 +
superset/translations/messages.pot | 6 +
superset/translations/tr/LC_MESSAGES/messages.po | 7734 +++++++++++---------
superset/utils/screenshots.py | 104 +-
superset/utils/slack.py | 6 +-
superset/utils/version.py | 17 +
superset/views/base.py | 14 +-
superset/views/base_api.py | 27 +-
superset/views/health.py | 19 +-
tests/integration_tests/base_api_tests.py | 10 +-
tests/integration_tests/cachekeys/api_tests.py | 47 +-
tests/integration_tests/core_tests.py | 16 +
tests/integration_tests/databases/api_tests.py | 71 +
tests/integration_tests/reports/api_tests.py | 96 +-
tests/integration_tests/superset_test_config.py | 4 +
.../async_events/async_query_manager_tests.py | 93 +-
tests/unit_tests/commands/report/execute_test.py | 214 +
.../unit_tests/commands/report/test_execute_now.py | 198 +
tests/unit_tests/common/test_time_shifts.py | 88 +
tests/unit_tests/config_swagger_ui_test.py | 77 +
.../daos/test_base_relationship_filters.py | 203 +
tests/unit_tests/db_engine_specs/test_bigquery.py | 262 +
.../mcp_service/chart/tool/test_list_charts.py | 23 +
.../dashboard/test_dashboard_schemas.py | 291 +-
.../dashboard/tool/test_dashboard_generation.py | 269 +-
.../dashboard/tool/test_dashboard_tools.py | 96 +
.../dashboard/tool/test_update_dashboard.py | 311 +
tests/unit_tests/queries/query_object_test.py | 1 +
.../reports/notifications/webhook_tests.py | 155 +
tests/unit_tests/security/api_test.py | 4 +-
tests/unit_tests/tasks/test_thumbnails.py | 145 +
tests/unit_tests/test_check_secret_key.py | 74 +
.../unit_tests/utils/test_screenshot_cache_fix.py | 115 +-
tests/unit_tests/utils/version_test.py | 60 +
tests/unit_tests/views/test_base.py | 54 +
tests/unit_tests/views/test_health.py | 69 +
180 files changed, 14707 insertions(+), 6178 deletions(-)
create mode 100644 .github/workflows/scheduled-docker-image-refresh.yml
create mode 100644 docs/developer_docs/extensions/extension-points/chat.md
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/database/modal.test.ts
create mode 100644 superset-frontend/packages/superset-core/src/chat/index.ts
create mode 100644 superset-frontend/packages/superset-core/src/navigation/index.ts
create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/components/Legend.test.tsx
create mode 100644 superset-frontend/src/core/chat/ChatHost.test.tsx
create mode 100644 superset-frontend/src/core/chat/ChatHost.tsx
create mode 100644 superset-frontend/src/core/chat/ChatProvider.test.ts
create mode 100644 superset-frontend/src/core/chat/ChatProvider.ts
create mode 100644 superset-frontend/src/core/chat/index.test.ts
create mode 100644 superset-frontend/src/core/chat/index.ts
create mode 100644 superset-frontend/src/core/navigation/index.test.ts
create mode 100644 superset-frontend/src/core/navigation/index.ts
copy superset-frontend/src/core/{utils.ts => storeUtils.ts} (77%)
create mode 100644 superset-frontend/src/extensions/Namespaces.ts
create mode 100644 superset-frontend/src/features/alerts/hooks/useExecuteReportSchedule.test.ts
create mode 100644 superset-frontend/src/features/alerts/hooks/useExecuteReportSchedule.ts
create mode 100644 superset-frontend/src/views/routePaths.ts
create mode 100644 superset/commands/report/execute_now.py
create mode 100644 superset/mcp_service/dashboard/tool/update_dashboard.py
create mode 100644 tests/unit_tests/commands/report/test_execute_now.py
create mode 100644 tests/unit_tests/config_swagger_ui_test.py
create mode 100644 tests/unit_tests/daos/test_base_relationship_filters.py
create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_update_dashboard.py
create mode 100644 tests/unit_tests/tasks/test_thumbnails.py
create mode 100644 tests/unit_tests/test_check_secret_key.py
create mode 100644 tests/unit_tests/utils/version_test.py
create mode 100644 tests/unit_tests/views/test_health.py