diff --git a/FINDINGS.md b/FINDINGS.md new file mode 100644 index 0000000..f64c035 --- /dev/null +++ b/FINDINGS.md @@ -0,0 +1,25 @@ +# FINDINGS.md -- go-webview + +## 2026-02-19: Split from core/go (Virgil) + +### Origin + +Extracted from `forge.lthn.ai/core/go` `pkg/webview/` on 19 Feb 2026. + +### Architecture + +- Chrome DevTools Protocol (CDP) client over WebSocket +- Connects to Chrome's remote debugging port (default 9222) +- High-level API: `Navigate`, `Click`, `Type`, `QuerySelector`, `Evaluate`, `Screenshot` +- Console capture via `Runtime.consoleAPICalled` CDP events +- Multi-tab support via `Target.createTarget` / `Target.closeTarget` +- Angular-specific helpers for SPA testing workflows + +### Dependencies + +- `github.com/gorilla/websocket` -- WebSocket client for CDP connection + +### Notes + +- Requires a running Chrome instance with `--remote-debugging-port=9222` +- No headless Chrome launcher included -- the caller must start Chrome separately diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..4d3e6c5 --- /dev/null +++ b/TODO.md @@ -0,0 +1,35 @@ +# TODO.md -- go-webview + +## Phase 1: Test Coverage + +- [ ] Add headless Chrome tests runnable in CI (use `--headless=new` flag) +- [ ] Test navigation, click, type, screenshot in headless mode +- [ ] Add test fixtures (minimal HTML pages served by httptest) + +## Phase 2: Multi-Tab Support + +- [ ] `NewTab` / `CloseTab` exist but are not well tested +- [ ] Add tests for multi-tab lifecycle (open, switch, close) +- [ ] Verify console capture is tab-scoped (no cross-tab bleed) + +## Phase 3: Angular Helpers + +- [ ] Expand Angular-specific helpers beyond current set +- [ ] Add component detection (query by Angular selector) +- [ ] Add router integration (wait for navigation, read current route) +- [ ] Add zone.js stability detection (wait for async operations) + +## Phase 4: Screenshot Comparison + +- [ ] Add visual regression testing support +- [ ] Pixel-diff between baseline and current screenshots +- [ ] Configurable threshold for acceptable difference percentage +- [ ] Save diff images for failed comparisons + +--- + +## Workflow + +1. Virgil in core/go writes tasks here after research +2. This repo's dedicated session picks up tasks in phase order +3. Mark `[x]` when done, note commit hash