webdriverio / webdriverio/devtools

Spike: how to avoid re-implementing capture per language

Open
#298 3 comments 0 reactions 1 assignee View on GitHub

@vishnuv688 is already working on this.

Since Aug 12, 2026.

capture-architecture
Dominant language
TypeScript
Stars
10
Forks
2
Avg merge
1d 29m
Merged PRs (30d)
23

Description

Part of #278

Measured split of the current Python adapter. Not language-specific,
about 1,206 lines: frames 193, screencast 213, snapshot 197, capturer 152, types
115, plus utils, sources, constants and log capture. Genuinely per-language, about
1,595 lines: instrumentation 386, bidi 412, lifecycle 363, transport 188, pytest
plugin 124, backend resolution 122. Four levers to evaluate: move post-processing
behind the wire, push more work into the shared page script, generate contract
types rather than mirroring them, and add a cross-adapter conformance suite.

Acceptance criteria

A decision record naming which levers we take, what moves
where, and what stays irreducibly per-language. Feeds #288 directly.

Size: M.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.