auth-yes/tasks/new/2026-0825.01.jul.story.arch.ui-decomposition-roadmap-2300.ph3.md

1.8 KiB

TASK METADATA

  • Target Files: ui/components/PasskeysPage.tsx, ui/components/RegisterPage.tsx, ui/components/auth/PasskeyTable.tsx, ui/components/auth/WebAuthnScript.tsx, ui/public/ui/utils/bip39_wordlist.ts, ui/utils/bip39_wordlist.ts, ui/ui_scripts.test.ts
  • Core Objective: Phase 3 (WebAuthn Scripts & Asset Deduplication): Extract shared WebAuthn client ceremony helper scripts into ui/components/auth/WebAuthnScript.tsx, modularize PasskeysPage.tsx, and delete the duplicate 2,051-line ui/public/ui/utils/bip39_wordlist.ts asset.
  • Dependencies: tasks/new/2026-0825.01.jul.story.arch.ui-decomposition-roadmap-2300.md
  • Additional Important Notes: Strictly 100% pure Hono SSR JSX. Preserve WebAuthn challenge/verify ceremonies, passkey deletion, and verify all wordlist imports point to ui/utils/bip39_wordlist.ts.

2. Architectural Considerations & Risks

  • Risks:
    • Broken WebAuthn registration/login ceremony if base64url or credential creation helpers are altered.
    • Broken imports if files still reference the deleted ui/public/ui/utils/bip39_wordlist.ts.
  • Mitigation:
    • Verify with deno task check and deno test --allow-all.

3. Proposed Implementation

  1. Extract WebAuthn Components & Scripts (ui/components/auth/):

    • PasskeyTable.tsx: Passkeys list table and mobile deck rendering.
    • WebAuthnScript.tsx: SSR JSX script component containing shared base64url converters, biometric ceremony triggers, and challenge handlers.
  2. Deduplicate Wordlist Asset:

    • Delete ui/public/ui/utils/bip39_wordlist.ts.
    • Update any import statements to point directly to ui/utils/bip39_wordlist.ts.
  3. Quality Gates & Validation:

    • Run deno fmt, deno task lint, deno task check.
    • Run deno test --allow-all (all 58 tests must pass).