Joe Li
af800ba84a
refactor(reports): address review feedback on Slack v1 deprecation
...
Code-review changes:
- Replace module-level `_v1_*_warning_emitted` booleans with `functools.cache`-
decorated `_emit_v1_*_deprecation` helpers. Bare module globals had a
read-then-write race under multi-threaded WSGI workers; functools.cache is
thread-safe under the GIL and produces actually-once-per-process semantics
without the noqa: PLW0603 escape hatch.
- Mention `groups:read` (in addition to `channels:read`) wherever the scope
requirement appears: deprecation message constant, config.py comment, the
scope-missing logger.warning, UPDATING.md, and (auto-synced) feature-flags.json.
The v2 channel resolver queries both public_channel and private_channel types,
so granting only `channels:read` silently breaks private-channel reports.
- Add `test_propagates_non_slack_api_errors_from_probe` — locks in that any
exception other than SlackApiError (network, transport) propagates out of
should_use_v2_api rather than masquerading as a missing-scope warning.
- Drop a tautological `assert_not_called()` on `get_channels_with_search` in
the auto-upgrade round-trip test. SlackV2Notification.send() never calls that
helper in any path, so the assertion was true by construction rather than
by the test exercising a real fast path.
- Pin assertions on the deprecation-warning *message* to the exported
`_SLACK_V1_DEPRECATION_MESSAGE` constant instead of substring fragments.
- Update the test autouse fixture to clear the new functools.cache caches
rather than reset the now-removed module globals.
Three architectural concerns from review (auto-upgrade transaction race,
concurrent worker upgrade race, end-of-deprecation cleanup migration) are
pre-existing on the upgrade path and tracked as separate follow-up tasks
rather than expanded into this PR.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-06-25 17:54:26 +00:00
Joe Li
3a46222f24
chore(reports): deprecate Slack v1, default ALERT_REPORT_SLACK_V2 to True, harden v2 tests
...
Flips the ALERT_REPORT_SLACK_V2 feature flag default to True so the v2
auto-upgrade path runs out of the box, and adds one-shot DeprecationWarning
+ logger.warning emissions when v1 still runs (flag explicitly off, or bot
missing the channels:read scope). Slack retired the legacy files.upload
endpoint in 2025, so v1 file uploads are already broken at the API level —
only text-only chat_postMessage sends still succeed via the legacy path.
The bulk of the change is bulletproof unit-test coverage for SlackV2Notification
ahead of v1 removal in the next major:
- files_upload_v2 invocation with PNG (single + multiple), CSV, and PDF,
asserting channel, file, title, filename, and initial_comment kwargs
- multi-channel fan-out (3 channels x 2 files = 6 uploads) and text-only
multi-channel chat_postMessage
- inline-file precedence (CSV beats screenshots beats PDF)
- parametrized exception mapping across 7 slack_sdk error types -> the
4 NotificationException subclasses
- statsd .ok and .warning gauge emission via the @statsd_gauge decorator
- execution_id propagation from g.logs_context to the success log, plus
the falsy g.logs_context fallback path
- end-to-end auto-upgrade round-trip: v1 SLACK recipient with channel
names raises SlackV1NotificationError -> update_report_schedule_slack_v2
rewrites the row to channel IDs -> SlackV2Notification fast-paths the
next send with no further channel resolution
- should_use_v2_api() warning behavior: deprecation warning emitted exactly
once across multiple calls in both the flag-off and scope-missing paths,
with the scope-missing logger.warning continuing to fire each call so
operators see the actionable scope hint in their report-execution logs
Also locks in current behavior of the @backoff.on_exception(SlackApiError, ...)
decorator on send(): because send() catches every SlackApiError internally
and re-raises as NotificationUnprocessableException, backoff never sees the
target exception type and no retries actually fire. Test asserts call_count
== 1 with a docstring marking this as a known design issue to address
separately.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-06-25 17:54:26 +00:00
Michael S. Molina
a90c8e0347
feat(extensions): add Chat contribution type (SIP-214) ( #41205 )
...
Co-authored-by: Enzo Martellucci <52219496+EnxDev@users.noreply.github.com >
Co-authored-by: Enzo Martellucci <enzomartellucci@gmail.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 08:57:30 -03:00
dependabot[bot]
b4f43bd7e0
chore(deps): bump baseline-browser-mapping from 2.10.37 to 2.10.38 in /docs ( #41405 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-25 02:09:45 -07:00
Evan Rusackas
076d8c1508
docs(security): add a secrets register and rotation schedule ( #41308 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 16:15:17 -07:00
Evan Rusackas
1b71c105b7
docs(meta-db): warn that SUPERSET_META_DB_LIMIT truncates tables before joins ( #41302 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 14:29:44 -04:00
dependabot[bot]
da893462b8
chore(deps-dev): bump typescript-eslint from 8.61.0 to 8.61.1 in /docs ( #41319 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-23 02:49:58 -07:00
Evan Rusackas
eac5bd23bd
ci(docs): fix Netlify docs preview never skipping on non-docs PRs ( #41070 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-22 11:33:14 -07:00
dependabot[bot]
4b87e03e7c
chore(deps): bump http-proxy-middleware from 2.0.9 to 2.0.10 in /docs ( #41287 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-22 11:05:35 -07:00
dependabot[bot]
f5dd28714d
chore(deps): bump baseline-browser-mapping from 2.10.36 to 2.10.37 in /docs ( #41270 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-22 00:36:49 -07:00
Evan Rusackas
f1504611fd
docs(config): document customizing the landing page via FAB_INDEX_VIEW ( #41222 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 13:01:47 -07:00
dependabot[bot]
e1be76e5fa
chore(deps): bump baseline-browser-mapping from 2.10.35 to 2.10.36 in /docs ( #41227 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 02:28:26 -07:00
dependabot[bot]
55eb5699d5
chore(deps): bump caniuse-lite from 1.0.30001797 to 1.0.30001799 in /docs ( #41225 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 01:37:52 -07:00
dependabot[bot]
4d5c171e9e
chore(deps): bump antd from 6.4.3 to 6.4.4 in /docs ( #41228 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 01:37:46 -07:00
Evan Rusackas
69c8f37c67
docs(installation): fix PyPI install Python version and OS dependencies ( #41178 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 11:03:50 -07:00
dependabot[bot]
3e811087de
chore(deps): bump dompurify from 3.4.2 to 3.4.11 in /docs ( #41203 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-18 08:22:39 -07:00
dependabot[bot]
b72a0a53c0
chore(deps): bump webpack-dev-server from 5.2.4 to 5.2.5 in /docs ( #41169 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-17 12:55:40 -07:00
dependabot[bot]
7f7f87e823
chore(deps-dev): bump prettier from 3.8.3 to 3.8.4 in /docs ( #41140 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-17 09:49:28 -07:00
dependabot[bot]
874ac3dc01
chore(deps): bump @swc/core from 1.15.40 to 1.15.41 in /docs ( #41143 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-17 09:35:46 -07:00
dependabot[bot]
a7c49ac9f2
chore(deps): bump baseline-browser-mapping from 2.10.34 to 2.10.35 in /docs ( #41144 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-17 09:24:51 -07:00
Evan Rusackas
b0c5f99007
fix(oracle): replace deprecated cx-Oracle extra with oracledb ( #41122 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-16 14:32:11 -07:00
dependabot[bot]
81c1181519
chore(deps-dev): bump typescript-eslint from 8.60.1 to 8.61.0 in /docs ( #41092 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 10:56:44 -07:00
dependabot[bot]
fe625a917e
chore(deps-dev): bump @typescript-eslint/parser from 8.60.1 to 8.61.0 in /docs ( #41093 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-15 18:14:51 -07:00
dependabot[bot]
9e2c4533c8
chore(deps): bump @babel/core from 7.28.6 to 7.29.7 in /docs ( #41058 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-15 11:19:43 -07:00
dependabot[bot]
b078ae4b51
chore(deps): bump launch-editor from 2.11.1 to 2.14.1 in /docs ( #41062 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-15 11:19:05 -07:00
dependabot[bot]
8093197c97
chore(deps): bump baseline-browser-mapping from 2.10.33 to 2.10.34 in /docs ( #41036 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-15 10:31:50 -07:00
dependabot[bot]
9d72a39e10
chore(deps): bump caniuse-lite from 1.0.30001793 to 1.0.30001797 in /docs ( #41038 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-15 10:20:10 -07:00
Evan Rusackas
9d2f625e55
feat(encrypt): selectable encryption engine + AES-GCM re-encryption migrator ( #40654 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-15 08:10:08 -07:00
dependabot[bot]
4a5c0d9042
chore(deps): bump joi from 17.13.3 to 17.13.4 in /docs ( #41009 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-13 02:21:41 -07:00
Đỗ Trọng Hải
db7e1c67d8
feat(build): update Node version to v24 ( #40835 )
...
Signed-off-by: hainenber <dotronghai96@gmail.com >
2026-06-11 21:26:23 +07:00
dependabot[bot]
88ea96d417
chore(deps-dev): bump typescript-eslint from 8.60.0 to 8.60.1 in /docs ( #40891 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-09 11:07:41 -07:00
dependabot[bot]
2d1b17d1ca
chore(deps-dev): bump @typescript-eslint/parser from 8.60.0 to 8.60.1 in /docs ( #40893 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-09 10:31:59 -07:00
dependabot[bot]
f51736437d
chore(deps): bump shell-quote from 1.8.3 to 1.8.4 in /docs ( #40910 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-09 10:28:51 -07:00
dependabot[bot]
228ac0d568
chore(deps): bump baseline-browser-mapping from 2.10.32 to 2.10.33 in /docs ( #40842 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-08 10:27:31 -07:00
dependabot[bot]
c6ecaf9642
chore(deps): bump js-yaml from 4.1.1 to 4.2.0 in /docs ( #40843 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-08 10:27:16 -07:00
Evan Rusackas
a5fe47ee71
docs(footer): render social icons as uniform white ( #40854 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-08 09:30:58 -07:00
Evan Rusackas
6b0d747939
fix: cache warmup using WebDriver for reliable authentication ( #38449 )
...
Co-authored-by: Superset Dev <dev@superset.apache.org >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 16:36:30 -07:00
dependabot[bot]
4715cfd372
chore(deps-dev): bump eslint-plugin-prettier from 5.5.5 to 5.5.6 in /docs ( #40791 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-05 14:06:51 -07:00
Evan Rusackas
5a6306983e
docs: add social media links to website footer and README ( #38108 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-06-05 14:06:43 -07:00
dependabot[bot]
7f452e4096
chore(deps): bump @ant-design/icons from 6.2.3 to 6.2.5 in /docs ( #40792 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-05 14:06:30 -07:00
Shaitan
cf08a5ebf7
feat(docker): add environment-based debugger control ( #40327 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: Mehmet Salih Yavuz <salih.yavuz@proton.me >
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net >
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
Co-authored-by: Evan Rusackas <evan@preset.io >
Co-authored-by: Jay Masiwal <masiwaljay.02@gmail.com >
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com >
Co-authored-by: Copilot <copilot@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: chaselynisabella <chaselynisabella@gmail.com >
2026-06-03 12:55:31 +01:00
dependabot[bot]
41da35e9db
chore(deps-dev): bump typescript-eslint from 8.59.4 to 8.60.0 in /docs ( #40598 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-01 17:03:52 -07:00
dependabot[bot]
f04221a06c
chore(deps-dev): bump webpack from 5.107.1 to 5.107.2 in /docs ( #40597 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-01 16:42:05 -07:00
dependabot[bot]
8beea84952
chore(deps-dev): bump @typescript-eslint/parser from 8.59.4 to 8.60.0 in /docs ( #40600 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-01 16:41:16 -07:00
Evan Rusackas
2b8e31bf68
ci(docs): skip Netlify docs preview on PRs that don't touch docs ( #40590 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-01 19:06:57 -04:00
Evan Rusackas
ab5ea1f7d3
chore(deps): force d3-color 3.1.0 in docs ( #40541 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-05-31 00:33:05 -07:00
Evan Rusackas
469979714f
chore(deps): force serialize-javascript 7.0.5 in docs ( #40540 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-05-31 10:54:45 +07:00
Evan Rusackas
f4787a4f25
chore(deps): bump ws to 8.20.1 in docs ( #40538 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-05-30 13:08:13 +07:00
Evan Rusackas
fa4e571db5
chore(deps): force uuid 11.1.1 in docs ( #40542 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-05-30 13:04:31 +07:00
Evan Rusackas
44a8d9d469
chore(deps): pin lodash, lodash-es, and yaml in docs to patched releases ( #40535 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-05-29 21:26:39 -07:00