Cesar Mendivil 8b458a3ddf feat: add initial LiveKit Meet integration with utility scripts, configs, and core components
- Add Next.js app structure with base configs, linting, and formatting
- Implement LiveKit Meet page, types, and utility functions
- Add Docker, Compose, and deployment scripts for backend and token server
- Provide E2E and smoke test scaffolding with Puppeteer and Playwright helpers
- Include CSS modules and global styles for UI
- Add postMessage and studio integration utilities
- Update package.json with dependencies and scripts for development and testing
2025-11-20 12:50:38 -07:00

1.5 KiB

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):

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:

# 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.