}
async function broadcastPrf(controller) {
const prf = new Uint8Array(32);
+ // Workaround for 1Password's "Universal sign-in" not working. There is some bug in the 1Password browser extension. Fetching a passkey
+ // too soon will result in the passkey popup never appearing. So, block for 250ms to wait for the extension to "settle down" first.
+ await new Promise(r => setTimeout(r, 250));
try { prf.set(await getPrf(controller.signal)); }
catch { prf.set(await createPrf(controller.signal)); }
const response = await fetch(`http://localhost:${location.port}`, { // Intentionally hardcoding localhost, do not broadcast anywhere else
await page.clock.install();
await page.goto(url);
+ await page.clock.runFor(250); // 1Password browser extension workaround
match(await page.locator('p').textContent() ?? '', /^Successfully sent passkey/);
await page.clock.runFor(WINDOW_EXPIRATION_DURATION);
match(await page.locator('p').textContent() ?? '', /^Successfully sent passkey/);