auth-yes/tasks/complete/2026-0825.01.jul.story.arch.ui-decomposition-roadmap-2300.ph3.md
google-labs-jules[bot] afaecdaa26 Extract WebAuthn Components & Deduplicate Assets
- Extracted `PasskeyTable` and `WebAuthnScript` into `ui/components/auth/`.
- Refactored `PasskeysPage.tsx` and `RegisterPage.tsx` to use the new components instead of inline scripts and HTML.
- Deleted the duplicate `ui/public/ui/utils/bip39_wordlist.ts` and `ui/public/ui/utils/bip39.ts`.
- Updated all import references to use `ui/utils/bip39_wordlist.ts` and `/public/utils/bip39.ts`.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 06:54:29 +00:00

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).