diff options
| author | Adam Soltys <[email protected]> | 2026-09-13 09:48:54 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-09-13 09:48:54 -0700 |
| commit | 38b3d091e8e1bece958c0d7e80a5ee78434de933 (patch) | |
| tree | a6ef243527c8f8c9499d90ffb9e2c43d9d03a8b2 /tools/lock-wallet-test.js | |
| parent | 810d3d8bfd523a8a2a4a51cd2e426d72af049d13 (diff) | |
| download | coinosv3-38b3d091e8e1bece958c0d7e80a5ee78434de933.tar.gz coinosv3-38b3d091e8e1bece958c0d7e80a5ee78434de933.zip | |
The front door points at your own keys.
Four buttons of equal weight, and only the sign-in ones said what they
did. "Get started" said nothing, so the concrete offer on that screen was
Google — which is a convenience wrapped around a seed phrase, not an
alternative to one.
Now the page says what the wallet is before it offers a button, the way
in reads "Create a new wallet" with the cost under it (a minute, twelve
words), and the three sign-ins sit below a line labelled "or, if you
already have an account".
And the second half of the same problem: a wallet that arrives by sign-in
has a recovery phrase its owner has never seen and nobody can reissue.
So the wizard shows it once, right after the first login, while it still
reads as setting up rather than as a warning out of nowhere. "I've
written it down" is the way on; "Later" is a real answer, and the wallet
then keeps one quiet line — not a modal, not dismissible, gone the moment
the phrase is actually seen, here or in settings.
seedSeen records that per account: creating shows the words, importing
means they typed them, revealing in settings counts. Only a derived seed
starts false, which is exactly the case worth asking about.
tools/onboard-backup-test.js covers both halves, including that "Later"
leaves a reminder that survives a reload and leads somewhere.
The sixteen tests that clicked the old button by its text are updated,
and it has an id now so its copy can change without breaking them again.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_019mrt228Upn9nNCwGixzSLx
Diffstat (limited to 'tools/lock-wallet-test.js')
| -rw-r--r-- | tools/lock-wallet-test.js | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/lock-wallet-test.js b/tools/lock-wallet-test.js index 8db392a..494195e 100644 --- a/tools/lock-wallet-test.js +++ b/tools/lock-wallet-test.js @@ -44,7 +44,7 @@ try { await page.evaluate(() => localStorage.setItem('btc-wallet-network', 'regtest')); await page.reload({ waitUntil: 'domcontentloaded' }); await sleep(400); - await click('button', 'Get started'); + await click('button', 'Create a new wallet'); await sleep(500); await click('button', 'Import existing'); await sleep(400); @@ -76,7 +76,7 @@ try { await logout(); txt = await body(); check('it does not ask a second time', !/protect this device/i.test(txt), txt.slice(0, 120).replace(/\n+/g, ' | ')); - check('logout means the front door', /create new|get started|sign in/i.test(txt), txt.slice(0, 120).replace(/\n+/g, ' | ')); + check('logout means the front door', /create a new wallet|sign in/i.test(txt), txt.slice(0, 120).replace(/\n+/g, ' | ')); await page.reload({ waitUntil: 'domcontentloaded' }); check('and a saved passwordless wallet is one reload away', await waitText('receive')); await sleep(1000); @@ -109,7 +109,7 @@ try { check('back in the wallet', await waitText('receive')); await logout(); txt = await body(); - check('logout is still the front door', /create new|get started|sign in/i.test(txt), txt.slice(0, 120).replace(/\n+/g, ' | ')); + check('logout is still the front door', /create a new wallet|sign in/i.test(txt), txt.slice(0, 120).replace(/\n+/g, ' | ')); check('the wallet is still saved', (await vaultSize()) > 0); await page.reload({ waitUntil: 'domcontentloaded' }); await sleep(800); @@ -148,7 +148,7 @@ try { await sleep(1200); txt = await body(); check('everything is gone', (await vaultSize()) === 0); - check('back at the start page', /get started/i.test(txt), txt.slice(0, 120).replace(/\n+/g, ' | ')); + check('back at the start page', /create a new wallet/i.test(txt), txt.slice(0, 120).replace(/\n+/g, ' | ')); } catch (e) { check('run completed', false, e.message); } finally { |
