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

39 lines
1.5 KiB
Markdown

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