Skip to content

ref(dashboards): Remove visibility-dashboards-async-queue flag#115373

Draft
DominikB2014 wants to merge 3 commits into
masterfrom
dominikbuszowiecki/browse-497-route-all-traffic-through-dashboards-queuer
Draft

ref(dashboards): Remove visibility-dashboards-async-queue flag#115373
DominikB2014 wants to merge 3 commits into
masterfrom
dominikbuszowiecki/browse-497-route-all-traffic-through-dashboards-queuer

Conversation

@DominikB2014
Copy link
Copy Markdown
Contributor

Summary

The visibility-dashboards-async-queue flag is fully rolled out, so the feature-gated code paths are no longer reachable. This PR removes the frontend flag and the now-dead code:

  • Drops the organization.features.includes('visibility-dashboards-async-queue') check from useWidgetQueryQueue and every dashboards widget query hook.
  • Removes the non-queue 429 retry fallback (retry/retryDelay using getRetryDelay + RequestError) since the queue now handles retries via asyncRetryerOptions.
  • Makes WidgetQueryQueueProvider self-aware so nesting is a no-op, and wraps WidgetCardDataLoader in a provider. Off-dashboard consumers of the data loader (e.g. eapSidebarCharts) now also get a queue.
  • useWidgetQueryQueue returns a non-optional queue and every if (queue) branch is removed from the hooks and from dashboard.tsx cleanup.

Test plan

  • pnpm run lint:js clean for all touched files
  • pnpm test-ci static/app/views/dashboards/ static/app/views/performance/transactionSummary/transactionOverview/ — 114 suites / 1120 tests pass
  • Verify dashboards still load and refetch correctly in dev

Refs BROWSE-497

The visibility-dashboards-async-queue flag is fully rolled out, so the
feature-gated code paths are no longer reachable. Remove the flag check
from the widget query queue hook and every widget query hook, drop the
non-queue 429 retry fallback, and clean up unused imports.

Make WidgetQueryQueueProvider self-aware so nested providers no-op, and
wrap WidgetCardDataLoader in a provider so every consumer of the data
loader (including off-dashboard callers like eapSidebarCharts) has a
queue. useWidgetQueryQueue now returns a non-optional queue and every
`if (queue)` branch is gone.

Update affected tests to render under a WidgetQueryQueueProvider, and
update the hook test mocks to provide a queue that runs items
synchronously.

Refs BROWSE-497
Co-Authored-By: Claude <noreply@anthropic.com>
@linear-code
Copy link
Copy Markdown

linear-code Bot commented May 12, 2026

BROWSE-497

@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label May 12, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 12, 2026

📊 Type Coverage Diff

✅ No new type safety issues introduced. Coverage: 93.49%

The widget viewer modal renders WidgetQueries/IssueWidgetQueries/
ReleaseWidgetQueries directly without going through WidgetCardDataLoader,
so it didn't pick up the queue provider that the loader self-wraps now.
Add the provider at the modal root so all internal widget query paths
have access to the queue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant