Skip to content

feat(extensions): Introducing a Chat extension in Superset#41006

Closed
EnxDev wants to merge 13 commits into
masterfrom
enxdev/chat-prototype
Closed

feat(extensions): Introducing a Chat extension in Superset#41006
EnxDev wants to merge 13 commits into
masterfrom
enxdev/chat-prototype

Conversation

@EnxDev

@EnxDev EnxDev commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

  • Has associated issue:
  • Required feature flags:
  • Changes UI
  • Includes DB Migration (follow approval process in SIP-59)
    • Migration is atomic, supports rollback & is backwards-compatible
    • Confirm DB migration upgrade and downgrade tested
    • Runtime estimates and downtime expectations provided
  • Introduces new feature or API
  • Removes existing feature or API

EnxDev and others added 6 commits June 8, 2026 22:50
Bring the chatbot extension feature branch up to date with master. The
chatbot work lives in new paths (superset/extensions/*, the core chatbot
namespace, ChatbotMount, superset-core namespaces) and merged cleanly with
no conflicts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@bito-code-review

bito-code-review Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Code Review Agent Run #fe8a10

Actionable Suggestions - 0
Additional Suggestions - 5
  • superset-frontend/packages/superset-core/src/navigation/index.ts - 1
    • Missing unit tests for navigation module · Line 1-84
      The new `navigation` module lacks unit tests. Per BITO.md rule [11730], new tools should include tests covering success paths, error scenarios, and edge cases. Compare with the test patterns in `superset-frontend/spec/helpers/` for the appropriate Jest + React Testing Library setup.
  • superset-frontend/src/core/utils.ts - 1
    • Missing unit tests for new utilities · Line 66-95
      No unit tests exist for `createEventEmitter` or `createEmitter`. Per testing guidelines, new utilities should have tests covering success paths, error scenarios, and edge cases like multiple listeners and `this` binding.
  • superset-frontend/src/core/navigation/index.ts - 1
    • Duplicate explore path checks · Line 37-38
      Lines 37 and 38 have semantically identical checks for 'explore' page type. This duplication increases maintenance burden and could lead to divergence if paths diverge in the future.
  • superset-frontend/src/views/App.tsx - 1
    • Redundant feature flag guard · Line 123-123
      The feature flag check on line 123 is redundant. `ChatMount` internally returns `null` when no chat extension is registered (via `useSyncExternalStore`), and `ExtensionsStartup` already guards its extension initialization with the same flag. The double-check adds maintenance burden without improving behavior.
  • superset-frontend/src/extensions/ExtensionsList.tsx - 1
    • Dead code with orphaned backend API · Line 1-95
      This component was deleted as unused dead code. No references to `ExtensionsList` exist elsewhere in the codebase. However, the backend API endpoint `/api/v1/extensions/` in `ExtensionsRestApi.get_list` still exists and serves the same data. If this UI was intentionally removed, consider whether the backend endpoint should also be removed for consistency, or document why the API remains without a frontend consumer.
Filtered by Review Rules

Bito filtered these suggestions based on rules created automatically for your feedback. Manage rules.

  • superset-extensions-cli/src/superset_extensions_cli/cli.py - 1
  • superset-frontend/packages/superset-core/src/views/index.ts - 1
    • Test assertions need updating for new field · Line 48-56
  • superset/extensions/utils.py - 1
  • superset-frontend/packages/superset-core/src/index.ts - 5
    • Missing unit tests for chat module · Line 21-21
    • Missing unit tests for dashboard module · Line 23-23
    • Missing unit tests for dataset module · Line 24-24
    • Missing unit tests for explore module · Line 26-26
    • Missing unit tests for navigation module · Line 29-29
Review Details
  • Files reviewed - 51 · Commit Range: 380e700..568337f
    • superset-core/src/superset_core/extensions/types.py
    • superset-extensions-cli/src/superset_extensions_cli/cli.py
    • superset-extensions-cli/tests/test_cli_build.py
    • superset-frontend/packages/superset-core/src/chat/index.ts
    • superset-frontend/packages/superset-core/src/common/index.ts
    • superset-frontend/packages/superset-core/src/contributions/index.ts
    • superset-frontend/packages/superset-core/src/dashboard/index.ts
    • superset-frontend/packages/superset-core/src/dataset/index.ts
    • superset-frontend/packages/superset-core/src/explore/index.ts
    • superset-frontend/packages/superset-core/src/index.ts
    • superset-frontend/packages/superset-core/src/navigation/index.ts
    • superset-frontend/packages/superset-core/src/views/index.ts
    • superset-frontend/packages/superset-ui-core/src/components/Select/Select.tsx
    • superset-frontend/playwright/tests/dashboard/clear-all-filters.spec.ts
    • superset-frontend/src/components/ChatMount/ChatMount.test.tsx
    • superset-frontend/src/components/ChatMount/index.tsx
    • superset-frontend/src/core/chat/index.test.ts
    • superset-frontend/src/core/chat/index.ts
    • superset-frontend/src/core/dashboard/index.test.ts
    • superset-frontend/src/core/dashboard/index.ts
    • superset-frontend/src/core/dataset/index.ts
    • superset-frontend/src/core/explore/index.test.ts
    • superset-frontend/src/core/explore/index.ts
    • superset-frontend/src/core/index.ts
    • superset-frontend/src/core/navigation/index.test.ts
    • superset-frontend/src/core/navigation/index.ts
    • superset-frontend/src/core/sqlLab/index.ts
    • superset-frontend/src/core/sqlLab/sqlLab.test.ts
    • superset-frontend/src/core/utils.ts
    • superset-frontend/src/core/views/index.ts
    • superset-frontend/src/extensions/ExtensionsList.test.tsx
    • superset-frontend/src/extensions/ExtensionsList.tsx
    • superset-frontend/src/extensions/ExtensionsLoader.test.ts
    • superset-frontend/src/extensions/ExtensionsLoader.ts
    • superset-frontend/src/extensions/ExtensionsStartup.test.tsx
    • superset-frontend/src/extensions/ExtensionsStartup.tsx
    • superset-frontend/src/extensions/supersetGlobal.ts
    • superset-frontend/src/features/datasets/AddDataset/EditDataset/EditDataset.test.tsx
    • superset-frontend/src/features/datasets/AddDataset/EditDataset/index.tsx
    • superset-frontend/src/features/roles/RoleListEditModal.test.tsx
    • superset-frontend/src/middleware/loggerMiddleware.ts
    • superset-frontend/src/views/App.tsx
    • superset-frontend/src/views/routes.tsx
    • superset/extensions/api.py
    • superset/extensions/utils.py
    • superset/initialization/__init__.py
    • superset/migrations/versions/2026-05-25_00-00_b2c3d4e5f6a7_add_extension_settings.py
    • superset/migrations/versions/2026-06-09_00-00_d1e2f3a4b5c6_drop_extension_enabled.py
    • superset/migrations/versions/2026-06-10_00-00_e2f3a4b5c6d7_drop_extension_settings.py
    • tests/unit_tests/extensions/test_api.py
    • tests/unit_tests/extensions/test_types.py
  • Files skipped - 1
    • superset-frontend/packages/superset-core/package.json - Reason: Filter setting
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful
    • Eslint (Linter) - ✔︎ Successful
    • MyPy (Static Code Analysis) - ✔︎ Successful
    • Astral Ruff (Static Code Analysis) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@github-actions github-actions Bot added risk:db-migration PRs that require a DB migration api Related to the REST API dependencies:npm packages labels Jun 12, 2026
@EnxDev EnxDev added hold:testing! On hold for testing and removed risk:db-migration PRs that require a DB migration size/XXL api Related to the REST API dependencies:npm packages labels Jun 12, 2026
Comment thread superset-frontend/src/core/dashboard/index.test.ts Outdated
Comment thread superset-frontend/src/core/dashboard/index.test.ts Outdated
Comment thread superset-frontend/src/core/dashboard/index.ts Outdated
Comment thread superset-frontend/src/core/explore/index.ts Outdated
Comment thread superset-frontend/src/components/ChatMount/index.tsx
Comment thread superset-frontend/src/core/chat/index.ts
Comment thread superset-frontend/src/core/chat/index.ts
Comment thread superset-frontend/src/core/dashboard/index.ts Outdated
Comment thread superset-frontend/src/core/dataset/index.ts Outdated
@dosubot dosubot Bot added the plugins label Jun 12, 2026
@github-actions github-actions Bot added risk:db-migration PRs that require a DB migration api Related to the REST API dependencies:npm packages and removed plugins labels Jun 12, 2026
Comment thread superset-frontend/packages/superset-core/src/navigation/index.ts Outdated
Comment thread superset-frontend/packages/superset-core/src/dashboard/index.ts Outdated
@michael-s-molina michael-s-molina changed the title feat(extensions): add dedicated chat contribution type (#41000) feat(extensions): add dedicated chat contribution type Jun 15, 2026
@github-actions github-actions Bot removed the risk:db-migration PRs that require a DB migration label Jun 15, 2026
@EnxDev EnxDev changed the title feat(extensions): add dedicated chat contribution type feat(extensions): Introducing a Chat extension in Superset Jun 15, 2026
@EnxDev EnxDev linked an issue Jun 15, 2026 that may be closed by this pull request
@github-actions github-actions Bot removed the api Related to the REST API label Jun 16, 2026
@codecov

codecov Bot commented Jun 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.30%. Comparing base (a27ec19) to head (ce0fcf9).
⚠️ Report is 31 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #41006      +/-   ##
==========================================
- Coverage   64.31%   64.30%   -0.01%     
==========================================
  Files        2652     2652              
  Lines      144817   144759      -58     
  Branches    33419    33409      -10     
==========================================
- Hits        93136    93091      -45     
+ Misses      50017    50002      -15     
- Partials     1664     1666       +2     
Flag Coverage Δ
hive 39.33% <ø> (ø)
mysql 58.03% <ø> (ø)
postgres 58.10% <ø> (-0.01%) ⬇️
presto 40.90% <ø> (ø)
python 59.55% <ø> (-0.01%) ⬇️
sqlite 57.76% <ø> (ø)
unit 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EnxDev

EnxDev commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

Closed in favor of #41205, which includes all the changes from this PR.

@EnxDev EnxDev closed this Jun 18, 2026
@github-project-automation github-project-automation Bot moved this from To Do to Done in Superset Extensions Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

[SIP-214] Introducing a Chat extension in Superset

3 participants