Commit graph

62 commits

Author SHA1 Message Date
Snider
8a116ca78d fix(console): bound exception retention
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-16 00:19:04 +01:00
Snider
fd15f95ca9 Fix console and exception waiter races
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-16 00:17:03 +01:00
Snider
f38ceb3bd6 Add missing webview tests
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-16 00:15:00 +01:00
Snider
40d2e584aa chore: confirm RFC parity
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-16 00:06:31 +01:00
Snider
82eec17dfe fix(cdp): harden debug transport and navigation
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Restrict DevTools access to loopback hosts, bound debug and WebSocket reads, validate navigation targets, and sanitise formatted console output.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-16 00:04:51 +01:00
Snider
0c6c53e189 feat(webview): confirm RFC parity
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-16 00:01:59 +01:00
Snider
63a3a39916 docs(ax): add usage-first API examples
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-16 00:01:06 +01:00
Snider
5836e1236c Implement webview RFC gaps
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 23:58:01 +01:00
Snider
a67fe9e1c3 fix(console): normalise warning aliases
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-15 23:55:36 +01:00
Snider
6759f42a4c Align webview console and tab lifecycle
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 23:54:06 +01:00
Snider
4069bbe263 Guard watcher constructors against nil clients
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 23:52:21 +01:00
Snider
8a72b3ebc6 chore: verify go-webview RFC parity
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 23:50:43 +01:00
Snider
7b12244813 Align webview RFC surface
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 23:49:11 +01:00
Snider
3df32be96f Verify go-webview RFC compliance
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 23:47:46 +01:00
Snider
29e5d1bd37 Align webview console and evaluate behavior
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 16:47:59 +01:00
Snider
7de347e5f7 Improve internal CDP names 2026-04-15 16:45:24 +01:00
Snider
d5d3525602 refactor(actions): expose fluent builders for all actions
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-15 14:30:45 +01:00
Snider
284d39de18 Align console warning types with RFC 2026-04-15 14:29:06 +01:00
Snider
75ed16743a Align console handling with AX principles 2026-04-15 14:27:13 +01:00
Snider
f5d14bb39d Align console capture with RFC semantics 2026-04-15 14:25:33 +01:00
Snider
d673ce14be fix(webview): use protocol-correct history navigation
Replace the invalid Page.goBackOrForward call with Page.getNavigationHistory and Page.navigateToHistoryEntry, and update the regression coverage plus local docs.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-15 14:23:44 +01:00
Snider
f6e235d83e Align webview behavior with RFC 2026-04-15 14:21:23 +01:00
Snider
d6fcd6a2f4 fix(console): defer limit trimming until append
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-15 14:19:00 +01:00
Snider
f4a094e87c Align console filters with spec 2026-04-15 14:17:21 +01:00
Snider
3002b4801d feat(webview): CDP history nav + deterministic console limits + exception text
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
- webview.go: back/forward navigation uses Page.getNavigationHistory +
  navigateToHistoryEntry (bounds-checked, load-wait) — replaces deprecated
  Page.goBackOrForward
- console.go + webview.go: console limits deterministic, clamp negative limits
  to 0, zero-retention supported, error counting normalised, multiple
  ConsoleWatcher filters compose as intersection
- webview.go + console.go + angular.go: JS exception text propagation, Angular
  router/query param map[string]string per RFC
- audit_issue2_test.go + webview_test.go: history nav, exception text, filter
  composition, retention trimming coverage

Verified: GOWORK=off go test ./... passes

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-14 18:35:10 +01:00
Snider
7a4450cf9f feat(webview): console watcher additions + canonical type normalisation
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Spark draft + opus-style fixes during integration:

- normalizeConsoleType applied consistently across FormatConsoleOutput
  + Errors/ErrorsAll + Warnings/WarningsAll iterators — previously raw
  "warning" inputs missed the "warn" comparisons silently
- core.Trim instead of non-existent core.TrimSpace

Spark feature work preserved (Errors/Warnings iterators, formatted
console output, type normalisation helper).

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-14 15:09:57 +01:00
Snider
a6304b8e29 refactor: AX compliance sweep — replace banned stdlib imports with core primitives
Some checks failed
Test / test (push) Has been cancelled
Security Scan / security (push) Has been cancelled
Replaced fmt, strings, sort, os, io, sync, encoding/json, path/filepath,
errors, log, reflect with core.Sprintf, core.E, core.Contains, core.Trim,
core.Split, core.Join, core.JoinPath, slices.Sort, c.Fs(), c.Lock(),
core.JSONMarshal, core.ReadAll and other CoreGO v0.8.0 primitives.

