From 29c4f48634533c4eae8eb3f0c6d99952d43e74f1 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Sun, 22 Mar 2026 15:49:09 -0700 Subject: [PATCH 1/2] feat(identity): store verified email on profile + show in account modal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Email verification wrote to the `email` column but account status read from `profile_email` — now setUserEmail writes both. Account modal email section displays the verified address when collapsed. Tour finale step triggers identity setup on completion. Co-Authored-By: Claude Opus 4.6 --- shared/components/rstack-identity.ts | 9 ++++++--- src/encryptid/db.ts | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/shared/components/rstack-identity.ts b/shared/components/rstack-identity.ts index b15e029..3619c93 100644 --- a/shared/components/rstack-identity.ts +++ b/shared/components/rstack-identity.ts @@ -711,7 +711,7 @@ export class RStackIdentity extends HTMLElement { let openSection: string | null = null; // Account completion status - let acctStatus: { email: boolean; multiDevice: boolean; socialRecovery: boolean; guardianCount: number; credentialCount: number } | null = null; + let acctStatus: { email: boolean; emailAddress?: string | null; multiDevice: boolean; socialRecovery: boolean; guardianCount: number; credentialCount: number } | null = null; // Lazy-loaded data let guardians: { id: string; name: string; email?: string; status: string }[] = []; @@ -819,10 +819,13 @@ export class RStackIdentity extends HTMLElement { `; } } + const emailDisplay = !isOpen && done && acctStatus?.emailAddress + ? `${acctStatus.emailAddress}` + : ""; return `