chore(agents): run frontend-console-debug-agent weekly task

- Updated scripts/agent/debug_frontend.py to be more robust (timestamps, exit codes).
- Verified no frontend console errors on startup.
- Created task logs (started/completed).

Co-authored-by: PR0M3TH3AN <[email protected]>
This commit is contained in:
google-labs-jules[bot]andPR0M3TH3AN committed 2026-02-13 13:13:27 +00:00
1 parent 05d575d187
commit 87f7ae7616
4 files changed
+84 -10

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
# Weekly Agent Context: frontend-console-debug-agent
- **Date:** 2026-02-13
- **Agent:** frontend-console-debug-agent
- **Goal:** Detect and fix frontend console errors using Playwright.
- **Scope:**
- Create/Update `scripts/agent/debug_frontend.py` to capture errors.
- Run the script against local server.
- Fix the first blocking error found.
- Verify with lint/test.
- **Assumptions:** Playwright Python environment is available.
@@ -0,0 +1,8 @@
# Agent Task Log Entry
- **Date:** 2026-02-13
- **Agent:** frontend-console-debug-agent
- **Prompt:** bitvid-frontend-console-debug-agent.md
- **Status:** started
- **Branch:** chore/weekly/frontend-console-debug-agent
- **Summary:** Task claimed — execution beginning
@@ -0,0 +1,8 @@
# Agent Task Log Entry
- **Date:** 2026-02-13
- **Agent:** frontend-console-debug-agent
- **Prompt:** bitvid-frontend-console-debug-agent.md
- **Status:** completed
- **Branch:** chore/weekly/frontend-console-debug-agent
- **Summary:** Updated debug script, verified no console errors present on startup.
+57 -10
View File
@@ -1,29 +1,76 @@
import sys
import time
from playwright.sync_api import sync_playwright
def log(category, message):
timestamp = time.strftime("%Y-%m-%d %H:%M:%S")
print(f"[{timestamp}] [{category}] {message}")
def run():
error_count = 0
with sync_playwright() as p:
browser = p.chromium.launch()
# Launch browser (headless by default)
try:
browser = p.chromium.launch()
except Exception as e:
log("SETUP_ERROR", f"Failed to launch browser: {e}")
sys.exit(1)
page = browser.new_page()
# Print all console messages
page.on("console", lambda msg: print(f"CONSOLE [{msg.type}]: {msg.text}"))
def on_console(msg):
nonlocal error_count
if msg.type == "error":
error_count += 1
log(f"CONSOLE:{msg.type.upper()}", msg.text)
# Print all uncaught exceptions
page.on("pageerror", lambda exc: print(f"PAGE ERROR: {exc}"))
def on_page_error(exc):
nonlocal error_count
error_count += 1
log("PAGE_ERROR", str(exc))
# Print failed network requests
page.on("requestfailed", lambda req: print(f"REQUEST FAILED: {req.url} {req.failure}"))
def on_request_failed(req):
log("REQUEST_FAILED", f"{req.url} {req.failure}")
page.on("console", on_console)
page.on("pageerror", on_page_error)
page.on("requestfailed", on_request_failed)
try:
print("Navigating to http://localhost:8000...")
log("INFO", "Navigating to http://localhost:8000...")
page.goto("http://localhost:8000")
# Wait a few seconds to capture initialization errors
# Wait for load state to ensure initial resources are loaded
try:
page.wait_for_load_state("load", timeout=10000)
log("INFO", "Page load event fired.")
except Exception as e:
log("WARN", f"Page load timeout: {e}")
# Wait for network idle as a proxy for 'app ready'
try:
page.wait_for_load_state("networkidle", timeout=5000)
log("INFO", "Network idle reached.")
except Exception:
log("WARN", "Network idle timeout (some requests may be pending).")
# Additional wait to catch delayed initialization errors
log("INFO", "Waiting 5 seconds for delayed errors...")
page.wait_for_timeout(5000)
except Exception as e:
print(f"SCRIPT ERROR: {e}")
log("SCRIPT_ERROR", str(e))
error_count += 1
finally:
browser.close()
if error_count > 0:
log("RESULT", f"FAILED with {error_count} errors.")
sys.exit(1)
else:
log("RESULT", "SUCCESS. No errors detected.")
sys.exit(0)
if __name__ == "__main__":
run()