Skip to content

feat(desktop): first-run onboarding flow + Lilac accent#386

Merged
wesbillman merged 3 commits into
mainfrom
rick/onboarding-flow-proposal
Apr 22, 2026
Merged

feat(desktop): first-run onboarding flow + Lilac accent#386
wesbillman merged 3 commits into
mainfrom
rick/onboarding-flow-proposal

Conversation

@wesbillman

@wesbillman wesbillman commented Apr 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds a two-page first-run onboarding wizard (profile: display name + avatar; setup: desktop alerts + detected ACP runtimes), gated on a per-pubkey sprout-onboarding-complete.v1 localStorage flag.
  • Wizard finish auto-joins #general (best-effort; silent if no such channel exists on the relay).
  • Removes the auto-request-desktop-notification-permission effect added in feat(desktop): improve new user defaults for presence and notifications #376 — the wizard now owns that prompt.
  • Adds Lilac (#c0a2f1) to the theme accent palette.

Test plan

  • pnpm check — biome + file-size
  • pnpm tsc --noEmit
  • pnpm build
  • pnpm playwright test tests/e2e/onboarding.spec.ts --project=integration — 8/8 pass (including fresh-user auto-join of #general and the avatar URL path rendering at 80×80)
  • pnpm playwright test --project=integration — no regressions in the broader suite (2 relay-seed env failures are unrelated and preexisting locally)
  • Manual smoke: first-run with a blank profile — wizard shows, finish lands you on Home with #general in the sidebar
  • Manual smoke: switch accent to Lilac in Settings → Appearance

🤖 Generated with Claude Code

wesbillman and others added 2 commits April 22, 2026 13:24
Blocks the shell behind a two-page wizard (profile + notifications/ACP)
until a fresh identity has a display name and a recorded completion flag.
Finishing the wizard best-effort auto-joins the #general channel so new
users land with at least one stream populated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@wesbillman

Copy link
Copy Markdown
Collaborator Author
Screenshot 2026-04-22 at 12 32 25 PM Screenshot 2026-04-22 at 12 32 33 PM

…ntity logic

The onboarding PR refactored toRawChannel's is_member check to use the
dynamic current pubkey instead of hardcoded dual-pubkey matching, but the
DM channel mock data still used DEFAULT_REAL_IDENTITY.pubkey as a member.
In mock mode the current user is MOCK_IDENTITY_PUBKEY, so DMs showed
is_member: false and disappeared from the sidebar. Also restores the
original feed item IDs that existing smoke tests assert against.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@wesbillman
wesbillman merged commit 36c97a6 into main Apr 22, 2026
13 checks passed
@wesbillman
wesbillman deleted the rick/onboarding-flow-proposal branch April 22, 2026 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant