Draft: Spike: render namespace analytics dashboards through the explore app

What does this MR do and why

Spike, not for merge. Renders the existing group/project "GitLab Duo and SDLC trends" dashboard through the explore analytics dashboards app instead of the legacy group/project app, behind the consolidate_analytics_dashboards feature flag (wip, default disabled).

Nine atomic commits, backend first. No test changes, by spike convention. Findings and the full gap analysis are in the issue.

What the commits do:

  1. Brings the explore copy of the dashboard config to panel parity with the legacy one. It was missing 3 panels, now 21/21 with matching titles and order.
  2. Adds the consolidate_analytics_dashboards feature flag.
  3. Mounts the explore app on the group and project analytics dashboards pages when the flag is on, with the explore router based at the namespace's own dashboards path.
  4. Boots the explore app from the group and project page bundles. Each init no-ops without its mount element, so the view's flag branch stays the single decision point.
  5. Passes the page namespace to the explore app as currentNamespace and seeds the filter pickers from it, so panels render immediately instead of showing the "select a group or project" empty state.
  6. On project pages, also seeds the group picker with the project's parent group, because the explore project picker is scoped to, and disabled without, a group.

References

Related to #623132

Screenshots or screen recordings

Captured against a local GDK with ClickHouse enabled, toggling only the feature flag. Before is the legacy app, after is the explore app. The dashboard shots are full-page and tall, so they are collapsed.

Dashboard list, group

Before After
before-group-list after-group-list

Dashboard list, project

Before After
before-project-list after-project-list
Before (legacy app)

before-group-duo

After (explore app)

after-group-duo

Before (legacy app)

before-project-duo

After (explore app)

after-project-duo

How to set up and validate locally

  1. echo "Feature.enable(:consolidate_analytics_dashboards)" | bundle exec rails console
  2. Rebuild frontend assets, the group and project page bundles changed.
  3. Visit a group's Analyze > Analytics dashboards, then open GitLab Duo and SDLC trends. Repeat for a project.
  4. Disable the flag and confirm the legacy app still renders both pages.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Ezekiel Kigbo

Merge request reports

Loading
Loading