Loading
Replace the Orbit empty state with the Off page
What does this MR do and why?
When no group has Orbit on, Your work > Orbit now shows the Off page from the v5 design instead of the old empty state. Owners select the top-level groups they own and turn on Orbit in one step. For trial groups, this starts the free trial with the offer from CustomersDot.
- Groups that need sales show the reason and a Contact sales link. Members see that an Owner of their top-level group turns Orbit on.
- When CustomersDot does not answer, the page says so and offers Try again.
- The group Settings > Orbit trial banner also shows the offer from CustomersDot. During an active trial, it shows the credits of that trial instead. The old empty state, its query, and its events are removed.
Closes gitlab-org/orbit/knowledge-graph#1363 (closed)
Uses the OrbitTrial.offer field from !261362 (merged) (merged).
References
- Group status tab, which reuses the turn on rule: gitlab-org/orbit/knowledge-graph#1364 (closed)
- Follow-ups after the redesign: gitlab-org/orbit/knowledge-graph#1370
Screenshots or screen recordings
| Before | After |
|---|---|
![]() |
![]() |
| Before | Happy path | Bad path | Disaster path |
|---|---|---|---|
What each group row shows
| Group | Row | Turn on runs |
|---|---|---|
| Can start a trial | Checkbox, "100 free when turned on" | orbitStartTrial (starts the trial and turns Orbit on) |
| Beta, promo add-on, active trial, or self-managed | Checkbox | orbitUpdate |
| Plan without Orbit, not eligible, or trial ended | The reason and Contact sales | — |
| CustomersDot did not answer | "Couldn't load", and an alert with Try again | — |
- One group that can turn on is selected for you. With several, you choose.
- The page lists the first 10 top-level groups an Owner owns (the trial lookup limit). With more, it says to turn on the other groups from their Settings > Orbit. It also says to ask the Owner of any other group.
- If a group fails, an alert names it and gives the reason. The groups that turned on go to the Overview.
- Contact sales opens the sales page. The dashboard has no lead form, and the form takes one group per page.
- The Off page shows the trial state in each row, so it does not show the dashboard alerts for an ended trial or a missing default group. Those alerts show on the Overview when a group is on.
What each recording covers
- Happy path: a member, then an Owner of one eligible group. The offer (30 days, 100 credits) comes from a local CustomersDot on the production SHA. Turn on starts the real trial, and the Overview shows indexing.
- Bad path: a not-eligible group and a Free group (Contact sales), then 2 of 3 groups selected where CustomersDot rejects one (injected, with the real server message).
- Disaster path: CustomersDot answers 503 for the group (real), the groups query fails with 500, and the network drops during turn on. The last two faults are injected in the browser.
More screenshots
| View | Screenshot |
|---|---|
| Confirm, one group | ![]() |
| Confirm, two groups | ![]() |
| Not eligible and Free | ![]() |
| One group rejected | ![]() |
| CustomersDot down | ![]() |
| Member | ![]() |
| Settings > Orbit banner | ![]() |
| 1024 | ![]() |
| 390 | ![]() |
| Dark | ![]() |
How to set up and validate locally
- Use a GDK in SaaS mode (
GITLAB_SIMULATE_SAAS=1) that points at a CustomersDot with https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/17398. - Sign in as an Owner of a top-level group in the Orbit trial flow, where no group you belong to has Orbit on.
- Go to
http://127.0.0.1:3000/dashboard/orbit, select the group, and select Turn on Orbit.
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.
Edited by Jean-Gabriel Doyon











