Remove the defer offscreen GLQL dashboard panels flag

What does this MR do and why?

The defer_offscreen_glql_dashboard_panels flag makes GLQL panels on analytics dashboards wait until they are near the viewport (one screen ahead) before running their query, instead of every panel queuing its query at mount. It was enabled on GitLab.com staging and production on 2026-09-28. Since gitlab_com_derisk flags cannot be default-enabled, the way to make this permanent is to remove the flag, which also turns deferral on for self-managed and Dedicated.

  • Delete config/feature_flags/gitlab_com_derisk/defer_offscreen_glql_dashboard_panels.yml
  • Remove the push_frontend_feature_flag calls from the Explore, group, and project analytics dashboards controllers
  • glql.vue no longer reads glFeatures; it always waits for the panel to near the viewport
  • Update the Jest spec so panels are treated as near the viewport by default (a stubbed intersection observer that fires on mount), keeping the offscreen tests
  • Update the DAP Impact feature spec (ee/spec/features/explore/system_dashboards_spec.rb) to resize the browser window to 1366x3000 instead of stubbing the flag off, so every panel in the tallest view (Work, over 4,000px) is within the observer's reach

References

Screenshots or screen recordings

None needed: this change only affects when GLQL panels start querying, not how anything looks.

How to set up and validate locally

  1. Open the DAP Impact dashboard at /explore/analytics_dashboards/dap_impact
  2. Pick a group
  3. Open the browser network tab
  4. Scroll down and confirm GLQL GraphQL requests only fire for panels as you scroll toward them

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

🤖 Generated with Claude Code

Merge request reports

Loading
Loading