Local E2E runner This E2E runner automates the UI flow for Broadcast Panel -> StudioPortal -> LiveKit token handshake. Prereqs - Node 18+ - npm packages installed in `packages/broadcast-panel` (run `npm install` there) - Either a local Chrome launched with remote debugging or access to a remote browser service like browserless Start local Chrome with remote debugging (example): ```bash cd packages/broadcast-panel/e2e chmod +x start-chrome-remote.sh ./start-chrome-remote.sh # verify curl http://localhost:9222/json/version ``` Run the E2E runner connecting to a remote Chrome (default) or browserless: ```bash # Connect to local remote-debugging chrome cd packages/broadcast-panel node e2e/run_local_e2e.js --ws http://localhost:9222 --show # Or connect to browserless remote (example) REMOTE_WS="wss://browserless.bfzqqk.easypanel.host?token=e2e098863b912f6a178b68e71ec3c58d" node e2e/run_local_e2e.js --show # To point to specific backend/broadcast hosts (useful when running remote browserless): REMOTE_WS="..." BROADCAST_URL="https://avanzacast-broadcastpanel.bfzqqk.easypanel.host" TOKEN_SERVER="https://avanzacast-servertokens.bfzqqk.easypanel.host" node e2e/run_local_e2e.js --show ``` Notes - The script will postMessage the LIVEKIT_TOKEN to the StudioPortal when a token is created in backend-api. - If StudioPortal does not auto-connect, the runner will attempt to click a "Conectar" button (class .btn-small). - Logs and screenshots are saved to `packages/broadcast-panel/e2e/out`.