An easy-to-host PDS on the ATProtocol, iPhone and MacOS. Maintain control of your keys and data, always.
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(identity-wallet): MM-144 mobile onboarding flow UI #31

Summary#

  • Rust backend (Phases 1-2): Added keychain.rs (iOS Keychain abstraction), http.rs (relay HTTP client, shared LazyLock static), and create_account Tauri IPC command — P-256 keygen → Keychain → relay POST → token storage. Six typed error variants serialized as { code: "SCREAMING_SNAKE" }.
  • Frontend (Phases 3-4): Five Svelte 5 onboarding screen components (WelcomeScreen, ClaimCodeScreen, EmailScreen, HandleScreen, LoadingScreen). +page.svelte replaced the greet demo with a five-screen state machine (welcome → claim_code → email → handle → loading → did_ceremony) with full error-code-to-screen rewinding. Typed createAccount() wrapper in ipc.ts.
  • Tests: 7 serde serialization unit tests verify the Rust↔TypeScript IPC contract. 315 total tests passing.

Test Plan#

  • cargo test --workspace (315 tests)
  • cargo clippy --workspace -- -D warnings
  • pnpm build in apps/identity-wallet/
  • pnpm exec svelte-check (0 errors)
  • Manual E2E per docs/test-plans/2026-03-15-MM-144.md
Labels

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:web:malpercio.dev/sh.tangled.repo.pull/3mh4po6x2n222
Diff #0

No differences found between the selected revisions.

History

1 round 0 comments
sign up or login to add to the discussion
malpercio.dev submitted #0
patch application failed: error: No valid patches in input (allow with "--allow-empty")
expand 0 comments