feat(browser): add optional rust-native backend via fantoccini
* feat(browser): add optional rust-native automation backend * style: align channels module with stable rustfmt * fix(browser): switch rust-native backend to fantoccini Replace headless_chrome with fantoccini to satisfy license checks and keep browser-native optional. Adds native_webdriver_url wiring, migrates native backend session/actions to WebDriver, updates docs/config defaults, and keeps backend auto-resolution behavior intact. * test(config): serialize env override tests with lock Prevent flaky CI failures caused by concurrent environment variable mutation across config env-override tests. * style: apply rustfmt 1.92 for CI parity * chore(ci): sync lockfile and rustfmt with current main Resolve feature table drift after rebasing onto latest main, refresh Cargo.lock for browser-native fantoccini, and apply rustfmt 1.92 formatting required by CI.
This commit is contained in:
parent
9d29f30a31
commit
85fc12bcf7
7 changed files with 1412 additions and 64 deletions
|
|
@ -39,6 +39,9 @@ prometheus = { version = "0.13", default-features = false }
|
|||
# Base64 encoding (screenshots, image data)
|
||||
base64 = "0.22"
|
||||
|
||||
# Optional Rust-native browser automation backend
|
||||
fantoccini = { version = "0.22.0", optional = true, default-features = false, features = ["rustls-tls"] }
|
||||
|
||||
# Error handling
|
||||
anyhow = "1.0"
|
||||
thiserror = "2.0"
|
||||
|
|
@ -96,6 +99,7 @@ opentelemetry-otlp = { version = "0.31", default-features = false, features = ["
|
|||
|
||||
[features]
|
||||
default = []
|
||||
browser-native = ["dep:fantoccini"]
|
||||
|
||||
# Sandbox backends (platform-specific, opt-in)
|
||||
sandbox-landlock = ["landlock"] # Linux kernel LSM
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue