Skip to content

refactor(chart): replace word cloud sort_by_series migration with code defaults#39575

Merged
sadpandajoe merged 4 commits intomasterfrom
fix/word-cloud-sort-by-series-no-migration
Apr 23, 2026
Merged

refactor(chart): replace word cloud sort_by_series migration with code defaults#39575
sadpandajoe merged 4 commits intomasterfrom
fix/word-cloud-sort-by-series-no-migration

Conversation

@sadpandajoe
Copy link
Copy Markdown
Member

SUMMARY

Follow-up to #39073. That PR fixed the Word Cloud secondary-sort issue on Druid by adding an independent sort_by_series control, and shipped a DB migration (fd0c8583b46d) to set sort_by_series=true on every existing word_cloud slice so their legacy ordering was preserved.

The same backward-compatibility guarantee can be achieved with two small code changes — making the fix cherry-pickable onto release branches without dragging along the intermediate migrations that would otherwise need to come with it.

Changes:

  • controlPanel.tsx: sort_by_series default flips from falsetrue. New charts now match the pre-fix behavior (series ORDER BY appended). Users opt out for the Druid TopN fast path by unchecking the box.
  • buildQuery.ts: series-sort check becomes sort_by_series !== false so legacy charts rendered on dashboards — where Explore's control-state hydration does not run and the param is undefined in form_data — still get the legacy ordering.
  • controlPanel.test.ts: locks the default: true invariant against future accidental flips that would break legacy charts.
  • Migration fd0c8583b46d is deleted entirely — no downstream migration referenced it, so the Alembic chain is unaffected.

Why replace the migration with code? For JSON-blob params like slice.params, a migration is only strictly required when "field absent" doesn't have a well-defined meaning in the reader. Here we can define undefined → true at read time and get the same outcome without touching any row in the DB.

Trade-off: new charts default to the slow (legacy) ordering, matching pre-#39073 behavior. The original PR's new-chart fast-path default is deferred; users can still opt in per-chart. This is the right call for cherry-pickability — the fix (the opt-out box) is available to everyone, the new default isn't.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Not applicable — no visual change to the word cloud rendering or control panel beyond the default checkbox state.

TESTING INSTRUCTIONS

Frontend unit tests:

cd superset-frontend
npm run test -- plugins/plugin-chart-word-cloud/test/buildQuery.test.ts --no-coverage
npm run test -- plugins/plugin-chart-word-cloud/test/controlPanel.test.ts --no-coverage

Manual:

  1. Existing chart — open any pre-existing word cloud chart. Verify it renders with the same ordering as before (series sort applied). Inspect the /api/v1/chart/data payload for a legacy chart on a dashboard: the orderby array should include the series sort even though the saved params has no sort_by_series key.
  2. New chart — create a new word cloud. The "Sort by series" checkbox should be checked by default. The generated query should contain ORDER BY <series> ASC.
  3. Opt-out (Druid fast path) — uncheck "Sort by series", save. Reload the chart. Saved params should contain "sort_by_series": false and the query should have no series ORDER BY.

ADDITIONAL INFORMATION

🤖 Generated with Claude Code

…e defaults

Follow-up to #39073. That PR added a DB migration (fd0c8583b46d) to set
sort_by_series=true on every existing word_cloud slice so their legacy
ordering was preserved. The same backward-compatibility guarantee can be
achieved with two small code changes, making the fix cherry-pickable onto
release branches without dragging along intermediate migrations.

Changes:
- controlPanel.tsx: sort_by_series default flips from false to true, so
  new charts match the pre-fix behavior (series ORDER BY appended).
  Users opt out for the Druid TopN fast path by unchecking the box.
- buildQuery.ts: series-sort check becomes `sort_by_series !== false`
  so legacy charts rendered on dashboards (where Explore's control-state
  hydration does not run and the param is undefined in form_data) still
  get the legacy ordering.
- controlPanel.test.ts: locks the default: true invariant against
  future accidental flips that would break legacy charts.
- Migration fd0c8583b46d is deleted entirely — no downstream migration
  referenced it, so the Alembic chain is unaffected.

Trade-off: new charts default to the slow (legacy) ordering, matching
the pre-#39073 behavior. The original PR's new-chart fast-path default
is deferred; users can still opt in per-chart.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bito-code-review
Copy link
Copy Markdown
Contributor

bito-code-review Bot commented Apr 22, 2026

Code Review Agent Run #c22da1

Actionable Suggestions - 0
Review Details
  • Files reviewed - 5 · Commit Range: f1c12aa..f1c12aa
    • superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/buildQuery.ts
    • superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.tsx
    • superset-frontend/plugins/plugin-chart-word-cloud/test/buildQuery.test.ts
    • superset-frontend/plugins/plugin-chart-word-cloud/test/controlPanel.test.ts
    • superset/migrations/versions/2026-04-13_19-28_fd0c8583b46d_add_sort_by_series_to_word_cloud_charts.py
  • Files skipped - 0
  • 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

@dosubot dosubot Bot added change:frontend Requires changing the frontend viz:charts:wordcloud Related to the Wordcloud chart labels Apr 22, 2026
@sadpandajoe sadpandajoe requested a review from Vitor-Avila April 22, 2026 22:15
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.54%. Comparing base (0d50fd6) to head (26830b3).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master   #39575   +/-   ##
=======================================
  Coverage   64.54%   64.54%           
=======================================
  Files        2565     2565           
  Lines      133649   133651    +2     
  Branches    31050    31052    +2     
=======================================
+ Hits        86267    86269    +2     
  Misses      45890    45890           
  Partials     1492     1492           
Flag Coverage Δ
hive 39.84% <ø> (ø)
javascript 66.53% <100.00%> (+<0.01%) ⬆️
mysql 60.37% <ø> (ø)
postgres 60.45% <ø> (ø)
presto 41.61% <ø> (ø)
python 62.02% <ø> (ø)
sqlite 60.08% <ø> (ø)
unit 100.00% <ø> (ø)

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

☔ View full report in Codecov by Sentry.
📢 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.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors Word Cloud’s sort_by_series backward-compatibility approach by replacing a database migration with code-level defaults, so legacy charts keep their pre-#39073 ordering behavior without requiring schema/data changes.

Changes:

  • Flip the Word Cloud sort_by_series control default to true so new charts match legacy ordering by default.
  • Update query building to treat sort_by_series: undefined as enabled (sort_by_series !== false) to preserve ordering for legacy dashboard-rendered charts.
  • Add unit tests to lock in the new default and legacy behavior; delete the previously-added migration.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
superset/migrations/versions/2026-04-13_19-28_fd0c8583b46d_add_sort_by_series_to_word_cloud_charts.py Removes the migration that previously backfilled sort_by_series=true into existing Word Cloud chart params.
superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.tsx Sets sort_by_series checkbox default to true and updates the help text to reflect the Druid TopN opt-out rationale.
superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/buildQuery.ts Treats missing sort_by_series as enabled by default to preserve legacy ordering.
superset-frontend/plugins/plugin-chart-word-cloud/test/controlPanel.test.ts Adds a test asserting sort_by_series defaults to true.
superset-frontend/plugins/plugin-chart-word-cloud/test/buildQuery.test.ts Adds a test asserting legacy charts (missing sort_by_series) still order by series.
Comments suppressed due to low confidence (1)

superset/migrations/versions/2026-04-13_19-28_fd0c8583b46d_add_sort_by_series_to_word_cloud_charts.py:1

  • Deleting an Alembic revision file can break superset db upgrade/downgrade for any environment that already ran this revision (their alembic_version table will reference fd0c8583b46d, and Alembic will error because it can’t locate the revision script). Even if no later migrations depend on it, the file should generally remain in-tree for history/upgrade-path integrity.

Consider keeping this revision file (it can be a no-op, or keep the existing param-update logic) and relying on the code defaulting for backward-compat going forward. If the goal is cherry-picking to release branches, omit the migration only on those branches where it never shipped, but avoid removing it from branches where it may have been applied.

Fix tsc failure: the ad-hoc type predicate narrowed to a type that
isn't assignable to ControlSetItem. Reuse the exported
isCustomControlItem guard from @superset-ui/chart-controls, matching
the pattern used in ControlPanelsContainer.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@sadpandajoe sadpandajoe force-pushed the fix/word-cloud-sort-by-series-no-migration branch from 09f5d01 to da4e924 Compare April 22, 2026 23:03
@bito-code-review
Copy link
Copy Markdown
Contributor

bito-code-review Bot commented Apr 22, 2026

Code Review Agent Run #8a9042

Actionable Suggestions - 0
Review Details
  • Files reviewed - 1 · Commit Range: f1c12aa..da4e924
    • superset-frontend/plugins/plugin-chart-word-cloud/test/controlPanel.test.ts
  • Files skipped - 0
  • Tools
    • Eslint (Linter) - ✔︎ Successful
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ 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

Comment thread superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.tsx Outdated
Reverts the Druid-specific wording per reviewer feedback — the
"some databases" phrasing is more engine-agnostic.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 23, 2026

Deploy Preview for superset-docs-preview ready!

Name Link
🔨 Latest commit 26830b3
🔍 Latest deploy log https://app.netlify.com/projects/superset-docs-preview/deploys/69ea8c88af0b270008e4e694
😎 Deploy Preview https://deploy-preview-39575--superset-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@bito-code-review
Copy link
Copy Markdown
Contributor

bito-code-review Bot commented Apr 23, 2026

Code Review Agent Run #a6ae9d

Actionable Suggestions - 0
Review Details
  • Files reviewed - 1 · Commit Range: da4e924..26830b3
    • superset-frontend/plugins/plugin-chart-word-cloud/src/plugin/controlPanel.tsx
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ 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

@sadpandajoe sadpandajoe merged commit 39f1278 into master Apr 23, 2026
73 checks passed
@sadpandajoe sadpandajoe deleted the fix/word-cloud-sort-by-series-no-migration branch April 23, 2026 22:38
mikebridge pushed a commit to mikebridge/superset that referenced this pull request Apr 24, 2026
…d21901ab

Master just removed the ``fd0c8583b46d`` (``add_sort_by_series_to_word_cloud_charts``)
migration in apache#39575 ("refactor(chart): replace word cloud sort_by_series
migration with code defaults"), replacing the run-time data migration
with TS-side defaults in the word-cloud plugin. The parent migration
``ce6bd21901ab`` (``migrate_deckgl_and_mapbox``) is now master's tip.

Our ``56cd24c07170`` (``add_entity_version_history_tables``) still
pointed at ``fd0c8583b46d`` as its ``down_revision``. Once this PR
merges into the post-apache#39575 master, that reference dangles and
Alembic fails to build the revision map with
``KeyError: 'fd0c8583b46d'`` on every DB-backed job (test-sqlite,
test-postgres, test-mysql, etc.).

Repoints ``56cd24c07170``'s ``down_revision`` at ``ce6bd21901ab``.
Also includes the rebase onto the current master head, which drops
the ``fd0c8583b46d`` migration file so the local chain matches what
CI sees.

Verified locally: ``superset db upgrade`` runs the full chain clean
(``ce6bd21901ab -> 56cd24c07170 -> 04ea0c58fcb9 -> 8b2a1c3d4e5f ->
c9d7e21a4b3f -> d8e9f0a1b2c3``); 50 versioning integration tests
and 25 unit tests still pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mikebridge pushed a commit to mikebridge/superset that referenced this pull request Apr 27, 2026
…d21901ab

Master just removed the ``fd0c8583b46d`` (``add_sort_by_series_to_word_cloud_charts``)
migration in apache#39575 ("refactor(chart): replace word cloud sort_by_series
migration with code defaults"), replacing the run-time data migration
with TS-side defaults in the word-cloud plugin. The parent migration
``ce6bd21901ab`` (``migrate_deckgl_and_mapbox``) is now master's tip.

Our ``56cd24c07170`` (``add_entity_version_history_tables``) still
pointed at ``fd0c8583b46d`` as its ``down_revision``. Once this PR
merges into the post-apache#39575 master, that reference dangles and
Alembic fails to build the revision map with
``KeyError: 'fd0c8583b46d'`` on every DB-backed job (test-sqlite,
test-postgres, test-mysql, etc.).

