diff options
| author | Adam Soltys <[email protected]> | 2026-11-07 08:08:25 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-11-07 08:08:25 -0700 |
| commit | 1d689216a87311298f362bb6b3d29c0ce5246821 (patch) | |
| tree | 07d876a00145979872988b7a73101b521fce31a5 /tools/onboard-backup-test.js | |
| parent | 88585916cec0343b4c4fc3b75d931ad460ad00cc (diff) | |
| download | coinosv3-1d689216a87311298f362bb6b3d29c0ce5246821.tar.gz coinosv3-1d689216a87311298f362bb6b3d29c0ce5246821.zip | |
A new seed phrase comes in three steps: a heads-up, the words, then one word to pick. "Reintroduce the seed phrase preamble telling users to write it down but don't give it a warning icon … an intermediary step before we display the seed phrase … instead of verify and skip buttons just have a next and another intermediate step that asks for just the 5th seed word and gives a few options to click and also a skip button" (Adam, 2026-11-07). Creating a wallet (front door, Accounts, signInAnother) now opens on a plain note, "Next you'll see your seed phrase: 12 words … Write them down on paper, in order … make sure no one is looking", with Show seed phrase; the words page has one Next; the check asks "Which one is word #5?" with four of the phrase's own words as buttons (a wrong one turns red and says "Not that one"), Skip, and Show the words again. The gift claim's new-wallet backup gets the same three steps in place of its warning box and typed three-word check, and a sign-in's "Write down your recovery phrase" shows its explanation first and the words behind Show seed phrase (Later still on both). createStep starts at 'intro'; pickConfirm returns { index, options, wrong }
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01VMan6Ts5Tktega8VbLg31q
Diffstat (limited to 'tools/onboard-backup-test.js')
| -rw-r--r-- | tools/onboard-backup-test.js | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/tools/onboard-backup-test.js b/tools/onboard-backup-test.js index 3eefb02..8fc1071 100644 --- a/tools/onboard-backup-test.js +++ b/tools/onboard-backup-test.js @@ -87,8 +87,11 @@ try { // words on screen at once, with what they are. await page.evaluate(() => document.getElementById('onb-create')?.click()); await sleep(600); - // the warning box that said "write these 12 words down" is gone - // (2026-11-06): the words themselves are the explanation + // a heads-up first, no warning icon (2026-11-07): sensitive words next + const intro = await page.evaluate(() => ({ words: document.querySelectorAll('.words .w').length, text: document.body.innerText, warn: !!document.querySelector('.warn-box') })); + check('the words wait behind a heads-up to write them down', intro.words === 0 && /write them down/i.test(intro.text) && !intro.warn && !/⚠/.test(intro.text)); + await page.evaluate(() => document.getElementById('seed-intro-next')?.click()); + await sleep(400); const made = await page.evaluate(() => document.querySelectorAll('.words .w .t').length); check('the way in shows what the wallet actually is: its twelve words', made === 12, made + ' words'); await page.close(); @@ -135,6 +138,9 @@ try { { const { page, ctx, seed } = await signIn(); check('a sign-in is asked to write the phrase down', await waitText(page, 'write down your recovery phrase')); + check('...with the words behind Show seed phrase', await page.evaluate(() => !document.querySelector('.words'))); + await click(page, 'show seed phrase'); + await sleep(300); const shown = await page.evaluate(() => [...document.querySelectorAll('.words .w .t')].map((e) => e.textContent.trim())); check('...and the real twelve words are on screen', shown.length === 12 && shown.join(' ') === seed, shown.length + ' words' + (shown.join(' ') === seed ? ', matching the derived seed' : ', WRONG')); |
