Skip to content

Replace go-rod with chromedp for installability - #73

Draft
SihanTeng wants to merge 2 commits into
tamnd:mainfrom
SihanTeng:fix/go-install-chromedp
Draft

Replace go-rod with chromedp for installability#73
SihanTeng wants to merge 2 commits into
tamnd:mainfrom
SihanTeng:fix/go-install-chromedp

Conversation

@SihanTeng

Copy link
Copy Markdown

Summary

  • Drive headless Chrome with chromedp instead of go-rod.
  • Drop the replace for github.com/ysmood/leakless and remove the third-party stub.
  • Restores go install github.com/tamnd/kage/cmd/kage@latest while keeping Windows AV clean (no embedded leakless helper).

Why

go install …@version rejects modules that contain replace directives (#72). The leakless replace fixed Defender false positives (#68) but broke the documented install path. Moving off go-rod’s launcher removes leakless from the graph entirely.

Test plan

  • go test -short -count=1 ./...
  • go test -count=1 ./browser/ ./clone/ with Chrome present
  • go list -deps ./cmd/kage has no leakless / go-rod
  • After merge/release: go install github.com/tamnd/kage/cmd/kage@latest

Closes #72
Related: #68

The chromedp migration rooted tab contexts at the pool allocator, so
Ctrl-C no longer aborted an in-flight render (it blocked until the
render timeout), and chromedp's Evaluate does not await promises, so
--scroll snapshotted before the scroll and its lazy loads finished.
Forward the caller's context into the tab with context.AfterFunc and
pass WithAwaitPromise to the scroll evaluation. Also log partial
serialise failures instead of swallowing them, drop a dead error
branch, correct the settle doc comment, and note the migration's two
intentional behavior changes (no stealth evasions, fixed settle wait)
in the changelog.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

install fail

1 participant