- 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>
1.8 KiB
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, modularizePasskeysPage.tsx, and delete the duplicate 2,051-lineui/public/ui/utils/bip39_wordlist.tsasset. - 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 checkanddeno test --allow-all.
- Verify with
3. Proposed Implementation
-
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.
-
Deduplicate Wordlist Asset:
- Delete
ui/public/ui/utils/bip39_wordlist.ts. - Update any import statements to point directly to
ui/utils/bip39_wordlist.ts.
- Delete
-
Quality Gates & Validation:
- Run
deno fmt,deno task lint,deno task check. - Run
deno test --allow-all(all 58 tests must pass).
- Run