aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-11-07 08:25:28 -0700
committerAdam Soltys <[email protected]>2026-11-07 08:25:28 -0700
commitd8f90811503d5dd9e827727f52bc10fa3317803f (patch)
tree44fd0c81695cc4df5a37bd886c74ed12318bb0ac /tools
parent1d689216a87311298f362bb6b3d29c0ce5246821 (diff)
downloadcoinosv3-d8f90811503d5dd9e827727f52bc10fa3317803f.tar.gz
coinosv3-d8f90811503d5dd9e827727f52bc10fa3317803f.zip
"Sign into another account" opens the way the start screen does: "Add an account" with Create a new wallet / Sign in to an existing account, then Sign in with Seed phrase, Passkey, Google, Nostr. "Can you update the 'sign in to another account' screen to match the initial start screen?" (Adam, 2026-11-07). It used to open on the old Create new / Import existing tabs with the sign-in buttons stacked underneath. addAccountScreen (unlockScreen while ui.fromWallet && ui.addFlow, set by signInAnother) draws the front door's two steps with the same buttons (frontDoorSignin, short labels, the same loginWith, so a sign-in still adds beside the open accounts); Nostr opens its signer card in place; a choice leads to the front door's seed pages (no tabs, titled Set up your wallet / Enter seed phrase, Back to where the choice was made), and Back on the first step returns to the wallet. The coinos.io migrate door stays on the first-run screen only. The Accounts "new wallet" kind picker keeps the classic card (addFlow false). account-access and padlock-flow tests walk the new screens
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01VMan6Ts5Tktega8VbLg31q
Diffstat (limited to 'tools')
-rw-r--r--tools/account-access-test.js13
-rw-r--r--tools/padlock-flow-test.js4
2 files changed, 12 insertions, 5 deletions
diff --git a/tools/account-access-test.js b/tools/account-access-test.js
index 3e481cc..91fbe05 100644
--- a/tools/account-access-test.js
+++ b/tools/account-access-test.js
@@ -36,13 +36,18 @@ try {
check('avatar opens the wallet settings with sign-in and logout', await page.evaluate(() => ['Security', 'Sign into another account', 'Log out'].every((s) => document.body.innerText.includes(s))));
const saved = await page.evaluate(() => localStorage.getItem('btc-wallet-watch'));
await click('Sign into another account');
- check('sign-in opens on Create new, not the seed import box', await page.evaluate(() =>
- document.querySelector('.tabs .active')?.textContent.includes('Create new') && !document.querySelector('.card textarea')));
+ check('sign-in opens on the front door\'s two choices', await page.evaluate(() =>
+ !!document.getElementById('add-create') && !!document.getElementById('add-signin') && !document.querySelector('.tabs') && !document.querySelector('.card textarea')));
+ await click('Sign in to an existing account');
+ check('...then the sign-in list, seed phrase first', await page.evaluate(() => {
+ const b = [...document.querySelectorAll('.onb button')].map((x) => x.textContent.trim());
+ return b[0] === 'Seed phrase' && b.includes('Nostr');
+ }));
// Expand the Nostr login card without supplying a private key.
- await click('Sign in with Nostr');
+ await click('Nostr');
await page.waitForSelector('input[placeholder="nsec, private key, or bunker://…"]');
check('Nostr key sign-in is reachable without deleting the old wallet', await page.evaluate((saved) => localStorage.getItem('btc-wallet-watch') === saved, saved));
- await click('← Back');
+ for (let i = 0; i < 3; i++) { await click('← Back'); await new Promise((r) => setTimeout(r, 150)); }
await page.waitForSelector('.header-avatar');
await page.click('.header-avatar');
await click('Log out');
diff --git a/tools/padlock-flow-test.js b/tools/padlock-flow-test.js
index dcc0a85..f56d557 100644
--- a/tools/padlock-flow-test.js
+++ b/tools/padlock-flow-test.js
@@ -110,7 +110,9 @@ try {
await p2.evaluate(() => document.querySelector('.header-avatar')?.click()); await sleep(800);
await click2('Sign into another account'); await sleep(500);
await click2('Sign into a new account'); await sleep(500);
- await click2('Import existing'); await sleep(300); // the sign-in screen's import tab
+ // the front door's layout (2026-11-07): sign in → Seed phrase
+ await click2('Sign in to an existing account'); await sleep(300);
+ await click2('Seed phrase'); await sleep(300);
return importWallet();
};
// the wallets on this device, as the identity switcher lists them (the