Onboarding - move states inside the onboarding app
What does this MR do and why?
Related to #381320 (closed)
On Onboarding - tracking codes view (!106771 - merged), we created the Onboarding setup page. This MR moves the onboarding state change to the onboarding root app, implements polling to listen for changes in the onboarding status (if Cube.js has data), and shows the Dashboards page if the onboarding is complete.
Screenshots or screen recordings
No visual changes
--
How to set up and validate locally
Please follow the instructions at https://gitlab.com/gitlab-org/gitlab/-/snippets/2474959 to enable Product Analytics on your GDK.
With the Product Analytics feature enabled:
- Initialize the stack for a new project on the Rails console (
rails c
):project = Project.find_by_id(1) ProductAnalytics::InitializeStackService.new(container: project).execute # Expected response: # <ServiceResponse:0x00000001621a6db0 @http_status=:ok, @message="Product analytics initialization started", @payload={}, @reason=nil, @status=:success>
- Go to
/gitlab-org/gitlab-test/-/product_analytics/dashboards
. - The setup page should render as there is no data for Cube.js yet.
- Insert data into the instrumented project by following the DevKit instructions for the new project. Or copy the data from another project directly without instrumenting:
-- In ClickHouse CREATE TABLE gitlab_project_1.jitsu AS gitlab_project_2.jitsu; INSERT INTO gitlab_project_1.jitsu SELECT * FROM gitlab_project_2.jitsu LIMIT 1;
- The dashboard page should be rendered automatically.
- After reloading, the dashboard page should be rendered without hiccups.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Axel García