feat(onboarding): connection terminal and flags table#7856
feat(onboarding): connection terminal and flags table#7856talissoncosta wants to merge 17 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
A prop-driven sdk console: amber LISTENING with an unchecked checklist and a blinking cursor while waiting, green LIVE with a connection receipt once connected. Always dark and reduced-motion aware, with stories for both states. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The 'Your flags' card reusing the product FeatureName / Tag / Switch, prop driven with waiting and connected states. Connected lifts it with the accent border and glow; waiting dims it. Stories cover the states and the toggle. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
#7766) OnboardingFlow renders both below the connect panel. useOnboardingFlag resolves the demo flag's Development feature state and toggles it via updateFeatureState (persisted, no simulated output). Status is the pre-connection state for now; the real first-evaluation signal lands in #7767. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e glow (#7766) Use --radius-xl / --radius-full instead of literal radii, and bring back the mock's purple accent border + glow on the connected flags card, derived from --color-border-action via oklch alpha so it still tracks the theme. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nnection (#7766) One seam for the verify connection status so #7767 only swaps the hook body. Stubbed to the pre-connection state today, with a ?connected query-param escape hatch to exercise the connected UI in the live flow before the real signal exists. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Resolve the demo flag's tags (useGetTagsQuery) and pass them through to the flags table, so a tag attached to the flag appears in the onboarding table automatically rather than being hardcoded. The mock's 'Onboarding' tag shows once such a tag is attached to the flag (resource setup / #7767). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rap (#7766) Best-effort find-or-create the 'Onboarding' tag and attach it to the demo flag, so the flags table shows the badge from the design out of the box. ensureFlag now returns the flag; tagging is wrapped so it never blocks the bootstrap. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ippets (#7766) The terminal is now per-step (installCopied / snippetCopied / connected) instead of a single status: copying the install or wire snippet ticks its checklist item and the active step shows amber, the first evaluation flips it to LIVE. CodeCard gains an onCopy that the connect panel threads up to the page. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…7766) The toggle cell was 56px while the ENABLED header column is 96px (the design's 40px action cell filled the gap, which we dropped), so the toggle sat right of the header. Widen the toggle cell to match, lining it up under ENABLED. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…#7766) The Onboarding tag's colour was an off-palette hex; switch to a green from the product tag palette (Constants.tagColors) so it's consistent with how tags are coloured everywhere else. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
523818f to
0bc5a99
Compare
Chrome offered contact autofill on the ghost inline-edit field, dropping a person/chevron icon that overlapped the trailing edit pencil. A ghost field is never a contact or credential input, so opt out of autofill and the password-manager overlays (1Password, LastPass). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0bc5a99 to
d2474f9
Compare
The flags-table toggle fired updateFeatureState fire-and-forget, so a failed toggle just snapped back silently on the next refetch. Await + unwrap and toast on failure, matching the header rename UX. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rface Move what has a utility equivalent out of the component SCSS: flex/gap/margin to Bootstrap utilities, and the flags-table surface background + radius to token utilities. The SCSS keeps what has no utility (the accent glow, the waiting state, non-standard metrics, and the terminal's literal console palette). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The two "Copy Code" buttons were indistinguishable to assistive tech, the flags table toggle had no accessible name, and the table wasn't a labelled region. Give the copy buttons distinct aria-labels, name the switch per flag, and label the flags region. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Docker builds report
|
Feature names are immutable, so the onboarding "rename" is a delete + recreate. The recreate started a bare flag, dropping the Onboarding tag attached in bootstrap (the badge vanished). Carry over the old flag's tags/type/description so the rename is non-lossy for what onboarding sets. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New-user happy path behind onboarding_quickstart_flow: sign up, land on the flow, copy the install/wire snippets (checklist ticks), toggle the Development flag, rename it (asserting the Onboarding tag survives the delete+recreate), and exercise the connected state via ?connected. Selectors are accessibility-first (roles / labels / text), not data-test ids. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
|
Visual Regression19 screenshots compared. See report for details. |
docs/if required so people know about the feature.Changes
Contributes to #7766. Builds on the single-page onboarding flow (#7765, now merged): adds the verify console and the flags table below the connect panel.
useOnboardingConnection(a?connectedquery param exercises the connected UI) pending the real first-evaluation signal in Onboarding: flag gating, resource setup and connection signal #7767, so it won't go LIVE on its own yet.FeatureName/Tag/Switch, with a real persisted Development toggle. Bootstrap attaches an "Onboarding" tag so the badge shows.GhostInput(the contact icon was overlapping the inline edit pencil).onboarding_quickstart_flow: sign up, land on the flow, copy the install/wire snippets (checklist ticks), toggle the flag, rename it (asserting the tag survives), and the?connectedstate. Accessibility-first selectors (roles / labels / text).How did you test this code?
The new e2e spec runs in CI (
run-e2e-tests). Locally withonboarding_quickstart_flowon: resources bootstrap, the checklist ticks as the snippets are copied, the Development toggle persists, rename keeps the tag, and the connected state renders. Storybook stories cover the terminal and table states.