Source 0026 — ✅ As a User, I want to join a site from the app with my existing account

Source decision 0026 — ✅ As a User, I want to join a site from the app with my existing account


    Original source · exact version bafyreidph2qodlq3enowjhmrupyggkx35v7dskj6umjmtzxt7do4eli5ym · Read-derived block

    Classification: story; source kind: story; decision: approve; confidence: high; review status: needs-review.

    Rationale: An explicit app membership story with acceptance criteria, flow and edge cases. Its authenticated join result is distinct from account creation and from avatar-triggered sign-in alone.

    Review qualification: Uncertain identity/behavior/duplication remains a separate candidate; do not merge without review.

    Canonical target (to be published after manifest): Proposed canonical target

Similar source candidates — kept separate

Evidence snapshot: original readable text and block backlinks

    Heading Acceptance Criteria source block

    Paragraph A Join button is visible in the site top bar. Tapping Join opens a modal within the app that shows the site name and two options: Create identity in Hypermedia and Already have a Hypermedia identity, plus a quick link labeled "I have an identity from another site?" source block

    Paragraph The modal copy explains that the site is built with Hypermedia and that creating an identity takes two minutes — no technical language source block

    Paragraph Tapping "Already have a Hypermedia identity" takes the user to the email screen inside the Hypermedia sign-in flow source block

    Paragraph Valid email advances to the passkey screen showing "Good to see you again" and the email address to remind source block

    Paragraph Passkey confirmation uses device biometrics or PIN source block

    Paragraph On successful passkey confirmation, the user sees a "Join [site name]" screen showing all their available identities; the currently active identity is pre-selected with a checkmark source block

    Paragraph Primary CTA is "Start participating" — one tap, no further steps source block

    Paragraph On joining, the site is added to Joined Sites in the sidebar immediately and the Join button disappears from the site top bar source block

    Paragraph A toast alert appears: "You've joined [site name] — you can now comment and participate" and auto-dismisses after ~3 seconds source block

    Paragraph No new identity is created — the user's existing remote identity is used throughout and user is as a full member with participation features source block

    Heading Basic Flow source block

    Paragraph User is viewing a site in the app — Join button visible in top bar source block

    Paragraph Taps Join — modal opens showing "Join [site name]" source block

    Paragraph Taps "Already have a Hypermedia identity" source block

    Paragraph Enters email linked to their Hypermedia identity source block

    Paragraph Taps Continue — passkey screen appears source block

    Paragraph Confirms with passkey source block

    Paragraph "Join [site name]" screen shows available identities — primary identity pre-selected source block

    Paragraph Taps "Start participating" source block

    Paragraph Returns to site as member — Join button gone, site added to sidebar, toast appears source block

    Heading Edge Cases source block

    Paragraph ⚠️ Invalid email format → inline error: "That doesn't look like a valid email. Check for typos and try again." Button disabled until fixed source block

    Paragraph ⚠️ Email not linked to any Hypermedia identity → "No Hypermedia identity found for this email." with option to create one instead source block

    Paragraph Passkey source block

    Paragraph ⚠️ Device does not support passkeys → fallback method offered, user not blocked (password needs to be developed later) source block

    Paragraph ⚠️User cancels the biometric prompt → returns to passkey screen, can retry source block

    Paragraph ⚠️ Passkey creation fails due to device error → retry option shown source block

    Paragraph Clear error messages: avoid: "Failed to fletched" "Invalid Handoff token" review this one by one source block

    Paragraph ⚠️ User taps "Use another email" → returns to email screen, previous entry cleared source block

    Paragraph ⚠️ User is already a member of this site → join confirmation is skipped, user lands directly as a member with no duplicate entry created source block

    Paragraph ⚠️ User taps "I have an identity from another site?" → path TBD source block

    Paragraph ⚠️ User closes the modal mid-flow → returns to site as guest, no partial state created, Join button remains visible source block

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime

Attributes
name
Source 0026 — ✅ As a User, I want to join a site from the app with my existing account
owner
status
needs-review
sources
1.
reviewStatusneeds-review
sourceBlockIddDuCOctU
sourceVersionbafyreidph2qodlq3enowjhmrupyggkx35v7dskj6umjmtzxt7do4eli5ym
sourceDocument
extractionRationaleAn explicit app membership story with acceptance criteria, flow and edge cases. Its authenticated join result is distinct from account creation and from avatar-triggered sign-in alone.
reviewer
confidence
high
provenance
1.
reviewStatusneeds-review
sourceBlockIddDuCOctU
sourceVersionbafyreidph2qodlq3enowjhmrupyggkx35v7dskj6umjmtzxt7do4eli5ym
sourceDocument
extractionRationaleAn explicit app membership story with acceptance criteria, flow and edge cases. Its authenticated join result is distinct from account creation and from avatar-triggered sign-in alone.
candidateType
story
proposedRecord
reviewDecision
approve
reviewRationale
Horacio-authorized source-faithful migration decision. Near matches deliberately remain separate pending reviewer reconciliation.
duplicateCandidates
1.
classificationRationale
An explicit app membership story with acceptance criteria, flow and edge cases. Its authenticated join result is distinct from account creation and from avatar-triggered sign-in alone.
Attributes schemaThe fields this document carries.
Fetching schema…