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.

fix(identity-wallet): address Phase 3 code review feedback

- Issue 1: Replace $effect.pre with onMount in EmailVerificationScreen.svelte (line 91-95)
Root cause: $effect.pre auto-tracks reactive dependencies and would re-run if 'did' changed,
causing unnecessary verification email re-sends. onMount is the pattern used in AuthenticatingScreen
for 'run once on mount' side effects.

- Issue 2: Add :not(:disabled) to :active pseudo-class in PdsAuthScreen.svelte (lines 182, 191)
Root cause: Missing :not(:disabled) guard allows disabled buttons to show pressed state.
EmailVerificationScreen correctly uses :active:not(:disabled), ensuring consistency.

- Issue 3: Simplify sendVerificationEmail catch block in EmailVerificationScreen.svelte (lines 34-46)
Root cause: Unused variable 'err' assigned but never read; both branches produced identical error.
Simplified to single error message without the conditional guard.

- Issue 4: Remove redundant transition: background-color 0.2s from button styles
Root cause: Added transition in both components, but existing screens (HandleScreen, AuthenticatingScreen)
don't use it. Removed to align with codebase patterns.

authored by

Malpercio and committed by
Tangled
d0ae8f4e e681c593

+6 -21
+4 -18
apps/identity-wallet/src/lib/components/onboarding/EmailVerificationScreen.svelte
··· 1 1 <script lang="ts"> 2 + import { onMount } from 'svelte'; 2 3 import { 3 4 requestClaimVerification, 4 5 signAndVerifyClaim, ··· 30 31 try { 31 32 await requestClaimVerification(did); 32 33 sending = false; 33 - } catch (raw: unknown) { 34 + } catch { 34 35 sending = false; 35 - 36 - // Guard against non-ClaimError shapes 37 - if ( 38 - typeof raw === 'object' && 39 - raw !== null && 40 - 'code' in raw && 41 - typeof (raw as ClaimError).code === 'string' 42 - ) { 43 - const err = raw as ClaimError; 44 - sendError = 'Failed to send verification email. Please try again.'; 45 - } else { 46 - sendError = 'Failed to send verification email. Please try again.'; 47 - } 36 + sendError = 'Failed to send verification email. Please try again.'; 48 37 } 49 38 } 50 39 ··· 88 77 89 78 // ── Initialization ─────────────────────────────────────────────────────── 90 79 // Send verification email on component mount 91 - $effect.pre(() => { 92 - // This runs synchronously before rendering, allowing us to start the 93 - // async operation immediately and show the spinner 80 + onMount(() => { 94 81 sendVerificationEmail(); 95 82 }); 96 83 </script> ··· 243 230 font-size: 1rem; 244 231 font-weight: 600; 245 232 cursor: pointer; 246 - transition: background-color 0.2s; 247 233 } 248 234 249 235 .primary {
+2 -3
apps/identity-wallet/src/lib/components/onboarding/PdsAuthScreen.svelte
··· 171 171 font-size: 1rem; 172 172 font-weight: 600; 173 173 cursor: pointer; 174 - transition: background-color 0.2s; 175 174 } 176 175 177 176 .primary { ··· 179 178 color: #fff; 180 179 } 181 180 182 - .primary:active { 181 + .primary:active:not(:disabled) { 183 182 background: #0051d5; 184 183 } 185 184 ··· 188 187 color: #374151; 189 188 } 190 189 191 - .secondary:active { 190 + .secondary:active:not(:disabled) { 192 191 background: #e5e7eb; 193 192 } 194 193