Framework boundary exceptions preserved where stdlib types are required
by external interfaces (Gin, net/http, CGo, Wails, bubbletea).

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-13 09:32:01 +01:00
6adaeaeec2 Merge pull request '[agent/codex:gpt-5.3-codex-spark] Read ~/spec/code/core/go/webview/RFC.md fully. Find features...' (#14) from agent/read---spec-code-core-go-webview-rfc-md into dev
Some checks failed
Security Scan / security (push) Has been cancelled
Test / test (push) Has been cancelled
2026-04-03 07:37:57 +00:00
Virgil
e6a7ecf4f5 chore(webview): align console buffers with RFC defaults
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 07:37:51 +00:00
Virgil
b993fc18f3 feat(webview): populate element content fields
Some checks failed
Test / test (push) Successful in 55s
Security Scan / security (push) Failing after 12m32s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 04:47:46 +00:00
e35de439e1 Merge pull request '[agent/codex] A specs/RFC.md stub has been injected. Read the actual sourc...' (#12) from agent/a-specs-rfc-md-stub-has-been-injected--r into dev
All checks were successful
Security Scan / security (push) Successful in 18s
Test / test (push) Successful in 33s
2026-03-27 20:52:20 +00:00
Virgil
950b02fd97 docs: document exported API in specs RFC
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-27 20:52:02 +00:00
Claude
96f18346d9
feat: upgrade to core v0.8.0-alpha.1, replace banned stdlib imports
All checks were successful
Security Scan / security (push) Successful in 8s
Test / test (push) Successful in 1m15s
Replace fmt, errors, strings, encoding/json with Core primitives.
Keep strings.EqualFold, json.NewEncoder (no core equivalents).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 13:53:43 +00:00
ab48e6c373 Merge pull request '[agent/codex] API contract extraction. For every exported type, function, ...' (#10) from agent/api-contract-extraction--for-every-expor into dev
All checks were successful
Security Scan / security (push) Successful in 8s
Test / test (push) Successful in 37s
Security Scan / security (pull_request) Successful in 8s
Test / test (pull_request) Successful in 39s
2026-03-23 15:27:24 +00:00
Virgil
df0d10b880 docs(api): add exported contract matrix
Add a markdown inventory of every exported type, function, and method with its current signature, a concise description, and test coverage notes based on webview_test.go.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-23 15:27:05 +00:00
674864217e Merge pull request '[agent/codex] Convention drift check. Read CLAUDE.md. stdlib→core.*, UK ...' (#9) from agent/convention-drift-check--read-claude-md into dev
All checks were successful
Security Scan / security (push) Successful in 8s
Test / test (push) Successful in 36s
2026-03-23 15:24:08 +00:00
Virgil
dce6f0e788 docs: add convention drift audit
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-23 15:23:43 +00:00
4004fe4484 Merge pull request '[agent/codex] Security attack vector mapping. Read CLAUDE.md. Map every ex...' (#6) from agent/security-attack-vector-mapping--read-cla into dev
All checks were successful
Security Scan / security (push) Successful in 7s
Test / test (push) Successful in 40s
2026-03-23 13:39:56 +00:00
Virgil
6a261bdf16 docs(cdp): add attack vector mapping
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-23 13:39:39 +00:00
2725661046 Merge pull request '[agent/codex] Fix ALL findings from issue #2. Read CLAUDE.md first. CDPCli...' (#3) from agent/deep-audit-per-issue--2--read-claude-md into dev
All checks were successful
Security Scan / security (push) Successful in 7s
Test / test (push) Successful in 40s
2026-03-23 07:34:46 +00:00
Virgil
dff3d576fa fix(cdp): resolve issue 2 audit findings
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-23 07:34:16 +00:00
Claude
c6d1ccba7d
chore: update dappco.re/go/core/log to v0.1.0
All checks were successful
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 1m15s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 01:06:33 +00:00
Claude
2f9ff11204
chore: migrate to dappco.re vanity import path
All checks were successful
Security Scan / security (push) Successful in 8s
Test / test (push) Successful in 42s
Change module path from forge.lthn.ai/core/go-webview to
dappco.re/go/core/webview. Update all Go imports and documentation
references. The go-log dependency uses a replace directive to
resolve via the forge until the vanity redirect is configured.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 23:45:30 +00:00
e677d877eb Merge pull request '[agent/claude:opus] DX audit and fix. 1) Review CLAUDE.md — update any outdate...' (#1) from agent/dx-audit-and-fix--1--review-claude-md into main
All checks were successful
Security Scan / security (push) Successful in 8s
Test / test (push) Successful in 38s
2026-03-17 08:54:39 +00:00
Snider
900cb750cf fix(console): buffer trim panic when limit < 100, add unit tests
All checks were successful
Security Scan / security (pull_request) Successful in 10s
Test / test (pull_request) Successful in 30s
CLAUDE.md: update error wrapping guidance to reflect coreerr.E() convention.

Console buffer trimming in both Webview.addConsoleMessage and
ConsoleWatcher.addMessage panicked with slice bounds out of range
when consoleLimit was smaller than 100. Use min(100, len) for safe
batch trimming.

Added 22 unit tests covering pure functions (FormatConsoleOutput,
containsString, findString, formatJSValue, getString), ConsoleWatcher
filter/count/handler logic, ExceptionWatcher operations, WaitAction
context handling, and buffer limit enforcement. Coverage: 3.2% → 16.1%.

DX audit findings:
- Error handling: clean (all coreerr.E(), no fmt.Errorf)
- File I/O: clean (no os.ReadFile/os.WriteFile — package uses HTTP/WS only)

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 08:54:22 +00:00
Snider
ab77e922bd refactor: replace fmt.Errorf/errors.New with coreerr.E()
All checks were successful
Security Scan / security (push) Successful in 8s
Test / test (push) Successful in 1m14s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 21:10:49 +00:00
Snider
978e153615 chore: add .core/ and .idea/ to .gitignore
All checks were successful
Security Scan / security (push) Successful in 8s
Test / test (push) Successful in 38s
2026-03-15 10:17:50 +00:00
Snider
93513e25e6 feat: export TargetInfo type for external CDP target enumeration
All checks were successful
Security Scan / security (push) Successful in 7s
Test / test (push) Successful in 39s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 16:00:31 +00:00
Snider
4169c97b71 docs: add CLAUDE.md project instructions
All checks were successful
Security Scan / security (push) Successful in 8s
Test / test (push) Successful in 33s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 13:38:02 +00:00
Snider
29ebe46fe7 docs: add human-friendly documentation
All checks were successful
Security Scan / security (push) Successful in 7s
Test / test (push) Successful in 34s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:02:40 +00:00