Repoints ``56cd24c07170``'s ``down_revision`` at ``ce6bd21901ab``.
Also includes the rebase onto the current master head, which drops
the ``fd0c8583b46d`` migration file so the local chain matches what
CI sees.

Verified locally: ``superset db upgrade`` runs the full chain clean
(``ce6bd21901ab -> 56cd24c07170 -> 04ea0c58fcb9 -> 8b2a1c3d4e5f ->
c9d7e21a4b3f -> d8e9f0a1b2c3``); 50 versioning integration tests
and 25 unit tests still pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mikebridge pushed a commit to mikebridge/superset that referenced this pull request Apr 28, 2026
…d21901ab

Master just removed the ``fd0c8583b46d`` (``add_sort_by_series_to_word_cloud_charts``)
migration in apache#39575 ("refactor(chart): replace word cloud sort_by_series
migration with code defaults"), replacing the run-time data migration
with TS-side defaults in the word-cloud plugin. The parent migration
``ce6bd21901ab`` (``migrate_deckgl_and_mapbox``) is now master's tip.

Our ``56cd24c07170`` (``add_entity_version_history_tables``) still
pointed at ``fd0c8583b46d`` as its ``down_revision``. Once this PR
merges into the post-apache#39575 master, that reference dangles and
Alembic fails to build the revision map with
``KeyError: 'fd0c8583b46d'`` on every DB-backed job (test-sqlite,
test-postgres, test-mysql, etc.).

Repoints ``56cd24c07170``'s ``down_revision`` at ``ce6bd21901ab``.
Also includes the rebase onto the current master head, which drops
the ``fd0c8583b46d`` migration file so the local chain matches what
CI sees.

Verified locally: ``superset db upgrade`` runs the full chain clean
(``ce6bd21901ab -> 56cd24c07170 -> 04ea0c58fcb9 -> 8b2a1c3d4e5f ->
c9d7e21a4b3f -> d8e9f0a1b2c3``); 50 versioning integration tests
and 25 unit tests still pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mikebridge pushed a commit to mikebridge/superset that referenced this pull request Apr 30, 2026
…d21901ab

Master just removed the ``fd0c8583b46d`` (``add_sort_by_series_to_word_cloud_charts``)
migration in apache#39575 ("refactor(chart): replace word cloud sort_by_series
migration with code defaults"), replacing the run-time data migration
with TS-side defaults in the word-cloud plugin. The parent migration
``ce6bd21901ab`` (``migrate_deckgl_and_mapbox``) is now master's tip.

Our ``56cd24c07170`` (``add_entity_version_history_tables``) still
pointed at ``fd0c8583b46d`` as its ``down_revision``. Once this PR
merges into the post-apache#39575 master, that reference dangles and
Alembic fails to build the revision map with
``KeyError: 'fd0c8583b46d'`` on every DB-backed job (test-sqlite,
test-postgres, test-mysql, etc.).

Repoints ``56cd24c07170``'s ``down_revision`` at ``ce6bd21901ab``.
Also includes the rebase onto the current master head, which drops
the ``fd0c8583b46d`` migration file so the local chain matches what
CI sees.

Verified locally: ``superset db upgrade`` runs the full chain clean
(``ce6bd21901ab -> 56cd24c07170 -> 04ea0c58fcb9 -> 8b2a1c3d4e5f ->
c9d7e21a4b3f -> d8e9f0a1b2c3``); 50 versioning integration tests
and 25 unit tests still pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mikebridge pushed a commit to mikebridge/superset that referenced this pull request May 4, 2026
…d21901ab

Master just removed the ``fd0c8583b46d`` (``add_sort_by_series_to_word_cloud_charts``)
migration in apache#39575 ("refactor(chart): replace word cloud sort_by_series
migration with code defaults"), replacing the run-time data migration
with TS-side defaults in the word-cloud plugin. The parent migration
``ce6bd21901ab`` (``migrate_deckgl_and_mapbox``) is now master's tip.

