diff options
| author | Adam Soltys <[email protected]> | 2026-10-07 12:02:51 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-10-07 12:02:51 -0700 |
| commit | 86d9818abfc160dac031bb292abe28d6f28fc624 (patch) | |
| tree | a96983d60fb0f4dcb92a04c7aba50761da05cf9f /tools/comments-test.js | |
| parent | b415b1fb31bd734619e1da3c88ca7e3822151c87 (diff) | |
| download | coinosv3-86d9818abfc160dac031bb292abe28d6f28fc624.tar.gz coinosv3-86d9818abfc160dac031bb292abe28d6f28fc624.zip | |
Browser tests: public relays answered in the page, never reached
A suite run let ~90 throwaway test wallets subscribe and publish on public
relays from one home address, and nos.lol and relay.damus.io banned it.
tools/puppeteer.js wraps puppeteer-core: every socket to a non-local host
gets an in-page stand-in relay (EVENT -> OK, REQ -> EOSE). Tests that read
real content launch with { relays: 'read' } (real reads, publishes answered
in place); feed-live, chat-layout and cordn-ui launch with { relays: 'live' }.
LIVE_RELAYS=read|1|host,... overrides per run.
profile-key-qr: measure the QR again if a repaint swapped it out.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'tools/comments-test.js')
| -rw-r--r-- | tools/comments-test.js | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/comments-test.js b/tools/comments-test.js index 6801f44..5a73e6f 100644 --- a/tools/comments-test.js +++ b/tools/comments-test.js @@ -5,7 +5,7 @@ // are caught at the socket; nothing is published. // // Run: bun tools/comments-test.js -import puppeteer from 'puppeteer-core'; +import puppeteer from './puppeteer.js'; import { SimplePool } from 'nostr-tools/pool'; import { buildHtml } from '../build.js'; const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); @@ -23,7 +23,7 @@ for (let i = 0; i < 3 && !(root && comments.length); i++) { if (!root || !comments.length) { console.log(' ✗ the article or its comments are gone from the relays', !!root, comments.length); process.exit(1); } const html = await buildHtml({ minify: true, pwa: false }); const server = Bun.serve({ port: 5283, fetch: () => new Response(html, { headers: { 'content-type': 'text/html' } }) }); -const browser = await puppeteer.launch({ executablePath: '/usr/bin/google-chrome', headless: 'new', args: ['--no-sandbox'] }); +const browser = await puppeteer.launch({ relays: 'read', executablePath: '/usr/bin/google-chrome', headless: 'new', args: ['--no-sandbox'] }); const page = await browser.newPage(); // The article and its comments, fetched above, are also handed to the app // on every relay socket that asks for them: the app reaching the same public |
