From de8cb7a6f2272fa0b601a155dd244fe3a3a3f331 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 9 Oct 2026 01:41:24 -0700 Subject: Front door: a "Migrate a coinos account" button under the sign-in doors, opening a page that says a wallet and its twelve words come first (Create, or the sign-in doors), and /migrate on a device without a wallet opens on that page instead of an unexplained welcome; while a move is queued the recovery-phrase step offers no Later. Spending step: an account whose custom name the registrar handed back (a wallet a sign-in restored) leaves the wizard instead of being shown a claim form it could only retype its own name into — claiming it again "succeeded" onto the same page; the claim form also waits behind "Getting things ready…" until the registrar lookups settle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5.1 --- src/features/names.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/features') diff --git a/src/features/names.js b/src/features/names.js index ea94d2a..a29ee7d 100644 --- a/src/features/names.js +++ b/src/features/names.js @@ -457,6 +457,9 @@ export function namesFeature(ctx) { // name back, which the wallet key alone could never prove. const signer = await Promise.resolve(hook('nostrLoginResume')).catch(() => null); await claimRequestedName(name, signer ? { signer, manager: wallet.nostrPubkey() } : {}); + // the wizard's Spending step tells a name claimed here from one + // the registrar handed back (an account set up before) + if (ui.onb && ui.onb.step === 'spend') ui.onb.claimedHere = name; ui.nameClaim = ''; ui.nameEditOpen = false; toast(t('namesClaimed', { name: `${name}@${DOMAIN()}` })); @@ -925,7 +928,10 @@ export function namesFeature(ctx) { // for wallets with a history. The background claim still runs. identityGenerated() { checked = true; }, // the onboarding wizard renders the same claim form on its username step - namesClaimForm() { return claimForm(true); }, + // Nothing to type into until the registrar has answered who this wallet + // already is (the wizard shows "Getting things ready…" meanwhile): a + // restored account's name arrives in that window and ends the step. + namesClaimForm() { return checked ? claimForm(true) : null; }, // claim a specific name (the migration flow, after coinos.io released it) namesClaimName(name, opts) { return claimRequestedName(String(name).toLowerCase(), opts || {}); }, stop() { clearTimeout(retryTimer); clearTimeout(deadline); deadline = null; }, -- cgit v1.2.3