PWA Launch Tester

Before Chrome 146, reloading a PWA page re-queued launchParams — causing the consumer callback to fire again on every reload. Chrome 146 fixes this: launchParams only fires once, on the initial launch. Simulate the full flow below.

Reload Count
0
Consumer Fires (v146)
0
Consumer Fires (pre-v146)
0

1. Simulate Initial Launch

Press "Launch" to simulate the PWA being opened by the OS with a target URL and a file. The consumer callback fires once with the LaunchParams object.

LaunchParams Consumer Log

Code — setConsumer Handler

if ('launchQueue' in window) { window.launchQueue.setConsumer(async (launchParams) => { // Chrome 146: this fires ONCE — on initial launch only. // Reloading the page does NOT re-invoke this callback. const targetURL = launchParams.targetURL; // e.g. "https://myapp.example/app?source=file" for (const handle of launchParams.files) { const file = await handle.getFile(); console.log('Opening file:', file.name); await processFile(file); } // Safe: no need to guard against duplicate invocations on reload }); }