init
This commit is contained in:
44
.opencode/skills/chrome-devtools/scripts/ws-debug.js
Normal file
44
.opencode/skills/chrome-devtools/scripts/ws-debug.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import { getBrowser, getPage, disconnectBrowser, outputJSON } from './lib/browser.js';
|
||||
|
||||
async function debugWs() {
|
||||
const browser = await getBrowser();
|
||||
const page = await getPage(browser);
|
||||
|
||||
const logs = [];
|
||||
const wsEvents = [];
|
||||
|
||||
// Capture console
|
||||
page.on('console', msg => {
|
||||
logs.push({ type: msg.type(), text: msg.text() });
|
||||
});
|
||||
|
||||
// Monitor WebSocket via CDP
|
||||
const client = await page.createCDPSession();
|
||||
await client.send('Network.enable');
|
||||
|
||||
client.on('Network.webSocketCreated', e => wsEvents.push({ event: 'created', ...e }));
|
||||
client.on('Network.webSocketWillSendHandshakeRequest', e => wsEvents.push({ event: 'handshake', ...e }));
|
||||
client.on('Network.webSocketHandshakeResponseReceived', e => wsEvents.push({ event: 'response', ...e }));
|
||||
client.on('Network.webSocketClosed', e => wsEvents.push({ event: 'closed', ...e }));
|
||||
client.on('Network.webSocketFrameError', e => wsEvents.push({ event: 'error', ...e }));
|
||||
|
||||
await page.goto('http://localhost:5173', { waitUntil: 'networkidle0', timeout: 15000 });
|
||||
|
||||
// Wait for WS connections
|
||||
await new Promise(r => setTimeout(r, 5000));
|
||||
|
||||
outputJSON({
|
||||
success: true,
|
||||
url: page.url(),
|
||||
logs: logs.filter(l => l.text.toLowerCase().includes('websocket') || l.text.toLowerCase().includes('ws') || l.type === 'error'),
|
||||
wsEvents
|
||||
});
|
||||
|
||||
await disconnectBrowser();
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
debugWs().catch(e => {
|
||||
console.error(JSON.stringify({ success: false, error: e.message }));
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user