How to fix Puppeteer ExtensionTransport tasks and session management
PuppeteerPuppeteer now dispatches each CDP message in its own JavaScript task by scheduling dispatch with setTimeout. This ensures a separate event loop turn for every message, which browsers require. It also fixes the page attach event to occur on the tab target session.
function dispatchCDPMessage(msg) {
// schedule the CDP message in its own task
setTimeout(() => {
sendCdpMessage(msg);
}, 0);
}