Our ``56cd24c07170`` (``add_entity_version_history_tables``) still
pointed at ``fd0c8583b46d`` as its ``down_revision``. Once this PR
merges into the post-apache#39575 master, that reference dangles and
Alembic fails to build the revision map with
``KeyError: 'fd0c8583b46d'`` on every DB-backed job (test-sqlite,
test-postgres, test-mysql, etc.).

Repoints ``56cd24c07170``'s ``down_revision`` at ``ce6bd21901ab``.
Also includes the rebase onto the current master head, which drops
the ``fd0c8583b46d`` migration file so the local chain matches what
CI sees.

Verified locally: ``superset db upgrade`` runs the full chain clean
(``ce6bd21901ab -> 56cd24c07170 -> 04ea0c58fcb9 -> 8b2a1c3d4e5f ->
c9d7e21a4b3f -> d8e9f0a1b2c3``); 50 versioning integration tests
and 25 unit tests still pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mikebridge pushed a commit to mikebridge/superset that referenced this pull request May 5, 2026
…d21901ab

Master just removed the ``fd0c8583b46d`` (``add_sort_by_series_to_word_cloud_charts``)
migration in apache#39575 ("refactor(chart): replace word cloud sort_by_series
migration with code defaults"), replacing the run-time data migration
with TS-side defaults in the word-cloud plugin. The parent migration
``ce6bd21901ab`` (``migrate_deckgl_and_mapbox``) is now master's tip.

Our ``56cd24c07170`` (``add_entity_version_history_tables``) still
pointed at ``fd0c8583b46d`` as its ``down_revision``. Once this PR
merges into the post-apache#39575 master, that reference dangles and
Alembic fails to build the revision map with
``KeyError: 'fd0c8583b46d'`` on every DB-backed job (test-sqlite,
test-postgres, test-mysql, etc.).

Repoints ``56cd24c07170``'s ``down_revision`` at ``ce6bd21901ab``.
Also includes the rebase onto the current master head, which drops
the ``fd0c8583b46d`` migration file so the local chain matches what
CI sees.

Verified locally: ``superset db upgrade`` runs the full chain clean
(``ce6bd21901ab -> 56cd24c07170 -> 04ea0c58fcb9 -> 8b2a1c3d4e5f ->
c9d7e21a4b3f -> d8e9f0a1b2c3``); 50 versioning integration tests
and 25 unit tests still pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mikebridge pushed a commit to mikebridge/superset that referenced this pull request May 5, 2026
Master removed the word-cloud sort_by_series migration in apache#39575 (replaced
its effect with code defaults), so the previous a3b4c5d6e7f8 merge — which
referenced fd0c8583b46d — became invalid. After dropping it, two heads
remained: cb39f18af67f (sc-103157 soft delete) and 33d7e0e21daa (semantic
layers and views), both descending from ce6bd21901ab. Empty merge migration
unifies them so ``superset db upgrade head`` has an unambiguous target.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mikebridge pushed a commit to mikebridge/superset that referenced this pull request May 7, 2026
Master removed the word-cloud sort_by_series migration in apache#39575 (replaced
its effect with code defaults), so the previous a3b4c5d6e7f8 merge — which
referenced fd0c8583b46d — became invalid. After dropping it, two heads
remained: cb39f18af67f (sc-103157 soft delete) and 33d7e0e21daa (semantic
layers and views), both descending from ce6bd21901ab. Empty merge migration
unifies them so ``superset db upgrade head`` has an unambiguous target.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
mikebridge pushed a commit to mikebridge/superset that referenced this pull request May 7, 2026
Master removed the word-cloud sort_by_series migration in apache#39575 (replaced
its effect with code defaults), so the previous a3b4c5d6e7f8 merge — which
referenced fd0c8583b46d — became invalid. After dropping it, two heads
remained: cb39f18af67f (sc-103157 soft delete) and 33d7e0e21daa (semantic
layers and views), both descending from ce6bd21901ab. Empty merge migration
unifies them so ``superset db upgrade head`` has an unambiguous target.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

change:frontend Requires changing the frontend plugins risk:db-migration PRs that require a DB migration size/L viz:charts:wordcloud Related to the Wordcloud chart

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants