Skip to content

feat(onboarding): new-user onboarding tweaks - #1139

Merged
bmc08gt merged 4 commits into
mainfrom
feat/new-user-onboarding-tweaks
Oct 27, 2026
Merged

bmc08gt merged 4 commits into
mainfrom
feat/new-user-onboarding-tweaks

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

New users now land on Chat after onboarding, see only the Add Money row on Money, get a "Complete Your Profile" prompt on You, and set a username from a plain row on Edit Profile. Design: "(Ted) Tweak Screens For New User [Oct 22]", node 12527:81344, frames 10–13. Android ships the same change in code-payments/code-android-app#1862.

One commit per change:

  • Land on Chat (frame 10). HomeTab.initial is .chat, and HomeTabView always starts there. The post-onboarding landing tab (HomeTab.postOnboarding, landingTab, HomeTabView(initialTab:)) is gone, so new and returning users take the same path. HomeTabLandingTests pins it, and both CreateAccountSmokeTests tests now assert the Chat tab is selected.
  • Money tab (frame 11). The new-user tutorial and its "Send Your First Tip" helper are removed. A new user sees only Add Money / "Add money to your account". AddMoneyRowStateTests covers when the row shows.
  • You tab (frame 12). The "Claim your username" row is removed. The Edit Profile button reads "Complete Your Profile" in the currency creator's Next-button blue until the profile is complete, then "Edit Profile" in gray. Complete is Profile.isComplete: profile photo, cover photo and a bio that isn't blank. Favorite chats don't count. A "Favorite Community Chats" section shows "None yet" when empty. ProfileCompletenessTests covers each combination.
  • Edit Profile (frame 13). The copy is now "Add cover photo" and "Add profile photo". Username is a plain row with the current handle. Tapping it below the balance minimum shows "$100 Balance Required" with Add Money and Dismiss. The routing lives in usernameRowDestination(needsClaim:gate:), tested in UsernameGateTests.

Behaviour to check in review:

  • The $100 comes from the server flag userFlags.usernameMinBalance, not a client constant. A zero or missing flag shows no modal.
  • A user who already chose a handle skips the gate, as before. Only an auto-assigned or missing handle sees the modal.
  • "Favorite Public Groups" / "Add groups" is now "Favorite Community Chats" / "Add chats" everywhere, including other users' profiles.
  • The balance message drops the currency code, so a non-USD viewer sees the converted amount without "CAD" and the like.
  • If loading favourites fails, the You tab hides the section instead of showing "None yet".

A new account finishing onboarding now opens on Chat, the tab every
other login already opens on, instead of Money (node 12527:81350).

HomeTab.postOnboarding existed only so onboarding could pass .wallet
to completeLogin, so it goes, along with the landingTab parameter and
SessionAuthenticator.landingTab that carried it. HomeTabView always
opens on HomeTab.initial.
The new-user wallet loses the "Send Your First Tip" checklist and keeps
one row, "Add Money / Add money to your account", which opens Add Money
(node 12527:81782). It hides once the user has added money, the same
point the wallet tiles appear, so the row and the tiles never show
together.

AddMoneyRowState replaces NewUserTutorialState. Tipping no longer feeds
the wallet, so Session.hasEverTipped and Database.hasEverTipped are
deleted along with TutorialChecklistCard.
Frame 12 (node 12527:81838) changes the You tab for a new account:

- "Claim your username" is gone from the header. The username can still
  be set from Edit Profile.
- The edit button reads "Complete Your Profile" on the system blue fill
  until the profile has a photo, a cover photo and a non-blank bio, then
  goes back to the gray "Edit Profile". Username and favorites do not
  count.
- The featured-groups section is titled "Favorite Community Chats"
  everywhere. On the own profile it shows "None yet" when empty, but only
  once the favorites read has succeeded (or there is no username to read
  with), so an account with favorites never flashes the empty line.
Frame 13 (node 12527:81886) changes Edit Profile:

- The cover chip reads "Add cover photo" and the avatar caption "Add
  profile photo" until each is set, then "Change cover" / "Change photo".
- "Claim your username" is gone. The Username row shows the current
  @handle, auto-assigned or chosen, or "Add a username" when there is
  none.
- The gate dialog reads "$100 Balance Required" with the body "Setting a
  custom username requires a balance of $100 or more" and the buttons
  "Add Money" and "Dismiss". The amount comes from the server flag;
  formattedDroppingZeroFraction() keeps "$100" whole and "$12.50" at two
  digits.
@bmc08gt bmc08gt self-assigned this Oct 27, 2026
@bmc08gt
bmc08gt merged commit 56fb397 into main Oct 27, 2026
4 checks passed
@bmc08gt
bmc08gt deleted the feat/new-user-onboarding-tweaks branch October 27, 2026 19:20
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