diff options
| author | Adam Soltys <[email protected]> | 2026-07-04 08:38:12 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-07-04 08:38:12 -0700 |
| commit | 65ad54a060a8035d8cf1e1ca2004f7c3bc5ff296 (patch) | |
| tree | a89500ec5f59c3cb6a8e7f79bbb71f27cf6cf2e1 /tools | |
| parent | fdbae7472b42cf9bb8bbdf7d069be287a1cb7fc9 (diff) | |
| download | coinosv3-65ad54a060a8035d8cf1e1ca2004f7c3bc5ff296.tar.gz coinosv3-65ad54a060a8035d8cf1e1ca2004f7c3bc5ff296.zip | |
History: gifts are timeline entries, not a separate section
Gift links now sort into the send/receive timeline like any entry: a
clickable row (🎁, status tag, age, amount) opening a detail page that
carries the date/status plus the actions that used to crowd the list
row (view gift link, cancel/reclaim with the existing confirm flow).
A claimed gift merges into its claim transaction's row — labeled as the
gift, clickable to the tx detail, which gains a "This transaction
delivered your gift" section (claim txid resolved via outspend and
cached on the gift record). The old pinned gifts header and the
paginated all-gifts view are gone.
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QFAcD4V284DvYZZHP7Rxxy
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/ark/gift-shot.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/ark/gift-shot.js b/tools/ark/gift-shot.js index b0c9ca5..948854c 100644 --- a/tools/ark/gift-shot.js +++ b/tools/ark/gift-shot.js @@ -90,6 +90,23 @@ const t0 = Date.now(); const celebrated = await waitText('Payment received', 10000); console.log('celebration:', celebrated, 'after', Date.now() - t0, 'ms'); await page.screenshot({ path: '/tmp/gift-claimed.png' }); + +// tap through, mine so the claim settles, then check History +await clickText('.card', 'Payment received'); +await sleep(400); +sh(`${BCLI} generatetoaddress 1 $(${BCLI} getnewaddress) >/dev/null`); +await sleep(4000); // scan + outspend resolution +await clickText('.tabs button', 'History'); +await sleep(2500); +const rows = await page.evaluate(() => [...document.querySelectorAll('.item')].map((e) => e.textContent.replace(/\s+/g, ' ').trim())); +console.log('history rows:', JSON.stringify(rows.slice(0, 5), null, 1)); +const giftRows = rows.filter((r) => r.toLowerCase().includes('gift link')); +console.log('gift rows in timeline:', giftRows.length); +await page.evaluate(() => { const el = [...document.querySelectorAll('.item')].find((e) => e.textContent.toLowerCase().includes('gift link')); if (el) el.click(); }); +await sleep(800); +const detail = await page.evaluate(() => document.body.innerText); +console.log('gift detail page:', /🎁 Gift link/.test(detail), '| link+cancel actions:', detail.includes('View link') || detail.includes('Cancel')); +await page.screenshot({ path: '/tmp/gift-history.png' }); console.log('done'); await browser.close(); dev.kill(); |
