Files
bitvid/scripts/agent/debug_frontend.py
T
google-labs-jules[bot]andPR0M3TH3AN 4f40025b9d fix(ai): frontend console error — strip xs on localhost (agent)
Diagnosed a CORS error on local development environment caused by WebTorrent fetching `.torrent` files from R2 buckets (via `xs` parameter) that do not allow localhost origin.

Modified `js/webtorrent.js` to strip the `xs` parameter from magnet links when running on `localhost` or `127.0.0.1`. This prevents the browser from attempting the blocked fetch request, resolving the console error while maintaining functionality (falling back to DHT/peers).

Verified using `scripts/agent/debug_frontend.py` which captures frontend console logs via Playwright.

Tests run:
- `npm run lint`
- `npm run test:unit:shard1`
- `python3 scripts/agent/debug_frontend.py` (verified error is gone)

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-01-30 18:53:25 +00:00

24 lines
747 B
Python

import sys
from playwright.sync_api import sync_playwright
def run():
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.on("console", lambda msg: print(f"console:{msg.type}: {msg.text}"))
page.on("pageerror", lambda exc: print(f"pageerror: {exc}"))
page.on("requestfailed", lambda req: print(f"requestfailed: {req.url} - {req.failure}"))
try:
page.goto("http://localhost:8000")
# Wait a bit for JS to execute and errors to appear
page.wait_for_timeout(5000)
except Exception as e:
print(f"Error navigating: {e}")
finally:
browser.close()
if __name__ == "__main__":
run()