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 2024/07/29 19:44:32 UTC

(superset) branch dependabot/npm_and_yarn/superset-frontend/plugins/legacy-preset-chart-deckgl/react-bootstrap-slider-3.0.0 updated (2dc0342621 -> 51e07a51f8)

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

rusackas pushed a change to branch dependabot/npm_and_yarn/superset-frontend/plugins/legacy-preset-chart-deckgl/react-bootstrap-slider-3.0.0
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit 2dc0342621 lockfile
    omit f9ece0b248 build(deps): bump react-bootstrap-slider
     add cc492ffed4 chore(intros): Update INTHEWILD.md (#29226)
     add a067ffb92d feat(echarts-pie): add string template support for labels (#28774)
     add 5167d20f27 fix: Improving handling for tag relationship when deleting assets v2 (#29229)
     add 4bb2e2f8af chore: enable ruff lint rule TRY201 and B904 to improve `raise` stack traces (#29166)
     add f2d5bbc671 build(deps-dev): bump braces from 3.0.2 to 3.0.3 in /superset-embedded-sdk (#29232)
     add a88979631e fix(sqllab): run previous state query (#29230)
     add 31afb62e95 refactor(sqllab): nonblocking switch query editor (#29108)
     add 6b016da185 fix: Workaround for Pandas.DataFrame.to_csv bug (#28755)
     add 53798c7904 feat(trino): Add functionality to upload data (#29164)
     add f185bbed3c chore: Set isolation level to READ COMMITTED for testing et al.  (#28628)
     add daf37cbe58 chore: Remove the need for explicit bubble up of certain exceptions (#29235)
     add 0dc9215c89 fix(Explore): Keep necessary form data to allow query mode switching (#29234)
     add 3dadefcfb0 feat: Support a dynamic minimum interval for alerts and reports (#29241)
     add 66bd0ce3d0 test(storybook): fix component stories (#29245)
     add 05829cbda9 chore(sqllab): Add logging for actions (#28876)
     add b50e3af07c fix(sqllab): Do not strip comments when executing SQL statements (#29248)
     add 2418efe85c test(Explorer): Fix minor errors in ExploreViewContainer syntax, add tests (#29249)
     add 16c449748a fix: Custom SQL filter control (#29260)
     add 37753cbdc2 fix: Catalog with restricted permissions produces an error during database connection (#29257)
     add 7ddea62331 feat(table): Table with Time Comparison (#28057)
     add ddc9f06786 refactor(sqllab): nonblocking delete query editor (#29233)
     add 08e44c0850 feat: Improves the Drill By feature (#29242)
     add 914ebd9ba3 fix(permalink): adding anchor to dashboard permalink generation (#28744)
     add ae7c40920e chore: translate strings to French (#29247)
     add d49d79121c chore: trigger CI jobs on all release-related branches (#29274)
     add 358e83a849 build(deps): bump ws from 8.17.0 to 8.17.1 in /superset-websocket (#29276)
     add c7b8ae9013 build(deps): bump ws from 7.5.9 to 7.5.10 in /docs (#29275)
     add ab7f8ad1bf docs: remove comment header in README.md (#29273)
     add 527f1d20ad fix: filters not updating with force update when caching is enabled (#29291)
     add 725afc3848 fix(sqllab): invalid empty state on switch tab (#29278)
     add 4537ab6b1a fix(sqllab): excessive API calls for schemas (#29279)
     add 796726376a chore: make flask-talisman work with test config (#29277)
     add 9f70697046 chore: use json codec for key value lock (#29285)
     add 188b5f4781 docs: add Agoda to users list (#29300)
     add 36b1535199 chore(e2e): using updated repo secret, new Cypress project id (#29296)
     add 99fc04b9a6 build(deps-dev): bump ws from 7.5.7 to 7.5.10 in /superset-embedded-sdk (#29308)
     add 172ddb47d5 fix(metastore-cache): prune before add (#29301)
     add 03969d5f90 chore(distributed-lock): refactor tests (#29302)
     add 1770f8b783 fix(key-value): use flush instead of commit (#29286)
     add 313ee596f5 fix(Dashboard): Color inconsistency on refreshes and conflicts (#27439)
     add 70f6f5f3ef fix(ui): Disable ability to export data when user does not have the correct permission (#28429)
     add a5355d86fc feat: Dashboard tabs api endpoint (#27962)
     add 03143bf9ad chore(applitools): making tests more static for consistent testing (#28201)
     add 6378ec5d69 feat(dashboard): Enables pivot table download option at dashboard level (#29123)
     add 5e060cef7c feat: add new SQLLAB_FORCE_RUN_ASYNC feature flag (#29231)
     add 514eda82fb fix: don't strip SQL comments in Explore - 2nd try (#28753)
     add 118552d4d2 chore(e2e): more instructions for manual test runs. (#29319)
     add 8c990adabe build(deps): bump deck.gl from 9.0.6 to 9.0.12 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#28296)
     add 9444c6bd4b fix: Remove recursive repr call (#29314)
     add 79d84f30f5 docs: update CVEs fixed on 4.0.1 and 3.1.3 (#29313)
     add fe3ba12801 refactor: Adds the sort_by_metric control to sharedControls (#29325)
     add 4fe04e63ac chore(e2e): simplify Cypress record key usage (#29327)
     add 01ffc1227a docs: Update INTHEWILD.md with Bluesquare (#29337)
     add ee5227733b fix: Cannot delete empty column inside a tab using the dashboard editor (#29346)
     add 160cece017 fix(explore): restored hidden field values has discarded (#29349)
     add 5ffa616d98 fix: actually write changes on "superset import-datasources" (#14817)
     add 213fd69b2b chore: Rename Totals to Summary in table chart (#29360)
     add 708afb7146 fix(revert 27883): Excess padding in horizontal Bar charts (#29345)
     add d69363ef11 fix(tests): Ensure fixture is invoked (#29352)
     add c12b4e9cba chore(tests): Cleanup Celery tests (#29355)
     add f9f70e3e55 chore(tests): Fix MySQL logic (#29356)
     add dffad48504 feat(build): uplift `Jest` to v29 (#29118)
     add d74d3a87bb fix: default logging (#27777)
     add b5a72e21f7 refactor(Homepage): Migrate Home.test to RTL (#29353)
     add de6a518161 fix(Query): Parse html string error responses to avoid displaying raw HTML as error message (#29321)
     add 58f33d227a fix(explore): don't respect y-axis formatting (#29367)
     add c83d5b88e1 feat: Adds the ECharts Sankey chart (#29329)
     add d4054e3d85 feat: Adds chart IDs option to migrate-viz (#29361)
     add c49a6dfdef feat(e2e): implementing Cypress Dashboard on `master` branch merges (#29351)
     add 731cfb1553 chore(tests): Mark TestConnectionDatabaseCommand as non-test related (#29366)
     add 53450b7e2f fix(tox): Address issue with generative environment variables (#29368)
     add 5948dac889 chore(ci): Start Celery worker as a background process (#29371)
     add 466dda2b14 chore(security): Clean up session/commit logic (#29381)
     add 9d405738c0 chore(tests): Remove unnecessary mock (#29386)
     add 59d1eea4c8 ci: remove update repo on issue comment (#29388)
     add 9c5c124155 docs: fix typo in docker compose doc (#29390)
     add c70a9d0e67 fix(readme): changing video from mp4 to webm format (#29392)
     add 2a587a771c feat: Add Ant Design 5 Theme  (#29328)
     add 66bc8ceddd chore(Table): Add aria-label to Table page size selector (#29391)
     add ed3c66b6a6 chore(deps): bump scroll-into-view-if-needed from 2.2.28 to 3.1.0 in /superset-frontend (#28816)
     add f128718d34 docs: fix typos (#29400)
     add a3f0d00714 refactor(src/explore/comp/controls/metricControl): migrate Enzyme test to RTL syntax (#29380)
     add 8fb8199a55 chore(dao/command): Add transaction decorator to try to enforce "unit of work" (#24969)
     add e274925b2a chore(frontend): remove obsolete ESLint rules in tests (#29405)
     add 5c9352fae4 docs: update INTHEWILD.md with bluquist (#29399)
     add ba405bacbf docs: Update INTHEWILD.md with Aveti Learning (#29413)
     add 179cf269c6 fix: SQL label missing for non-group-by queries (#29420)
     add 42773b9b1c chore(deps): bump stream from 0.0.2 to 0.0.3 in /docs (#29431)
     add cfe29406e5 chore(deps-dev): bump typescript from 5.4.5 to 5.5.2 in /docs (#29432)
     add 5aac1b59b1 chore(deps): bump rehype-raw from 6.1.1 to 7.0.0 in /superset-frontend (#29433)
     add 7727b9dc79 chore(deps-dev): bump eslint-import-resolver-typescript from 2.5.0 to 3.6.1 in /superset-frontend (#29435)
     add 0cf676b574 chore(deps-dev): bump ts-jest from 29.1.2 to 29.1.5 in /superset-websocket (#29423)
     add 7d6e933348 chore(key-value): convert command to dao (#29344)
     add 028665030f chore: Added 10Web to the list of organizations that use Apache Superset (#29442)
     add 446a3b22dc chore: move all GHAs to ubuntu-22.04 (#29447)
     add 839ca82a19 chore(deps): bump react-markdown from 8.0.3 to 8.0.7 in /superset-frontend (#29439)
     add 1e73820277 chore(deps): bump @algolia/client-search from 4.23.3 to 4.24.0 in /docs (#29428)
     add cf031bbee4 chore(deps-dev): bump webpack from 5.91.0 to 5.92.1 in /docs (#29429)
     add 7a0ae36c4a chore(deps): bump actions/checkout from 2 to 4 (#29434)
     add 3449b8f9dc chore(deps-dev): update @types/lodash requirement from ^4.17.4 to ^4.17.6 in /superset-frontend/plugins/plugin-chart-handlebars (#29425)
     add 7bb7fc0f49 chore(deps): bump deck.gl from 9.0.12 to 9.0.20 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#29426)
     add 7f3c8efab0 fix(metastore-cache): import dao in methods (#29451)
     add fb1f2c4f18 fix: re-add missing code from PR #28132 (#29446)
     add d5c0506faa fix: OAuth2 in async DBs (#29461)
     add 35da6ac270 fix: Dashboard hangs when initial filters cannot be loaded (#29456)
     add 6b73b69b41 feat(CLI command): Apache Superset "Factory Reset" CLI command #27207 (#27221)
     add 5231e86b6c docs(docker compose): fix step 4 list formatting (#29468)
     add 48f6fe6d69 chore(i18n): Translated charts and filters into Russian (#29377)
     add 145694d828 chore: run babel_update.sh to update po files (#29476)
     add 4e861cf86e chore(utils): Support select_columns with getUserOwnedObjects and split recentActivityObjs (#29459)
     add 6d2b3b8698 fix: Enable explore button on SQL Lab view when connected to Apache Pinot as a database (#28364)
     add 0f60701995 chore(Home): Avoid firing API requests when a custom Home is used (#29493)
     add d89648147f feat(dashboard): add API endpoints for generating and downloading screenshots (#29187)
     add e768796491 refactor: Upgrade Card to Ant Design 5 (#29389)
     add 241834205f fix: remove info from datasource access error (#29470)
     add 0e0028260f fix: add more disallowed pg functions (#29454)
     add ee72d6cdca feat: Enable customizing the docker admin password (#29498)
     add 9724c99341 feat: add support to NOT LIKE operator (#29384)
     add 1682994b7e docs: cleanup markdown warnings (#29511)
     add 9052f9fbb4 fix(plugins): Fix dashboard filter for Table and Big Number with Time Comparison (#29517)
     add dc16255605 docs: Add Vasu and Jamie to the Users List (#29486)
     add b481bc95b5 fix(plugins): Big Number with Time Comparison (#29520)
     add b4560d442b feat(database): Add OceanBase support (#29496)
     add 3d0665183c fix: Table time comparison breaking after form data update (#29525)
     add e749efcb97 fix: refactor view error handling into a separate module (#29330)
     add 813775e719 chore(build): sync Jest version across plugins (#29414)
     add 3bf89893dc feat(build): uplift Storybook to v8 (#29408)
     add 428b68f3e0 refactor: Upgrade Badge component to Ant Design 5 (#29124)
     add bea4882b04 docs: Add frontend dependency installation steps (#29510)
     add 1734eeaf0c chore(deps): bump deck.gl from 8.9.22 to 9.0.21 in /superset-frontend (#29529)
     add 5aacf563d8 chore(deps): bump regenerator-runtime from 0.13.11 to 0.14.1 in /superset-frontend (#29437)
     add ec5bbaa678 feat: add connector for CouchbaseDB (#29225)
     add 17a4537215 docs(intro): Add OceanBase to the Supported Databases section of readme.md. (#29537)
     add 1d35ca4bc5 fix(websocket): add error handling (#29538)
     add 67df4e3ce3 fix: prevent guest users from changing columns (#29530)
     add 33a31ca393 chore(deps): bump deck.gl from 8.9.22 to 9.0.20 in /superset-frontend (#29436)
     add dd74757032 fix: babel_update script crash (#29548)
     add 33b934cbb3 fix(Tags filter): Filter assets by tag ID (#29412)
     add d535f3fe56 fix: make catalog migration lenient (#29549)
     add 3f6b7e2456 docs: Added Keycloak auth configuration (#29487)
     add 84a1cd245c chore: cleanup documentation (#29552)
     add 0d352b4e06 fix(dataset import): Support catalog field during dataset import (#29576)
     add fa095a98ed fix: Trino `get_columns` (#29566)
     add a56f656a83 fix: small fixes to the catalog migration (#29579)
     add fb15278f97 fix: catalog permission check (#29581)
     add 462cda400b fix(storybook): fix broken Storybook stories during development (#29587)
     add 6eda6dfe06 docs: update CVEs for 4.0.2 (#29599)
     add d51a2add65 docs(contributing): removing old blog post link (#29603)
     add e90a9b3c87 chore(docs): create architecture page (#28481)
     add 00ab12ce9b fix(docs): fix broken indexed link from Google search (#28496)
     add ec508a70a6 docs(Database): Clarify host value expected when running in docker (#28124)
     add b66c0f8d30 fix: schemas for upload API (#29604)
     add 028e9c9294 chore: Updates CHANGELOG.md with 4.0.2 data (#29600)
     add c30ca534a3 feat(build): uplift Lerna + replace insecure shortid with nanoid + uplift Yeoman-related packages + ESM-ize generator-superset (#29419)
     add b39952549f fix: sort schemas when uploading data (#29610)
     add 245e1986c1 chore: Clear redux localStorage on logout (#29602)
     add 9da5be3d79 docs: fix code comment explaining local override (#29612)
     add db3fa8df77 fix(sqllab): Show warning message when deprecated db is selected (#29607)
     add 3ade01f828 feat: custom values to sandbox iframe (#29590)
     add ae6e58f918 feat(frontend/hooks): replace 3rd-party BroadcastChannel with native Web API equivalence (#29584)
     add c0d46eb1af refactor(Tag): Upgrade Tag and TagsList to Ant Design 5 (#29593)
     add 6dbfe2aab9 feat: add slackv2 notification (#29264)
     add 1e412a8711 refactor(Dashboard): Fetch dashboard screenshot via dedicated endpoint (#29272)
     add 5b79752e5d fix: Add Japanese Translations (#29567)
     add 85b66946ed refactor: Remove dead code from the Word Cloud plugin (#29594)
     add 5539f87912 fix(sqllab): prev shema/table options remained on fail (#29638)
     add 9487d6c9d6 fix: Required native filter message wrongfully appearing (#29643)
     add ae0edbfdce chore: add catalog_access to OBJECT_SPEC_PERMISSIONS (#29650)
     add 92537f1fd5 fix: Loading of native filter column (#29647)
     add be833dce4f fix: Layout of native filters modal with lengthy columns (#29648)
     add 2a9a1d3194 docs: update creating-your-first-dashboard.mdx (#29631)
     add 27dde2a811 feat(alert/report): Added optional CC and BCC fields for email notifi… (#29088)
     add 453e6deb97 fix: Dashboard editable title weird behavior when adding spaces (#29667)
     add cd713a239e fix: Use default custom time range time without timezone (#29669)
     add 3de2b7c989 refactor(ProgressBar): Upgrade ProgressBar to Antd 5 (#29666)
     add 922128f6e0 fix: Add user filtering to changed_by. Fixes #27986 (#29287)
     add 72caec10fe feat(country map): Adding Hungary (and other touchups) (#29627)
     add dac69e2092 feat(explorer): Add configs and formatting to discrete comparison columns (#29553)
     add 5ed19319dd build(deps-dev): bump thread-loader from 3.0.4 to 4.0.2 in /superset-frontend (#26557)
     add 3c971455e7 fix(explore): missing column autocomplete in custom SQL (#29672)
     add f0f72d5578 build(deps): bump react-bootstrap-slider
     add 51e07a51f8 lockfile

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   (2dc0342621)
            \
             N -- N -- N   refs/heads/dependabot/npm_and_yarn/superset-frontend/plugins/legacy-preset-chart-deckgl/react-bootstrap-slider-3.0.0 (51e07a51f8)

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:
 .asf.yaml                                          |      3 +
 .github/ISSUE_TEMPLATE/bug-report.yml              |      2 +-
 .github/workflows/bashlib.sh                       |     14 +
 .github/workflows/bump-python-package.yml          |      2 +-
 .github/workflows/cancel_duplicates.yml            |      2 +-
 .github/workflows/check_db_migration_confict.yml   |      4 +-
 .github/workflows/codeql-analysis.yml              |      2 +-
 .github/workflows/dependency-review.yml            |      2 +-
 .github/workflows/docker.yml                       |      6 +-
 .github/workflows/embedded-sdk-release.yml         |      6 +-
 .github/workflows/embedded-sdk-test.yml            |      2 +-
 .github/workflows/ephemeral-env-pr-close.yml       |      4 +-
 .github/workflows/ephemeral-env.yml                |      8 +-
 .github/workflows/generate-FOSSA-report.yml        |      6 +-
 .github/workflows/github-action-validator.yml      |      4 +-
 .github/workflows/issue_creation.yml               |      2 +-
 .github/workflows/labeler.yml                      |      2 +-
 .github/workflows/latest-release-tag.yml           |      2 +-
 .github/workflows/license-check.yml                |      2 +-
 .github/workflows/no-hold-label.yml                |      2 +-
 .github/workflows/pr-lint.yml                      |      2 +-
 .github/workflows/pre-commit.yml                   |      4 +-
 .github/workflows/prefer-typescript.yml            |      4 +-
 .github/workflows/release.yml                      |      6 +-
 .github/workflows/superset-applitool-cypress.yml   |      4 +-
 .../workflows/superset-applitools-storybook.yml    |      4 +-
 .github/workflows/superset-cli.yml                 |      4 +-
 .github/workflows/superset-docs-deploy.yml         |      8 +-
 .github/workflows/superset-docs-verify.yml         |      2 +-
 .github/workflows/superset-e2e.yml                 |     18 +-
 .github/workflows/superset-frontend.yml            |      6 +-
 .github/workflows/superset-helm-lint.yml           |      2 +-
 .github/workflows/superset-helm-release.yml        |      4 +-
 .../workflows/superset-python-integrationtest.yml  |     28 +-
 .github/workflows/superset-python-misc.yml         |      6 +-
 .github/workflows/superset-python-presto-hive.yml  |     18 +-
 .github/workflows/superset-python-unittest.yml     |      4 +-
 .github/workflows/superset-translations.yml        |      6 +-
 .github/workflows/superset-websocket.yml           |      4 +-
 .github/workflows/supersetbot.yml                  |      2 +-
 .github/workflows/tag-release.yml                  |      4 +-
 .github/workflows/tech-debt.yml                    |      6 +-
 .github/workflows/update-monorepo-lockfiles.yml    |     52 -
 .github/workflows/welcome-new-users.yml            |      2 +-
 .gitignore                                         |      5 +
 .rat-excludes                                      |      1 +
 CHANGELOG.md                                       |      1 +
 CHANGELOG/4.0.2.md                                 |     78 +
 CODE_OF_CONDUCT.md                                 |      1 -
 README.md                                          |     16 +-
 RELEASING/README.md                                |     14 +-
 RESOURCES/FEATURE_FLAGS.md                         |      1 +
 RESOURCES/INTHEWILD.md                             |      7 +
 UPDATING.md                                        |      7 +
 docker/docker-init.sh                              |      4 +-
 docker/pythonpath_dev/superset_config.py           |      1 -
 .../pythonpath_dev/superset_config_local.example   |      2 +-
 docs/data/countries.json                           |      1 +
 docs/docs/configuration/alerts-reports.mdx         |     11 +
 docs/docs/configuration/configuring-superset.mdx   |    116 +-
 docs/docs/configuration/databases.mdx              |     36 +
 docs/docs/contributing/contributing.mdx            |      4 +-
 docs/docs/contributing/development.mdx             |     36 +-
 docs/docs/contributing/guidelines.mdx              |      8 +-
 docs/docs/contributing/howtos.mdx                  |     28 +-
 docs/docs/faq.mdx                                  |      4 +-
 docs/docs/installation/architecture.mdx            |     68 +
 docs/docs/installation/docker-builds.mdx           |     11 +-
 docs/docs/installation/docker-compose.mdx          |     30 +-
 docs/docs/installation/kubernetes.mdx              |      7 +-
 docs/docs/installation/pypi.mdx                    |     32 +-
 docs/docs/installation/upgrading-superset.mdx      |      2 +-
 docs/docs/quickstart.mdx                           |      7 +
 docs/docs/security/cves.mdx                        |     18 +-
 .../creating-your-first-dashboard.mdx              |      4 +-
 docs/docusaurus.config.js                          |      4 +
 docs/package.json                                  |     22 +-
 docs/src/intro_header.txt                          |      4 +
 docs/src/resources/data.js                         |     10 +
 docs/static/img/databases/couchbase.svg            |     19 +
 docs/static/img/databases/oceanbase.svg            |     67 +
 docs/yarn.lock                                     |    524 +-
 pyproject.toml                                     |     21 +-
 scripts/cypress_run.py                             |     11 +-
 scripts/permissions_cleanup.py                     |      7 +-
 scripts/python_tests.sh                            |      1 +
 scripts/tests/README.md                            |     26 +-
 scripts/tests/run.sh                               |      3 +
 scripts/translations/babel_update.sh               |      1 +
 superset-embedded-sdk/README.md                    |     15 +-
 superset-embedded-sdk/package-lock.json            |   5933 +-
 superset-embedded-sdk/package.json                 |      6 +-
 .../src/guestTokenRefresh.test.ts                  |      2 +-
 superset-embedded-sdk/src/index.ts                 |      9 +-
 superset-frontend/.prettierignore                  |      2 +
 superset-frontend/.storybook/main.js               |      2 +-
 superset-frontend/.storybook/preview.jsx           |      4 +-
 superset-frontend/cypress-base/cypress.config.ts   |      2 +-
 .../cypress/e2e/dashboard/editmode.test.ts         |     49 +-
 .../cypress/e2e/dashboard/nativeFilters.test.ts    |      2 +-
 .../cypress-base/cypress/e2e/explore/link.test.ts  |      8 +-
 .../e2e/explore/visualizations/compare.test.js     |      3 -
 .../e2e/explore/visualizations/dist_bar.test.js    |      3 -
 .../cypress-base/cypress/e2e/sqllab/query.test.ts  |      4 +-
 .../cypress-base/cypress/support/directories.ts    |      2 +-
 superset-frontend/cypress-base/package-lock.json   |     45 +-
 superset-frontend/cypress-base/package.json        |      2 +-
 superset-frontend/jest.config.js                   |     15 +-
 superset-frontend/lerna.json                       |      5 +-
 superset-frontend/package-lock.json                | 160716 +++++++++---------
 superset-frontend/package.json                     |     58 +-
 .../generator-superset/.eslintrc}                  |      9 +-
 .../generator-superset/generators/app/index.js     |     21 +-
 .../generators/plugin-chart/index.js               |     15 +-
 .../plugin-chart/templates/package-lock.erb        |      2 +-
 .../generators/plugin-chart/templates/package.erb  |      2 +-
 .../packages/generator-superset/jest.config.js     |      3 +-
 .../packages/generator-superset/package.json       |     20 +-
 .../packages/generator-superset/test/app.test.js   |     32 +-
 .../generator-superset/test/plugin-chart.test.js   |     67 +-
 .../src/components/Dropdown.tsx}                   |     14 +-
 .../src/components/Menu.tsx}                       |      5 +-
 .../superset-ui-chart-controls/src/index.ts        |      4 +-
 .../src/sections/timeComparison.tsx                |      2 +-
 .../src/shared-controls/sharedControls.tsx         |      9 +
 .../superset-ui-chart-controls/src/types.ts        |      3 +
 .../packages/superset-ui-core/package.json         |      7 +-
 .../src/color/CategoricalColorScale.ts             |    217 +-
 ...olorSingleton.ts => LabelsColorMapSingleton.ts} |     74 +-
 .../packages/superset-ui-core/src/color/index.ts   |      8 +-
 .../packages/superset-ui-core/src/color/utils.ts   |      5 +-
 .../useComponentDidUpdate/useComponentDidUpdate.ts |     10 +-
 .../src/query/getClientErrorObject.ts              |    111 +-
 .../superset-ui-core/src/query/types/Operator.ts   |      1 +
 .../src/time-comparison/customTimeRangeDecode.ts}  |     94 +-
 .../src/time-comparison/getTimeOffset.ts           |    307 +-
 .../superset-ui-core/src/time-comparison/index.ts  |      7 +-
 .../superset-ui-core/src/time-comparison/types.ts  |     42 +
 .../superset-ui-core/src/ui-overrides/types.ts     |     11 +
 .../superset-ui-core/src/utils/featureFlags.ts     |      2 +
 .../superset-ui-core/src/utils/html.test.tsx       |     76 +
 .../packages/superset-ui-core/src/utils/html.tsx   |     55 +-
 .../test/color/CategoricalColorNameSpace.test.ts   |      2 +-
 .../test/color/CategoricalColorScale.test.ts       |    286 +-
 .../test/color/LabelsColorMapSingleton.test.ts     |    234 +
 .../test/color/SharedLabelColorSingleton.test.ts   |    201 -
 .../test/query/getClientErrorObject.test.ts        |    133 +-
 .../time-comparison/computeCustomDateTime.test.ts  |     80 +
 .../time-comparison/customTimeRangeDecode.test.ts  |    205 +
 .../test/time-comparison/fetchTimeRange.test.ts    |      1 +
 .../test/time-comparison/getTimeOffset.test.ts     |   1016 +-
 .../test/time-comparison/parseDttmToDate.test.ts   |    759 +-
 .../superset-ui-core/test/utils/logging.test.ts    |      6 +-
 .../packages/superset-ui-demo/.storybook/main.js   |      2 +-
 .../superset-ui-demo/.storybook/preview.js         |      5 +-
 .../packages/superset-ui-demo/package.json         |     15 +-
 .../BoxPlot/stories/basic.tsx                      |      4 +-
 .../{BoxPolot.stories.tsx => BoxPlot.stories.tsx}  |      0
 .../plugin-chart-word-cloud/WordCloud.stories.tsx  |     18 +-
 .../packages/superset-ui-demo/tsconfig.json        |      2 +-
 .../plugins/legacy-plugin-chart-chord/src/Chord.js |      4 +-
 .../legacy-plugin-chart-chord/src/controlPanel.ts  |     13 +-
 .../scripts/Country Map GeoJSON Generator.ipynb    |    260 +-
 .../src/countries.ts                               |      2 +
 .../src/countries/afghanistan.geojson              |      1 +
 .../src/countries/aland.geojson                    |      1 +
 .../src/countries/albania.geojson                  |      1 +
 .../src/countries/algeria.geojson                  |      1 +
 .../src/countries/american_samoa.geojson           |      1 +
 .../src/countries/andorra.geojson                  |      1 +
 .../src/countries/angola.geojson                   |      1 +
 .../src/countries/anguilla.geojson                 |      1 +
 .../src/countries/antarctica.geojson               |      1 +
 .../src/countries/antigua_and_barbuda.geojson      |      1 +
 .../src/countries/argentina.geojson                |      1 +
 .../src/countries/armenia.geojson                  |      1 +
 .../src/countries/australia.geojson                |      1 +
 .../src/countries/austria.geojson                  |      1 +
 .../src/countries/azerbaijan.geojson               |      1 +
 .../src/countries/bahrain.geojson                  |      1 +
 .../src/countries/bangladesh.geojson               |      1 +
 .../src/countries/barbados.geojson                 |      1 +
 .../src/countries/belarus.geojson                  |      1 +
 .../src/countries/belgium.geojson                  |      1 +
 .../src/countries/belize.geojson                   |      1 +
 .../src/countries/benin.geojson                    |      1 +
 .../src/countries/bermuda.geojson                  |      1 +
 .../src/countries/bhutan.geojson                   |      1 +
 .../src/countries/bolivia.geojson                  |      1 +
 .../src/countries/bosnia_and_herzegovina.geojson   |      1 +
 .../src/countries/botswana.geojson                 |      1 +
 .../src/countries/brazil.geojson                   |      1 +
 .../src/countries/brunei.geojson                   |      1 +
 .../src/countries/bulgaria.geojson                 |      1 +
 .../src/countries/burkina_faso.geojson             |      1 +
 .../src/countries/burundi.geojson                  |      1 +
 .../src/countries/cambodia.geojson                 |      1 +
 .../src/countries/cameroon.geojson                 |      1 +
 .../src/countries/canada.geojson                   |      1 +
 .../src/countries/cape_verde.geojson               |      1 +
 .../src/countries/central_african_republic.geojson |      1 +
 .../src/countries/chad.geojson                     |      1 +
 .../src/countries/chile.geojson                    |      1 +
 .../src/countries/china.geojson                    |      1 +
 .../src/countries/colombia.geojson                 |      1 +
 .../src/countries/comoros.geojson                  |      1 +
 .../src/countries/cook_islands.geojson             |      1 +
 .../src/countries/costa_rica.geojson               |      1 +
 .../src/countries/croatia.geojson                  |      1 +
 .../src/countries/cuba.geojson                     |      1 +
 .../src/countries/cyprus.geojson                   |      1 +
 .../src/countries/czech_republic.geojson           |      1 +
 .../democratic_republic_of_the_congo.geojson       |      1 +
 .../src/countries/denmark.geojson                  |      1 +
 .../src/countries/djibouti.geojson                 |      1 +
 .../src/countries/dominica.geojson                 |      1 +
 .../src/countries/dominican_republic.geojson       |      1 +
 .../src/countries/ecuador.geojson                  |      1 +
 .../src/countries/egypt.geojson                    |      1 +
 .../src/countries/el_salvador.geojson              |      1 +
 .../src/countries/equatorial_guinea.geojson        |      1 +
 .../src/countries/eritrea.geojson                  |      1 +
 .../src/countries/estonia.geojson                  |      1 +
 .../src/countries/ethiopia.geojson                 |      1 +
 .../src/countries/fiji.geojson                     |      1 +
 .../src/countries/finland.geojson                  |      1 +
 .../src/countries/france.geojson                   |      1 +
 .../src/countries/france_regions.geojson           |      1 +
 .../src/countries/french_polynesia.geojson         |      1 +
 .../src/countries/gabon.geojson                    |      1 +
 .../src/countries/gambia.geojson                   |      1 +
 .../src/countries/germany.geojson                  |      1 +
 .../src/countries/ghana.geojson                    |      1 +
 .../src/countries/greece.geojson                   |      1 +
 .../src/countries/greenland.geojson                |      1 +
 .../src/countries/grenada.geojson                  |      1 +
 .../src/countries/guatemala.geojson                |      1 +
 .../src/countries/guinea.geojson                   |      1 +
 .../src/countries/guyana.geojson                   |      1 +
 .../src/countries/haiti.geojson                    |      1 +
 .../src/countries/honduras.geojson                 |      1 +
 .../src/countries/hungary.geojson                  |     50 +
 .../src/countries/iceland.geojson                  |      1 +
 .../src/countries/india.geojson                    |      3 +-
 .../src/countries/indonesia.geojson                |      1 +
 .../src/countries/iran.geojson                     |      1 +
 .../src/countries/israel.geojson                   |      1 +
 .../src/countries/italy.geojson                    |      1 +
 .../src/countries/italy_regions.geojson            |      1 +
 .../src/countries/japan.geojson                    |      1 +
 .../src/countries/jordan.geojson                   |      1 +
 .../src/countries/kazakhstan.geojson               |      1 +
 .../src/countries/kenya.geojson                    |      1 +
 .../src/countries/korea.geojson                    |      1 +
 .../src/countries/kuwait.geojson                   |      1 +
 .../src/countries/kyrgyzstan.geojson               |      1 +
 .../src/countries/laos.geojson                     |      1 +
 .../src/countries/latvia.geojson                   |      1 +
 .../src/countries/lebanon.geojson                  |      1 +
 .../src/countries/lesotho.geojson                  |      1 +
 .../src/countries/liberia.geojson                  |      1 +
 .../src/countries/libya.geojson                    |      1 +
 .../src/countries/liechtenstein.geojson            |      1 +
 .../src/countries/lithuania.geojson                |      1 +
 .../src/countries/luxembourg.geojson               |      1 +
 .../src/countries/macedonia.geojson                |      1 +
 .../src/countries/madagascar.geojson               |      1 +
 .../src/countries/malawi.geojson                   |      1 +
 .../src/countries/malaysia.geojson                 |      1 +
 .../src/countries/maldives.geojson                 |      1 +
 .../src/countries/mali.geojson                     |      1 +
 .../src/countries/malta.geojson                    |      1 +
 .../src/countries/marshall_islands.geojson         |      1 +
 .../src/countries/mauritania.geojson               |      1 +
 .../src/countries/mauritius.geojson                |      1 +
 .../src/countries/mexico.geojson                   |      1 +
 .../src/countries/moldova.geojson                  |      1 +
 .../src/countries/mongolia.geojson                 |      1 +
 .../src/countries/montenegro.geojson               |      1 +
 .../src/countries/montserrat.geojson               |      1 +
 .../src/countries/morocco.geojson                  |      1 +
 .../src/countries/mozambique.geojson               |      1 +
 .../src/countries/myanmar.geojson                  |      1 +
 .../src/countries/namibia.geojson                  |      1 +
 .../src/countries/nauru.geojson                    |      1 +
 .../src/countries/nepal.geojson                    |      1 +
 .../src/countries/netherlands.geojson              |      1 +
 .../src/countries/new_caledonia.geojson            |      1 +
 .../src/countries/new_zealand.geojson              |      1 +
 .../src/countries/nicaragua.geojson                |      1 +
 .../src/countries/niger.geojson                    |      1 +
 .../src/countries/nigeria.geojson                  |      1 +
 .../src/countries/northern_mariana_islands.geojson |      1 +
 .../src/countries/norway.geojson                   |      1 +
 .../src/countries/oman.geojson                     |      1 +
 .../src/countries/pakistan.geojson                 |      1 +
 .../src/countries/palau.geojson                    |      1 +
 .../src/countries/panama.geojson                   |      1 +
 .../src/countries/papua_new_guinea.geojson         |      1 +
 .../src/countries/paraguay.geojson                 |      1 +
 .../src/countries/peru.geojson                     |      1 +
 .../src/countries/philippines.geojson              |      1 +
 .../src/countries/philippines_regions.geojson      |      1 +
 .../src/countries/poland.geojson                   |      1 +
 .../src/countries/portugal.geojson                 |      1 +
 .../src/countries/qatar.geojson                    |      1 +
 .../src/countries/romania.geojson                  |      1 +
 .../src/countries/russia.geojson                   |      1 +
 .../src/countries/rwanda.geojson                   |      1 +
 .../src/countries/saint_lucia.geojson              |      1 +
 .../countries/saint_pierre_and_miquelon.geojson    |      1 +
 .../saint_vincent_and_the_grenadines.geojson       |      1 +
 .../src/countries/samoa.geojson                    |      1 +
 .../src/countries/san_marino.geojson               |      1 +
 .../src/countries/sao_tome_and_principe.geojson    |      1 +
 .../src/countries/saudi_arabia.geojson             |      1 +
 .../src/countries/senegal.geojson                  |      1 +
 .../src/countries/seychelles.geojson               |      1 +
 .../src/countries/sierra_leone.geojson             |      1 +
 .../src/countries/singapore.geojson                |      1 +
 .../src/countries/slovakia.geojson                 |      1 +
 .../src/countries/slovenia.geojson                 |      1 +
 .../src/countries/solomon_islands.geojson          |      1 +
 .../src/countries/somalia.geojson                  |      1 +
 .../src/countries/south_africa.geojson             |      1 +
 .../src/countries/spain.geojson                    |      1 +
 .../src/countries/sri_lanka.geojson                |      1 +
 .../src/countries/sudan.geojson                    |      1 +
 .../src/countries/suriname.geojson                 |      1 +
 .../src/countries/sweden.geojson                   |      1 +
 .../src/countries/switzerland.geojson              |      1 +
 .../src/countries/syria.geojson                    |      1 +
 .../src/countries/taiwan.geojson                   |      1 +
 .../src/countries/tajikistan.geojson               |      1 +
 .../src/countries/tanzania.geojson                 |      1 +
 .../src/countries/thailand.geojson                 |      1 +
 .../src/countries/the_bahamas.geojson              |      1 +
 .../src/countries/timorleste.geojson               |      1 +
 .../src/countries/togo.geojson                     |      1 +
 .../src/countries/tonga.geojson                    |      1 +
 .../src/countries/trinidad_and_tobago.geojson      |      1 +
 .../src/countries/tunisia.geojson                  |      1 +
 .../src/countries/turkey.geojson                   |      1 +
 .../src/countries/turkey_regions.geojson           |      1 +
 .../src/countries/turkmenistan.geojson             |      1 +
 .../src/countries/turks_and_caicos_islands.geojson |      1 +
 .../src/countries/uganda.geojson                   |      1 +
 .../src/countries/uk.geojson                       |      1 +
 .../src/countries/ukraine.geojson                  |      1 +
 .../src/countries/united_arab_emirates.geojson     |      1 +
 .../united_states_minor_outlying_islands.geojson   |      1 +
 .../countries/united_states_virgin_islands.geojson |      1 +
 .../src/countries/uruguay.geojson                  |      1 +
 .../src/countries/usa.geojson                      |      1 +
 .../src/countries/uzbekistan.geojson               |      1 +
 .../src/countries/vanuatu.geojson                  |      1 +
 .../src/countries/venezuela.geojson                |      1 +
 .../src/countries/vietnam.geojson                  |      1 +
 .../src/countries/wallis_and_futuna.geojson        |      1 +
 .../src/countries/yemen.geojson                    |      1 +
 .../src/countries/zambia.geojson                   |      1 +
 .../src/countries/zimbabwe.geojson                 |      1 +
 .../src/controlPanel.tsx                           |     13 +-
 .../src/Histogram.jsx                              |      2 +-
 .../legacy-plugin-chart-partition/src/Partition.js |      2 +-
 .../plugins/legacy-plugin-chart-rose/src/Rose.js   |     14 +-
 .../legacy-plugin-chart-sankey/src/Sankey.js       |      2 +-
 .../legacy-plugin-chart-sankey/src/controlPanel.ts |     13 +-
 .../legacy-plugin-chart-sankey/src/index.js        |      2 +-
 .../src/controlPanel.ts                            |     13 +-
 .../legacy-preset-chart-deckgl/package.json        |      2 +-
 .../src/CategoricalDeckGLContainer.tsx             |     10 +-
 .../legacy-preset-chart-nvd3/src/NVD3Vis.js        |      4 +-
 .../legacy-preset-chart-nvd3/src/transformProps.js |      4 +-
 .../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx |     19 +-
 .../BigNumberPeriodOverPeriod/buildQuery.ts        |     35 +-
 .../BigNumberPeriodOverPeriod/transformProps.ts    |     37 +-
 .../BigNumber/BigNumberPeriodOverPeriod/types.ts   |      1 +
 .../src/BoxPlot/transformProps.ts                  |      6 +-
 .../src/Funnel/controlPanel.tsx                    |      6 +-
 .../src/Funnel/transformProps.ts                   |      2 +-
 .../src/Gauge/controlPanel.tsx                     |     13 +-
 .../src/Gauge/transformProps.ts                    |      4 +-
 .../src/Graph/transformProps.ts                    |      2 +-
 .../plugin-chart-echarts/src/Pie/controlPanel.tsx  |     27 +-
 .../plugin-chart-echarts/src/Pie/transformProps.ts |     48 +-
 .../plugins/plugin-chart-echarts/src/Pie/types.ts  |      2 +
 .../src/Radar/transformProps.ts                    |      2 +-
 .../plugin-chart-echarts/src/Sankey/Sankey.tsx}    |     27 +-
 .../plugin-chart-echarts/src/Sankey/buildQuery.ts} |     28 +-
 .../src/Sankey/controlPanel.tsx}                   |     46 +-
 .../src/Sankey/images/example1.png                 |    Bin 0 -> 151732 bytes
 .../src/Sankey/images/example2.png                 |    Bin 0 -> 101327 bytes
 .../src/Sankey/images/thumbnail.png                |    Bin 0 -> 59782 bytes
 .../plugin-chart-echarts/src/Sankey/index.ts       |     66 +
 .../src/Sankey/transformProps.ts                   |    125 +
 .../src/Sankey}/types.ts                           |     26 +-
 .../src/Sunburst/controlPanel.tsx                  |     13 +-
 .../src/Timeseries/transformProps.ts               |      1 -
 .../src/Timeseries/transformers.ts                 |     12 +-
 .../src/Treemap/controlPanel.tsx                   |     13 +-
 .../src/Treemap/transformProps.ts                  |      4 +-
 .../plugins/plugin-chart-echarts/src/index.ts      |      2 +
 .../test/Pie/transformProps.test.ts                |    111 +
 .../test/Timeseries/transformProps.test.ts         |      1 -
 .../plugins/plugin-chart-handlebars/package.json   |      2 +-
 .../src/plugin/controls/metrics.tsx                |      2 +-
 .../plugins/plugin-chart-pivot-table/package.json  |      2 +-
 .../plugins/plugin-chart-table/package.json        |      3 +-
 .../plugin-chart-table/src/DataTable/DataTable.tsx |     20 +-
 .../src/DataTable/components/SelectPageSize.tsx    |      7 +-
 .../src/DataTable/hooks/useSticky.tsx              |      4 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |      7 +
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    378 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |     97 +-
 .../plugin-chart-table/src/controlPanel.tsx        |    224 +-
 .../plugin-chart-table/src/transformProps.ts       |    431 +-
 .../plugins/plugin-chart-table/src/types.ts        |     15 +
 .../plugin-chart-table/test/TableChart.test.tsx    |    110 +
 .../plugins/plugin-chart-table/test/testData.ts    |    128 +
 .../src/chart/WordCloud.tsx                        |      9 +-
 .../plugins/plugin-chart-word-cloud/src/index.ts   |      2 -
 .../src/legacyPlugin/index.ts                      |     43 -
 .../src/legacyPlugin/transformProps.ts             |     84 -
 .../src/plugin/controlPanel.ts                     |     13 +-
 .../plugin-chart-word-cloud/src/plugin/index.ts    |      2 +-
 .../src/plugin/transformProps.ts                   |     55 +-
 .../test/{plugin => }/buildQuery.test.ts           |      4 +-
 .../test/legacyPlugin/transformProps.test.ts       |     74 -
 superset-frontend/spec/helpers/testing-library.tsx |     24 +-
 superset-frontend/src/SqlLab/actions/sqlLab.js     |    157 +-
 .../src/SqlLab/actions/sqlLab.test.js              |    126 +-
 .../components/AceEditorWrapper/useKeywords.ts     |      6 +-
 .../EditorAutoSync/EditorAutoSync.test.tsx         |     87 +-
 .../src/SqlLab/components/EditorAutoSync/index.tsx |     69 +-
 .../src/SqlLab/components/QueryHistory/index.tsx   |      6 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |     78 +
 .../src/SqlLab/components/ResultSet/index.tsx      |     58 +-
 .../components/RunQueryActionButton/index.tsx      |     14 +-
 .../src/SqlLab/components/SaveQuery/index.tsx      |     14 +-
 .../SqlLab/components/ShareSqlLabQuery/index.tsx   |      7 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |      4 +-
 .../SqlLab/components/SqlEditor/SqlEditor.test.tsx |     15 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |    253 +-
 .../SqlEditorLeftBar/SqlEditorLeftBar.test.tsx     |     37 +-
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |     12 +-
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |     17 +-
 .../src/SqlLab/components/TableElement/index.tsx   |      4 +-
 superset-frontend/src/SqlLab/fixtures.ts           |      3 +-
 .../middlewares/persistSqlLabStateEnhancer.js      |     16 +-
 .../src/SqlLab/reducers/getInitialState.test.ts    |     18 +-
 .../src/SqlLab/reducers/getInitialState.ts         |     16 +
 superset-frontend/src/SqlLab/reducers/sqlLab.js    |     12 +
 .../src/SqlLab/reducers/sqlLab.test.js             |     17 +
 superset-frontend/src/SqlLab/types.ts              |      2 +
 superset-frontend/src/assets/images/couchbase.svg  |     19 +
 superset-frontend/src/assets/images/oceanbase.svg  |     67 +
 .../src/assets/stylesheets/less/fonts.less         |      6 +-
 .../src/components/Alert/Alert.stories.tsx         |      3 +-
 .../components/AntdThemeProvider/index.tsx}        |     18 +-
 .../AsyncAceEditor/AsyncAceEditor.stories.tsx      |      6 +-
 .../Tooltip.test.tsx}                              |     50 +-
 .../src/components/AsyncAceEditor/Tooltip.tsx      |     57 +
 .../src/components/AsyncAceEditor/index.tsx        |     74 +-
 .../src/components/Badge/Badge.stories.tsx         |     82 +-
 .../src/components/Badge/Badge.test.tsx            |      9 -
 superset-frontend/src/components/Badge/index.tsx   |     31 +-
 .../src/components/Button/Button.stories.tsx       |      6 +-
 .../components/ButtonGroup/ButtonGroup.stories.tsx |      6 +-
 .../src/components/Card/Card.stories.tsx           |      7 +-
 .../components/Card/Card.test.tsx}                 |     11 +-
 superset-frontend/src/components/Card/index.tsx    |      7 +-
 .../CertifiedBadge/CertifiedBadge.stories.tsx      |      3 +
 superset-frontend/src/components/Chart/Chart.jsx   |      4 +-
 .../Chart/ChartContextMenu/ChartContextMenu.tsx    |     16 +-
 .../src/components/Chart/ChartRenderer.jsx         |      8 +-
 .../Chart/DrillBy/DrillByMenuItems.test.tsx        |     10 +-
 .../components/Chart/DrillBy/DrillByMenuItems.tsx  |    197 +-
 .../components/Chart/DrillBy/DrillByModal.test.tsx |      1 +
 .../src/components/Chart/DrillBy/DrillByModal.tsx  |      3 +
 .../Chart/DrillBy/useResultsTableView.test.ts      |      4 +-
 .../Chart/DrillBy/useResultsTableView.tsx          |      3 +
 .../components/Chart/MenuItemWithTruncation.tsx    |      3 +-
 .../src/components/Checkbox/Checkbox.stories.tsx   |      2 +-
 .../CopyToClipboard/CopyToClipboard.stories.tsx    |      3 +-
 .../DatabaseSelector/DatabaseSelector.test.tsx     |      4 +-
 .../src/components/DatabaseSelector/index.tsx      |      2 +-
 .../src/components/Datasource/CollectionTable.tsx  |      6 +-
 .../src/components/Datasource/DatasourceEditor.jsx |      6 +-
 .../components/DatePicker/DatePicker.stories.tsx   |      4 +-
 .../src/components/Dropdown/Dropdown.stories.tsx   |      3 +-
 .../DropdownButton/DropdownButton.stories.tsx      |      3 +-
 .../DropdownContainer/Overview.stories.tsx         |      1 -
 .../src/components/DynamicEditableTitle/index.tsx  |    267 +-
 .../components/ErrorMessage/BasicErrorAlert.tsx    |      2 +-
 .../components/IconButton/IconButton.stories.tsx   |     12 +-
 .../components/IconTooltip/IconTooltip.stories.tsx |      3 +-
 .../src/components/Icons/Icons.stories.tsx         |      6 +-
 .../components/InfoTooltip/InfoTooltip.stories.tsx |     30 +-
 .../src/components/InfoTooltip/index.tsx           |     15 +-
 .../src/components/ListView/ListView.test.jsx      |     72 +-
 superset-frontend/src/components/ListView/types.ts |      9 +-
 .../src/components/Loading/Loading.stories.tsx     |      3 +-
 .../src/components/MessageToasts/actions.ts        |      4 +-
 .../MetadataBar/MetadataBarOverview.stories.tsx    |    228 +-
 .../src/components/Popover/Popover.stories.tsx     |      6 +-
 .../PopoverDropdown/PopoverDropdown.stories.tsx    |     24 +-
 .../components/ProgressBar/ProgressBar.stories.tsx |     51 +-
 .../src/components/ProgressBar/index.tsx           |     15 +-
 .../src/components/Radio/Radio.stories.tsx         |      2 +-
 .../src/components/Select/Select.test.tsx          |     14 +
 superset-frontend/src/components/Select/Select.tsx |     12 +-
 .../src/components/Switch/Switch.stories.tsx       |      5 +-
 .../src/components/Table/Table.stories.tsx         |     34 +-
 .../src/components/Table/TableOverview.stories.tsx |     25 +-
 .../ActionCell/ActionCell.overview.tsx             |      1 -
 .../ActionCell/ActionCell.stories.tsx              |      6 +-
 .../BooleanCell/BooleanCell.stories.tsx            |      6 +-
 .../ButtonCell/ButtonCell.stories.tsx              |      8 +-
 .../cell-renderers/NullCell/NullCell.stories.tsx   |      6 +-
 .../NumericCell/NumericCell.stories.tsx            |      8 +-
 .../cell-renderers/TimeCell/TimeCell.stories.tsx   |     10 +-
 .../src/components/TableSelector/index.tsx         |      2 +-
 .../src/components/TableView/TableView.stories.tsx |      2 +-
 .../src/components/Tabs/Tabs.stories.tsx           |      2 +-
 .../Tag.stories.tsx}                               |     21 +-
 superset-frontend/src/components/Tags/Tag.tsx      |      3 +-
 .../src/components/Tags/TagsList.stories.tsx       |     13 +-
 .../src/components/Timer/Timer.stories.tsx         |     18 +-
 .../TimezoneSelector.DaylightSavingTime.test.tsx   |     59 +
 .../TimezoneSelector/TimezoneSelector.stories.tsx  |      2 +-
 .../TimezoneSelector/TimezoneSelector.test.tsx     |     28 +-
 .../src/components/Tooltip/Tooltip.stories.tsx     |      6 +-
 .../src/dashboard/actions/dashboardInfo.ts         |     39 +-
 .../src/dashboard/actions/dashboardState.js        |     80 +-
 superset-frontend/src/dashboard/actions/hydrate.js |     11 -
 .../components/ColorSchemeControlWrapper.jsx       |      8 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |     29 +-
 .../DashboardBuilder/DashboardContainer.tsx        |    118 +-
 .../DashboardBuilder/DashboardWrapper.test.tsx     |      4 +-
 .../dashboard/components/DashboardBuilder/state.ts |     14 +-
 .../dashboard/components/FiltersBadge/index.tsx    |      4 +-
 .../HeaderActionsDropdown.test.tsx                 |      7 +-
 .../Header/HeaderActionsDropdown/index.jsx         |     16 +-
 .../src/dashboard/components/Header/index.jsx      |     13 +-
 .../src/dashboard/components/Header/types.ts       |      6 +
 .../PropertiesModal/PropertiesModal.test.jsx       |     41 +-
 .../dashboard/components/PropertiesModal/index.tsx |     36 +-
 .../components/RefreshIntervalModal.test.tsx       |      2 +-
 .../src/dashboard/components/SliceHeader/index.tsx |      2 +
 .../components/SliceHeaderControls/index.tsx       |     15 +
 .../components/SyncDashboardState/index.tsx        |      4 +-
 .../dnd/handleScroll/handleScroll.test.ts          |      3 +-
 .../dashboard/components/gridComponents/Chart.jsx  |     22 +-
 .../components/gridComponents/Chart.test.jsx       |      8 +-
 .../dashboard/components/gridComponents/Tabs.jsx   |      1 +
 .../menu/DownloadMenuItems/DownloadAsPdf.test.tsx  |     66 -
 .../menu/DownloadMenuItems/DownloadAsPdf.tsx       |     55 -
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   |      6 +-
 .../DownloadMenuItems/DownloadScreenshot.test.tsx  |    198 +
 .../menu/DownloadMenuItems/DownloadScreenshot.tsx  |    145 +
 .../components/menu/DownloadMenuItems/index.tsx    |     21 +-
 .../components/menu/DownloadMenuItems/types.ts}    |      7 +-
 .../src/dashboard/components/menu/HoverMenu.tsx    |      2 +-
 .../ScopingModal/ScopingModal.test.tsx             |     34 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |      6 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |      2 +-
 .../FiltersConfigForm/ColumnSelect.tsx             |     48 +-
 .../FilterScope/FilterScope.test.tsx               |      1 +
 .../FiltersConfigForm/FiltersConfigForm.tsx        |     45 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |      1 +
 .../FiltersConfigForm/getControlItemsMap.tsx       |      4 +
 .../FiltersConfigModal/FiltersConfigModal.tsx      |      2 +
 .../nativeFilters/FiltersConfigModal/utils.ts      |      4 +-
 .../components/nativeFilters/utils.test.ts         |      6 +-
 .../src/dashboard/containers/Chart.jsx             |     12 +-
 .../dashboard/containers/DashboardComponent.jsx    |      1 +
 .../src/dashboard/containers/DashboardPage.tsx     |     27 +-
 superset-frontend/src/dashboard/types.ts           |      1 +
 .../util/charts/getFormDataWithExtraFilters.ts     |     16 +-
 .../src/dashboard/util/newComponentFactory.js      |      4 +-
 .../src/dashboard/util/permissionUtils.test.ts     |      6 +-
 .../src/explore/actions/exploreActions.test.js     |      5 +-
 .../components/ControlPanelsContainer.test.tsx     |     56 +
 .../explore/components/ControlPanelsContainer.tsx  |     10 +-
 .../components/DataTablesPane/DataTablesPane.tsx   |      3 +
 .../components/DataTableControls.tsx               |      5 +-
 .../components/ResultsPaneOnDashboard.tsx          |      2 +
 .../DataTablesPane/components/SamplesPane.tsx      |      3 +
 .../components/SingleQueryResultPane.tsx           |      2 +
 .../DataTablesPane/components/useResultsPane.tsx   |      3 +
 .../DataTablesPane/test/DataTablesPane.test.tsx    |     28 +
 .../components/DataTablesPane/test/fixture.tsx     |      3 +
 .../src/explore/components/DataTablesPane/types.ts |      5 +
 .../explore/components/DatasourcePanel/index.tsx   |      3 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |     58 +-
 .../components/ExploreChartHeader/index.jsx        |     38 +-
 .../explore/components/ExploreChartPanel/index.jsx |      2 +
 .../ExploreViewContainer.test.tsx                  |     73 +
 .../components/ExploreViewContainer/index.jsx      |     15 +-
 .../StashFormDataContainer.test.tsx                |     30 +-
 .../components/StashFormDataContainer/index.tsx    |      9 +-
 .../components/controls/CheckboxControl.test.tsx   |      1 -
 .../controls/CollectionControl/index.jsx           |      4 +-
 .../ColorSchemeControl/ColorSchemeControl.test.tsx |     13 +-
 .../ColorSchemeControl/ColorSchemeLabel.tsx        |     12 +-
 .../controls/ColorSchemeControl/index.tsx          |     14 +-
 .../ColumnConfigControl/ColumnConfigControl.tsx    |     13 +-
 .../components/controls/ComparisonRangeLabel.tsx   |     61 +-
 .../ConditionalFormattingControl.tsx               |      3 +
 .../FormattingPopover.tsx                          |      2 +
 .../FormattingPopoverContent.test.tsx              |    121 +
 .../FormattingPopoverContent.tsx                   |     42 +-
 .../controls/ConditionalFormattingControl/types.ts |      2 +
 .../DateFilterControl/components/CustomFrame.tsx   |      3 +-
 .../controls/DateFilterControl/tests/utils.test.ts |    115 +-
 .../DateFilterControl/utils/dateFilterUtils.ts     |      7 +-
 .../controls/DateFilterControl/utils/dateParser.ts |    144 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |      7 +
 .../DndFilterSelect.test.tsx                       |      1 +
 .../controls/FilterControl/AdhocFilter/index.js    |      1 +
 .../AdhocFilterControl/AdhocFilterControl.test.jsx |      1 -
 .../AdhocFilterEditPopover.test.jsx                |      1 -
 .../FilterControl/AdhocFilterEditPopover/index.jsx |      5 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |      3 +-
 .../AdhocFilterEditPopoverSqlTabContent.test.jsx   |     73 -
 .../AdhocFilterEditPopoverSqlTabContent.test.tsx   |     75 +
 .../AdhocFilterEditPopoverSqlTabContent/index.jsx  |     41 +-
 .../AdhocMetricEditPopover.test.jsx                |      1 -
 .../AdhocMetricEditPopover.test.tsx                |      7 +-
 .../MetricControl/AdhocMetricEditPopover/index.jsx |     12 +-
 .../MetricControl/AdhocMetricOption.test.jsx       |      1 -
 .../MetricControl/FilterDefinitionOption.test.jsx  |      1 -
 .../MetricControl/MetricDefinitionOption.test.jsx  |     53 -
 .../MetricControl/MetricDefinitionOption.test.tsx  |     60 +
 .../MetricControl/MetricDefinitionValue.test.jsx   |      1 -
 .../controls/MetricControl/MetricsControl.test.jsx |      1 -
 .../components/controls/SelectControl.test.jsx     |      1 -
 .../components/controls/TextAreaControl.test.jsx   |      1 -
 .../components/controls/TimeOffsetControl.tsx      |    148 +-
 .../components/controls/ViewportControl.test.jsx   |      1 -
 .../useExploreAdditionalActionsMenu/index.jsx      |     30 +-
 superset-frontend/src/explore/constants.ts         |      8 +
 .../controlUtils/getColumnKeywords.test.tsx}       |     25 +-
 .../controlUtils/getColumnKeywords.tsx}            |     68 +-
 .../src/explore/reducers/exploreReducer.js         |     18 +-
 .../src/explore/reducers/exploreReducer.test.js    |     45 +
 .../src/features/alerts/AlertReportModal.test.tsx  |      6 +-
 .../src/features/alerts/AlertReportModal.tsx       |     70 +-
 .../alerts/components/NotificationMethod.test.tsx  |    183 +
 .../alerts/components/NotificationMethod.tsx       |    471 +-
 .../alerts/components/RecipientIcon.test.tsx       |     50 +
 .../features/alerts/components/RecipientIcon.tsx   |     14 +-
 superset-frontend/src/features/alerts/types.ts     |     18 +-
 .../databases/DatabaseModal/ExtraOptions.tsx       |     23 +-
 .../databases/DatabaseModal/index.test.tsx         |      4 +-
 .../DatasetPanel/DatasetPanel.stories.tsx          |      6 +-
 .../src/features/home/RightMenu.test.tsx           |     27 +
 superset-frontend/src/features/home/RightMenu.tsx  |      6 +-
 .../HeaderReportDropdown/index.test.tsx            |      3 +-
 .../reports/ReportModal/ReportModal.test.tsx       |      4 +-
 .../src/features/reports/ReportModal/index.tsx     |     10 +-
 superset-frontend/src/features/reports/types.ts    |      9 +-
 .../features/rls/RowLevelSecurityModal.test.tsx    |     32 +-
 .../src/hooks/apiResources/catalogs.ts             |     54 +-
 .../src/hooks/apiResources/schemas.test.ts         |     30 +-
 .../src/hooks/apiResources/schemas.ts              |     75 +-
 .../src/hooks/apiResources/sqlEditorTabs.test.ts   |     46 +-
 .../src/hooks/apiResources/sqlEditorTabs.ts        |     20 +-
 superset-frontend/src/hooks/apiResources/sqlLab.ts |      4 +-
 superset-frontend/src/hooks/apiResources/tables.ts |      8 +-
 .../src/hooks/strictBroadcastChannel.ts            |     63 +
 .../src/hooks/useDebounceValue.test.ts             |      1 +
 superset-frontend/src/hooks/useTabId.ts            |     28 +-
 superset-frontend/src/logger/LogUtils.ts           |     16 +
 superset-frontend/src/logger/useLogAction.test.ts  |     55 +
 .../dom-to-pdf.d.ts => logger/useLogAction.ts}     |     32 +-
 .../src/middleware/loggerMiddleware.js             |      4 +-
 superset-frontend/src/pages/Chart/index.tsx        |     14 +-
 .../src/pages/ChartList/ChartList.test.jsx         |      4 +-
 superset-frontend/src/pages/ChartList/index.tsx    |      2 +-
 .../src/pages/DashboardList/DashboardList.test.jsx |      4 +-
 .../src/pages/DashboardList/index.tsx              |      2 +-
 superset-frontend/src/pages/Home/Home.test.tsx     |    237 +-
 superset-frontend/src/pages/Home/index.tsx         |      2 +-
 .../pages/SavedQueryList/SavedQueryList.test.jsx   |      8 +-
 .../src/pages/SavedQueryList/index.tsx             |      2 +-
 superset-frontend/src/reduxUtils.ts                |      8 +-
 superset-frontend/src/theme/index.ts               |     78 +
 superset-frontend/src/theme/light.ts               |    119 +
 .../src/types/DashboardContextForExplore.ts        |      4 +-
 superset-frontend/src/utils/colorScheme.ts         |    140 +
 superset-frontend/src/utils/downloadAsPdf.ts       |     74 -
 superset-frontend/src/utils/export.ts              |      4 +-
 superset-frontend/src/utils/reducerUtils.js        |      6 +-
 superset-frontend/src/views/CRUD/utils.tsx         |     60 +-
 .../src/views/RootContextProviders.tsx             |     50 +-
 superset-frontend/src/views/store.ts               |      4 +-
 .../src/visualizations/presets/MainPreset.js       |      2 +
 superset-frontend/webpack.config.js                |     12 +-
 superset-websocket/README.md                       |     22 +-
 superset-websocket/package-lock.json               |   7964 +-
 superset-websocket/package.json                    |      7 +-
 superset-websocket/src/index.ts                    |      3 +
 superset-websocket/utils/README.md                 |      6 +-
 superset-websocket/utils/client-ws-app/README.md   |      8 +-
 superset/app.py                                    |      4 +-
 superset/cachekeys/api.py                          |      8 +-
 superset/charts/api.py                             |      7 +-
 superset/charts/data/api.py                        |     10 +-
 superset/charts/filters.py                         |     19 +-
 superset/cli/examples.py                           |      2 +
 superset/cli/main.py                               |      2 +
 superset/cli/reset.py                              |     74 +
 superset/cli/test.py                               |     11 +-
 superset/cli/update.py                             |      3 +
 superset/cli/viz_migrations.py                     |    151 +-
 .../commands/annotation_layer/annotation/create.py |     10 +-
 .../commands/annotation_layer/annotation/delete.py |     11 +-
 .../commands/annotation_layer/annotation/update.py |     12 +-
 superset/commands/annotation_layer/create.py       |     10 +-
 superset/commands/annotation_layer/delete.py       |     11 +-
 superset/commands/annotation_layer/update.py       |     12 +-
 superset/commands/chart/create.py                  |     14 +-
 superset/commands/chart/delete.py                  |     11 +-
 superset/commands/chart/importers/dispatcher.py    |      8 +-
 superset/commands/chart/importers/v1/utils.py      |      2 +-
 superset/commands/chart/update.py                  |     27 +-
 superset/commands/css/delete.py                    |     11 +-
 superset/commands/dashboard/create.py              |     13 +-
 superset/commands/dashboard/delete.py              |     11 +-
 .../commands/dashboard/importers/dispatcher.py     |      8 +-
 superset/commands/dashboard/importers/v0.py        |      3 +-
 superset/commands/dashboard/importers/v1/utils.py  |      2 +-
 superset/commands/dashboard/permalink/create.py    |     56 +-
 superset/commands/dashboard/permalink/get.py       |      9 +-
 superset/commands/dashboard/update.py              |     33 +-
 superset/commands/database/create.py               |     59 +-
 superset/commands/database/delete.py               |     11 +-
 superset/commands/database/importers/dispatcher.py |      8 +-
 superset/commands/database/ssh_tunnel/create.py    |     22 +-
 superset/commands/database/ssh_tunnel/delete.py    |     10 +-
 superset/commands/database/ssh_tunnel/update.py    |     29 +-
 superset/commands/database/tables.py               |      4 +-
 superset/commands/database/test_connection.py      |      5 +-
 superset/commands/database/update.py               |     32 +-
 superset/commands/database/uploaders/base.py       |     10 +-
 superset/commands/dataset/columns/delete.py        |     11 +-
 superset/commands/dataset/create.py                |     19 +-
 superset/commands/dataset/delete.py                |     11 +-
 superset/commands/dataset/duplicate.py             |    115 +-
 superset/commands/dataset/importers/dispatcher.py  |      8 +-
 superset/commands/dataset/importers/v0.py          |      4 +-
 superset/commands/dataset/importers/v1/utils.py    |      2 +-
 superset/commands/dataset/metrics/delete.py        |     11 +-
 superset/commands/dataset/refresh.py               |     14 +-
 superset/commands/dataset/update.py                |     27 +-
 .../commands/distributed_lock/__init__.py          |      0
 .../create.py => distributed_lock/base.py}         |     29 +-
 superset/commands/distributed_lock/create.py       |     64 +
 .../delete.py                                      |     39 +-
 .../user.py => commands/distributed_lock/get.py}   |     38 +-
 superset/commands/exceptions.py                    |      2 +-
 superset/commands/explore/permalink/create.py      |     64 +-
 superset/commands/explore/permalink/get.py         |      8 +-
 superset/commands/importers/v1/__init__.py         |     10 +-
 superset/commands/importers/v1/assets.py           |     18 +-
 superset/commands/importers/v1/examples.py         |      5 +-
 superset/commands/importers/v1/utils.py            |      2 +-
 superset/commands/key_value/create.py              |    103 -
 superset/commands/key_value/delete.py              |     64 -
 superset/commands/key_value/delete_expired.py      |     65 -
 superset/commands/key_value/get.py                 |     72 -
 superset/commands/key_value/update.py              |     90 -
 superset/commands/key_value/upsert.py              |    100 -
 superset/commands/query/delete.py                  |     11 +-
 superset/commands/query/importers/dispatcher.py    |      4 +-
 superset/commands/report/base.py                   |      2 +
 superset/commands/report/create.py                 |     10 +-
 superset/commands/report/delete.py                 |     11 +-
 superset/commands/report/execute.py                |     71 +-
 superset/commands/report/log_prune.py              |     14 +-
 superset/commands/report/update.py                 |     13 +-
 superset/commands/security/create.py               |      9 +-
 superset/commands/security/delete.py               |     10 +-
 superset/commands/security/reset.py                |     94 +
 superset/commands/security/update.py               |     12 +-
 superset/commands/sql_lab/execute.py               |     30 +-
 superset/commands/tag/create.py                    |     54 +-
 superset/commands/tag/delete.py                    |     27 +-
 superset/commands/tag/update.py                    |     20 +-
 superset/commands/temporary_cache/create.py        |     11 +-
 superset/commands/temporary_cache/delete.py        |     11 +-
 superset/commands/temporary_cache/update.py        |     11 +-
 superset/common/query_context_processor.py         |      5 +-
 superset/common/query_object.py                    |      2 +-
 superset/config.py                                 |     30 +-
 superset/connectors/sqla/models.py                 |     11 +-
 superset/constants.py                              |      2 +
 superset/css_templates/api.py                      |     14 +-
 superset/daos/base.py                              |     48 +-
 superset/daos/chart.py                             |      2 -
 superset/daos/dashboard.py                         |     17 +-
 superset/daos/database.py                          |      6 +-
 superset/daos/dataset.py                           |     17 +-
 superset/daos/exceptions.py                        |     24 -
 superset/daos/key_value.py                         |    145 +
 superset/daos/query.py                             |      2 -
 superset/daos/report.py                            |     40 +-
 superset/daos/tag.py                               |     66 +-
 superset/daos/user.py                              |      1 -
 superset/dashboards/api.py                         |    263 +-
 superset/dashboards/filters.py                     |     19 +-
 superset/dashboards/schemas.py                     |     65 +-
 superset/databases/api.py                          |     16 +-
 superset/databases/utils.py                        |      4 +-
 superset/datasets/api.py                           |      2 +
 superset/datasets/schemas.py                       |      1 +
 superset/db_engine_specs/README.md                 |      7 +-
 superset/db_engine_specs/base.py                   |     37 +-
 superset/db_engine_specs/couchbasedb.py            |    256 +
 superset/db_engine_specs/gsheets.py                |      2 +-
 superset/db_engine_specs/hive.py                   |      8 +-
 superset/db_engine_specs/impala.py                 |      4 +-
 superset/db_engine_specs/oceanbase.py              |    183 +
 superset/db_engine_specs/ocient.py                 |      4 +-
 superset/db_engine_specs/pinot.py                  |      4 -
 superset/db_engine_specs/presto.py                 |    410 +-
 superset/db_engine_specs/snowflake.py              |      2 +-
 superset/db_engine_specs/trino.py                  |    109 +-
 .../lock.py => distributed_lock/__init__.py}       |     72 +-
 .../distributed_lock/types.py                      |      5 +
 .../exceptions.py => distributed_lock/utils.py}    |     41 +-
 superset/examples/bart_lines.py                    |      1 -
 superset/examples/birth_names.py                   |      3 -
 .../configs/charts/Featured Charts/Sankey.yaml}    |     25 +
 .../configs/dashboards/Featured_Charts.yaml        |     37 +-
 superset/examples/country_map.py                   |      1 -
 superset/examples/css_templates.py                 |      2 -
 superset/examples/deck.py                          |      1 -
 superset/examples/energy.py                        |      3 -
 superset/examples/flights.py                       |      1 -
 superset/examples/helpers.py                       |      3 -
 superset/examples/long_lat.py                      |      1 -
 superset/examples/misc_dashboard.py                |      1 -
 superset/examples/multiformat_time_series.py       |      1 -
 superset/examples/paris.py                         |      1 -
 superset/examples/random_time_series.py            |      2 -
 superset/examples/sf_population_polygons.py        |      1 -
 superset/examples/supported_charts_dashboard.py    |      3 -
 superset/examples/tabbed_dashboard.py              |      3 -
 superset/examples/world_bank.py                    |      6 +-
 superset/exceptions.py                             |      6 +
 superset/extensions/metastore_cache.py             |     44 +-
 superset/extensions/pylint.py                      |     17 +
 superset/initialization/__init__.py                |      7 +-
 superset/key_value/models.py                       |      5 +
 superset/key_value/shared_entries.py               |     18 +-
 superset/key_value/types.py                        |      9 +-
 superset/key_value/utils.py                        |      4 +-
 superset/migrations/shared/catalogs.py             |    122 +-
 superset/migrations/shared/migrate_viz/base.py     |      2 -
 .../migrations/shared/migrate_viz/processors.py    |     12 +
 ...1c4c6_migrate_num_period_compare_and_period_.py |      4 +-
 ...3a3a8ff221_migrate_filter_sets_to_new_format.py |      8 +-
 ...ed7ec95_migrate_native_filters_to_new_schema.py |      8 +-
 ...15da_migrate_pivot_table_v2_heatmaps_to_new_.py |      4 +-
 ...5b9441_rename_big_viz_total_form_data_fields.py |      8 +-
 ...d1d2_move_pivot_table_v2_legacy_order_by_to_.py |      8 +-
 ...-41_4ea966691069_cross_filter_global_scoping.py |      8 +-
 ...d83218_migrate_can_view_and_drill_permission.py |      2 +-
 ...8_15-43_5ad7321c2169_mig_new_csv_upload_perm.py |      2 +-
 ...14-04_d60591c5515f_mig_new_excel_upload_perm.py |      2 +-
 ...36_4a33124c18ad_mig_new_columnar_upload_perm.py |      2 +-
 ...9123a_update_charts_with_old_time_comparison.py |      4 +-
 superset/models/core.py                            |     14 +-
 superset/models/dashboard.py                       |     56 +-
 superset/models/helpers.py                         |     21 +-
 superset/models/slice.py                           |      4 +-
 superset/models/sql_lab.py                         |      4 +-
 superset/queries/api.py                            |      6 +-
 superset/queries/saved_queries/api.py              |     23 +-
 superset/queries/saved_queries/filters.py          |     19 +-
 superset/reports/api.py                            |     73 +-
 superset/reports/models.py                         |      1 +
 superset/reports/notifications/__init__.py         |      1 +
 superset/reports/notifications/email.py            |     17 +-
 superset/reports/notifications/exceptions.py       |     11 +
 superset/reports/notifications/slack.py            |    218 +-
 superset/reports/notifications/slack_mixin.py      |    124 +
 superset/reports/notifications/slackv2.py          |    130 +
 superset/reports/schemas.py                        |     13 +
 superset/row_level_security/api.py                 |     17 +-
 superset/security/manager.py                       |     99 +-
 superset/sql_lab.py                                |     39 +-
 superset/sql_parse.py                              |      1 +
 superset/sql_validators/presto_db.py               |      2 +-
 superset/sqllab/query_render.py                    |      1 -
 superset/sqllab/sql_json_executer.py               |      7 +-
 superset/sqllab/sqllab_execution_context.py        |      4 +-
 superset/tags/filters.py                           |     54 +
 superset/tags/models.py                            |      1 +
 superset/tasks/async_queries.py                    |     18 +-
 superset/tasks/celery_app.py                       |      2 +-
 superset/tasks/scheduler.py                        |      2 +-
 superset/tasks/thumbnails.py                       |     39 +
 .../form_view/database_schemas_selector.html       |      2 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |   6671 +-
 superset/translations/de/LC_MESSAGES/messages.po   |   6702 +-
 superset/translations/en/LC_MESSAGES/messages.po   |   6670 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   6698 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |   6705 +-
 superset/translations/it/LC_MESSAGES/messages.po   |   6695 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |   6741 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |   6695 +-
 superset/translations/messages.pot                 |   6669 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |   6702 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |   6696 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |   6702 +-
 superset/translations/requirements.txt             |      1 +
 superset/translations/ru/LC_MESSAGES/messages.po   |   7204 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |   6676 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |   6700 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |   6686 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |   6702 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |   6696 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |   6696 +-
 superset/utils/core.py                             |      5 +-
 superset/utils/csv.py                              |      2 +-
 superset/utils/database.py                         |      5 +-
 superset/utils/decorators.py                       |     67 +-
 superset/utils/json.py                             |      6 +-
 superset/utils/log.py                              |      2 +-
 superset/utils/logging_configurator.py             |     12 +-
 superset/utils/oauth2.py                           |      2 +-
 superset/utils/slack.py                            |     89 +
 superset/utils/webdriver.py                        |     24 +-
 superset/views/api.py                              |      3 +-
 superset/views/base.py                             |    196 +-
 superset/views/base_api.py                         |     29 +-
 superset/views/core.py                             |     16 +-
 superset/views/dashboard/views.py                  |      2 +-
 superset/views/datasource/views.py                 |      4 +-
 superset/views/error_handling.py                   |    222 +
 superset/views/key_value.py                        |      2 +-
 superset/views/sql_lab/views.py                    |      2 +-
 tests/integration_tests/base_tests.py              |     19 +-
 tests/integration_tests/celery_tests.py            |     29 +-
 tests/integration_tests/charts/api_tests.py        |    154 +-
 tests/integration_tests/charts/data/api_tests.py   |      3 +
 tests/integration_tests/conftest.py                |     85 +-
 tests/integration_tests/core_tests.py              |      6 +-
 tests/integration_tests/dashboard_tests.py         |      6 +-
 tests/integration_tests/dashboards/api_tests.py    |    486 +-
 .../integration_tests/dashboards/commands_tests.py |      1 -
 .../dashboards/superset_factory_util.py            |     32 +-
 tests/integration_tests/databases/api_tests.py     |      7 -
 tests/integration_tests/datasets/api_tests.py      |     17 +-
 tests/integration_tests/datasource/api_tests.py    |      2 +-
 tests/integration_tests/datasource_tests.py        |     10 +-
 .../db_engine_specs/presto_tests.py                |     11 +-
 .../db_engine_specs/trino_tests.py                 |    115 +
 tests/integration_tests/embedded/api_tests.py      |      1 +
 tests/integration_tests/embedded/dao_tests.py      |      6 +-
 tests/integration_tests/embedded/test_view.py      |      2 +
 .../explore/permalink/commands_tests.py            |      9 +-
 .../extensions/metastore_cache_test.py             |     26 +-
 tests/integration_tests/fixtures/importexport.py   |      1 +
 tests/integration_tests/fixtures/tags.py           |     35 +
 .../fixtures/unicode_dashboard.py                  |      5 +-
 .../fixtures/world_bank_dashboard.py               |     15 +-
 tests/integration_tests/key_value/__init__.py      |     16 -
 .../key_value/commands/create_test.py              |     96 -
 .../key_value/commands/delete_test.py              |     83 -
 .../key_value/commands/fixtures.py                 |     69 -
 .../key_value/commands/get_test.py                 |    103 -
 .../key_value/commands/update_test.py              |     97 -
 .../key_value/commands/upsert_test.py              |    101 -
 tests/integration_tests/model_tests.py             |     23 +
 .../queries/saved_queries/api_tests.py             |    121 +
 tests/integration_tests/query_context_tests.py     |     31 +
 tests/integration_tests/reports/commands_tests.py  |    335 +-
 tests/integration_tests/reports/utils.py           |      6 +-
 .../security/row_level_security_tests.py           |      2 -
 tests/integration_tests/sqla_models_tests.py       |      5 +-
 tests/integration_tests/sqllab_tests.py            |      9 +-
 tests/integration_tests/superset_test_config.py    |     10 +-
 .../superset_test_config_thumbnails.py             |      7 +-
 tests/integration_tests/tags/dao_tests.py          |      3 +-
 tests/unit_tests/commands/databases/create_test.py |      2 -
 tests/unit_tests/commands/databases/update_test.py |      4 -
 tests/unit_tests/commands/report/base_test.py      |     46 +-
 tests/unit_tests/dao/key_value_test.py             |    395 +
 tests/unit_tests/dao/tag_test.py                   |      7 -
 tests/unit_tests/dao/user_test.py                  |      1 -
 tests/unit_tests/databases/api_test.py             |      2 +-
 .../databases/ssh_tunnel/commands/create_test.py   |      2 +-
 tests/unit_tests/databases/ssh_tunnel/dao_tests.py |      1 -
 tests/unit_tests/db_engine_specs/test_base.py      |     23 +
 tests/unit_tests/db_engine_specs/test_couchbase.py |     93 +
 tests/unit_tests/db_engine_specs/test_oceanbase.py |     59 +
 tests/unit_tests/db_engine_specs/test_trino.py     |     63 +-
 .../unit_tests/distributed_lock/__init__.py        |      0
 .../distributed_lock/distributed_lock_tests.py     |    101 +
 tests/unit_tests/fixtures/common.py                |     26 +-
 .../unit_tests/migrations/shared/catalogs_test.py  |    125 +
 tests/unit_tests/models/core_test.py               |     20 +
 tests/unit_tests/notifications/__init__.py         |     16 -
 tests/unit_tests/notifications/slack_tests.py      |     88 -
 .../{ => reports}/notifications/email_tests.py     |      0
 .../reports/notifications/slack_tests.py           |    360 +-
 tests/unit_tests/security/manager_test.py          |    229 +-
 tests/unit_tests/sql_lab_execution_context.py      |     96 +
 tests/unit_tests/sql_lab_test.py                   |      4 +-
 tests/unit_tests/tags/filters_test.py              |     85 +
 .../utils/csv_tests.py                             |     44 +-
 tests/unit_tests/utils/lock_tests.py               |     79 -
 tests/unit_tests/utils/slack_test.py               |    193 +
 1018 files changed, 106180 insertions(+), 223658 deletions(-)
 delete mode 100644 .github/workflows/update-monorepo-lockfiles.yml
 create mode 100644 CHANGELOG/4.0.2.md
 create mode 100644 docs/docs/installation/architecture.mdx
 create mode 100644 docs/src/intro_header.txt
 create mode 100644 docs/static/img/databases/couchbase.svg
 create mode 100644 docs/static/img/databases/oceanbase.svg
 copy superset-frontend/{plugins/plugin-chart-word-cloud/src/chart/Encoder.ts => packages/generator-superset/.eslintrc} (90%)
 copy superset-frontend/{plugins/plugin-chart-word-cloud/src/legacyPlugin/types.ts => packages/superset-ui-chart-controls/src/components/Dropdown.tsx} (73%)
 copy superset-frontend/{plugins/plugin-chart-word-cloud/src/chart/Encoder.ts => packages/superset-ui-chart-controls/src/components/Menu.tsx} (90%)
 rename superset-frontend/packages/superset-ui-core/src/color/{SharedLabelColorSingleton.ts => LabelsColorMapSingleton.ts} (52%)
 copy superset-frontend/{src/explore/components/controls/DateFilterControl/utils/dateParser.ts => packages/superset-ui-core/src/time-comparison/customTimeRangeDecode.ts} (65%)
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/LabelsColorMapSingleton.test.ts
 delete mode 100644 superset-frontend/packages/superset-ui-core/test/color/SharedLabelColorSingleton.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-comparison/computeCustomDateTime.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-comparison/customTimeRangeDecode.test.ts
 rename superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot/{BoxPolot.stories.tsx => BoxPlot.stories.tsx} (100%)
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/hungary.geojson
 copy superset-frontend/{src/types/dom-to-pdf.d.ts => plugins/plugin-chart-echarts/src/Sankey/Sankey.tsx} (70%)
 copy superset-frontend/{src/types/dom-to-pdf.d.ts => plugins/plugin-chart-echarts/src/Sankey/buildQuery.ts} (64%)
 copy superset-frontend/plugins/{legacy-plugin-chart-sankey/src/controlPanel.ts => plugin-chart-echarts/src/Sankey/controlPanel.tsx} (63%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/images/example1.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/images/example2.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/transformProps.ts
 rename superset-frontend/plugins/{plugin-chart-word-cloud/src/legacyPlugin => plugin-chart-echarts/src/Sankey}/types.ts (63%)
 delete mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/legacyPlugin/index.ts
 delete mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/legacyPlugin/transformProps.ts
 rename superset-frontend/plugins/plugin-chart-word-cloud/test/{plugin => }/buildQuery.test.ts (92%)
 delete mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/test/legacyPlugin/transformProps.test.ts
 create mode 100644 superset-frontend/src/assets/images/couchbase.svg
 create mode 100644 superset-frontend/src/assets/images/oceanbase.svg
 copy superset-frontend/{packages/superset-ui-core/src/hooks/useComponentDidUpdate/useComponentDidUpdate.ts => src/components/AntdThemeProvider/index.tsx} (71%)
 copy superset-frontend/src/components/{Badge/Badge.test.tsx => AsyncAceEditor/Tooltip.test.tsx} (53%)
 create mode 100644 superset-frontend/src/components/AsyncAceEditor/Tooltip.tsx
 copy superset-frontend/{packages/generator-superset/jest.config.js => src/components/Card/Card.test.tsx} (80%)
 copy superset-frontend/src/components/{CertifiedBadge/CertifiedBadge.stories.tsx => Tags/Tag.stories.tsx} (70%)
 create mode 100644 superset-frontend/src/components/TimezoneSelector/TimezoneSelector.DaylightSavingTime.test.tsx
 delete mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.test.tsx
 delete mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.tsx
 create mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadScreenshot.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadScreenshot.tsx
 rename superset-frontend/{plugins/plugin-chart-word-cloud/src/chart/Encoder.ts => src/dashboard/components/menu/DownloadMenuItems/types.ts} (91%)
 create mode 100644 superset-frontend/src/explore/components/controls/ConditionalFormattingControl/FormattingPopoverContent.test.tsx
 delete mode 100644 superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSqlTabContent/AdhocFilterEditPopoverSqlTabContent.test.jsx
 create mode 100644 superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSqlTabContent/AdhocFilterEditPopoverSqlTabContent.test.tsx
 delete mode 100644 superset-frontend/src/explore/components/controls/MetricControl/MetricDefinitionOption.test.jsx
 create mode 100644 superset-frontend/src/explore/components/controls/MetricControl/MetricDefinitionOption.test.tsx
 rename superset-frontend/{plugins/plugin-chart-word-cloud/test/index.test.ts => src/explore/controlUtils/getColumnKeywords.test.tsx} (61%)
 copy superset-frontend/src/{components/Tabs/Tabs.stories.tsx => explore/controlUtils/getColumnKeywords.tsx} (50%)
 create mode 100644 superset-frontend/src/explore/reducers/exploreReducer.test.js
 create mode 100644 superset-frontend/src/features/alerts/components/NotificationMethod.test.tsx
 create mode 100644 superset-frontend/src/features/alerts/components/RecipientIcon.test.tsx
 create mode 100644 superset-frontend/src/hooks/strictBroadcastChannel.ts
 create mode 100644 superset-frontend/src/logger/useLogAction.test.ts
 rename superset-frontend/src/{types/dom-to-pdf.d.ts => logger/useLogAction.ts} (60%)
 create mode 100644 superset-frontend/src/theme/index.ts
 create mode 100644 superset-frontend/src/theme/light.ts
 create mode 100644 superset-frontend/src/utils/colorScheme.ts
 delete mode 100644 superset-frontend/src/utils/downloadAsPdf.ts
 create mode 100644 superset/cli/reset.py
 copy docs/static/.nojekyll => superset/commands/distributed_lock/__init__.py (100%)
 copy superset/commands/{temporary_cache/create.py => distributed_lock/base.py} (56%)
 create mode 100644 superset/commands/distributed_lock/create.py
 copy superset/commands/{temporary_cache => distributed_lock}/delete.py (52%)
 copy superset/{daos/user.py => commands/distributed_lock/get.py} (55%)
 delete mode 100644 superset/commands/key_value/create.py
 delete mode 100644 superset/commands/key_value/delete.py
 delete mode 100644 superset/commands/key_value/delete_expired.py
 delete mode 100644 superset/commands/key_value/get.py
 delete mode 100644 superset/commands/key_value/update.py
 delete mode 100644 superset/commands/key_value/upsert.py
 create mode 100644 superset/commands/security/reset.py
 create mode 100644 superset/daos/key_value.py
 create mode 100644 superset/db_engine_specs/couchbasedb.py
 create mode 100644 superset/db_engine_specs/oceanbase.py
 rename superset/{utils/lock.py => distributed_lock/__init__.py} (53%)
 rename tests/integration_tests/key_value/commands/__init__.py => superset/distributed_lock/types.py (91%)
 copy superset/{reports/notifications/exceptions.py => distributed_lock/utils.py} (53%)
 rename superset/{commands/key_value/__init__.py => examples/configs/charts/Featured Charts/Sankey.yaml} (57%)
 create mode 100644 superset/reports/notifications/slack_mixin.py
 create mode 100644 superset/reports/notifications/slackv2.py
 mode change 100644 => 100755 superset/translations/ja/LC_MESSAGES/messages.po
 create mode 100644 superset/views/error_handling.py
 create mode 100644 tests/integration_tests/db_engine_specs/trino_tests.py
 delete mode 100644 tests/integration_tests/key_value/__init__.py
 delete mode 100644 tests/integration_tests/key_value/commands/create_test.py
 delete mode 100644 tests/integration_tests/key_value/commands/delete_test.py
 delete mode 100644 tests/integration_tests/key_value/commands/fixtures.py
 delete mode 100644 tests/integration_tests/key_value/commands/get_test.py
 delete mode 100644 tests/integration_tests/key_value/commands/update_test.py
 delete mode 100644 tests/integration_tests/key_value/commands/upsert_test.py
 create mode 100644 tests/unit_tests/dao/key_value_test.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_couchbase.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_oceanbase.py
 copy docs/static/.nojekyll => tests/unit_tests/distributed_lock/__init__.py (100%)
 create mode 100644 tests/unit_tests/distributed_lock/distributed_lock_tests.py
 delete mode 100644 tests/unit_tests/notifications/__init__.py
 delete mode 100644 tests/unit_tests/notifications/slack_tests.py
 rename tests/unit_tests/{ => reports}/notifications/email_tests.py (100%)
 create mode 100644 tests/unit_tests/sql_lab_execution_context.py
 create mode 100644 tests/unit_tests/tags/filters_test.py
 rename tests/{integration_tests => unit_tests}/utils/csv_tests.py (77%)
 delete mode 100644 tests/unit_tests/utils/lock_tests.py
 create mode 100644 tests/unit_tests/utils/slack_test.py