As a returning user, I want to sign in to my existing Seed identity from the browser from the avatar icon so that I can access my account across any site I visit, US-03 βSign in via avatar (returning user)
Acceptance Criteria
Avatar icon β not signed in state
The avatar icon is always visible in the top bar regardless of sign-in state
When not signed in the avatar displays as an outlined/dashed circle β no photo, no colour
Tapping the avatar opens the identity modal β no join language appears anywhere in this flow
The modal title is "Your Seed identity" not "Join [site]"
Sign in flow
The modal offers two options: "Create identity in Hypermedia" and "Already have a Hypermedia identity"
A third option "I have an identity from another site?" is available as a quiet link
Tapping "Already have a Hypermedia identity" takes user to the email screen inside Seed Hypermedia
The email screen headline is "Sign in to [site name]" β site context is maintained
Email field validates correct format before submission
Valid email advances to passkey screen showing "Good to see you again" and the email address
Primary action is "Sign in with passkey" using device biometrics or PIN
"Use another email" is available to go back
Return to site β two outcomes resolved silently
On successful sign in the avatar updates immediately β shows user photo if set, filled state if not
The system checks site membership silently on return β no extra screen or prompt
If the user has not joined this site β avatar fills, Join button remains visible, no participation access yet
If the user has already joined this site β avatar fills, Join button disappears, full participation unlocked immediately
No confirmation screen is shown for sign in alone β the UI state change is the confirmation
A toast alert appears only if the user was already a member: "You're back, [name] β you can comment and participate" and auto-dismisses
Basic Flow
User lands on Ethosfera β avatar icon is outlined, Join button visible
User taps avatar icon
"Your Seed identity" modal opens β no join framing
User taps "Already have a Hypermedia identity"
User enters email linked to their Seed identity
User taps Continue β passkey screen appears with "Good to see you again"
User confirms with passkey
Returns to site β avatar fills with photo 9a. Not a member β Join button remains, user can tap it separately to join 9b. Already a member β Join button disappears, participation unlocked, toast appears
Edge Cases
β οΈ Invalid email format β inline error: "That doesn't look like a valid email. Check for typos and try again." Button disabled until fixed
β οΈ Email not linked to any Seed identity β "No Seed identity found for this email." with option to create one instead
β οΈ Email belongs to identity from another domain β redirect to "I have an identity from another site?" path
Passkey
β οΈ Passkey fails or is cancelled β returns to passkey screen with retry and "Send a verification code instead" fallback
β οΈ Device doesn't support passkey β verification code fallback offered automatically
β οΈU ser taps "Use another email" β returns to email screen, previous entry cleared
Navigation
β οΈUser closes the modal mid-flow β returns to site as guest, no partial state created, avatar remains outlined
β οΈUser presses browser back mid-flow β returns to previous step without losing email entry
App
Do you like what you are reading? Subscribe to receive updates.
Unsubscribe anytime