explore(desktop): discovery-first onboarding landing (Discord-style) - #5976
Open
thomaspblock wants to merge 1 commit into
Open
explore(desktop): discovery-first onboarding landing (Discord-style)#5976thomaspblock wants to merge 1 commit into
thomaspblock wants to merge 1 commit into
Conversation
First open now lands on a community discovery screen instead of the agent-setup corridor. Featured communities are joinable in one click: identity is persisted silently and a first-community onboarding transaction connects to the chosen relay, deferring backup, harness, and agent config to post-join. The old corridor remains reachable via 'advanced setup', and key import via 'use an existing key'. Also fixes OnboardingFooter stacking so the Back button stays clickable above wide docked CTA groups. Exploration for the community-first onboarding flip (Track 2). Co-authored-by: Thomas Petersen <thomasp@squareup.com> Signed-off-by: Thomas Petersen <thomasp@squareup.com>
Contributor
Author
thomaspblock
pushed a commit
that referenced
this pull request
Aug 15, 2026
themiguelamador
suggested changes
Aug 16, 2026
themiguelamador
left a comment
There was a problem hiding this comment.
Two blockers remain in the discovery-first join path:
communityOnboarding.start()deliberately returnsfalsewhen a different onboarding transaction is already pending.quickJoinCommunityignores that result and still callscomplete(identity.pubkey). An acknowledged deep-link transaction therefore lets the user click a featured card, completes machine onboarding, and then connects the other pending community instead of the one shown.- Three cards are marked
openJoin: trueeven though their relay hosts do not resolve (agents.buzz.builderlab.xyz,nostr.buzz.builderlab.xyz, andnomads.buzz.builderlab.xyz).DiscoveryLandingnever consultsopenJoin, so all three dead endpoints are advertised as working one-click joins.
I fixed both in Complear:review/pr-5976-fix at 01bc5be66f5b4ed54380c7655aa7794bc8f779b7: rejected transaction starts now leave machine onboarding incomplete and show an actionable error; unavailable entries render disabled “Coming soon” buttons; and the E2E spec covers both the disabled catalog entries and the pending-transaction collision.
Verification:
- fresh
pnpm build:e2e— passed - focused discovery Playwright suite — 2 passed
- screenshot SHA-256 check — all 3 states distinct
- focused Biome — clean
pnpm exec tsc --noEmit— passedpnpm test— 4,954 passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
Exploration: discovery-first onboarding (Discord-style). On first open, the app lands on a community discovery screen instead of the agent-setup corridor.
discoverpage prepended toMachineOnboardingPage— now the initial page (identity-lost still routes to key import;initialPageoverrides preserved).DiscoveryLanding.tsx: featured community cards with one-click Join, plus "advanced setup" (old corridor) and "use an existing key" (key import) escape hatches.getIdentity(), machine onboarding completes, and afirst-communitycommunity-onboarding transaction connects to the chosen relay. Backup / harness / config become post-join concerns.featuredCommunities.ts: static featured-community list (incl. Buzz HQ) — a relay-served directory is a natural follow-up.OnboardingFooterrenders the footer slot before the Back button so Back stays clickable above wide docked CTA groups (found via the e2e spec — the identity help trigger'spointer-events-autogroup intercepted clicks).discovery-landing-shot.spec.tsadded to the smoke project.Verification
tscclean, biome + repo checks ALL_GREENLinks