feat(zara-browser): add loopback W3C WebDriver backend #224

Open
nsaspy wants to merge 10 commits from feat/zara-browser-webdriver-backend into main
Owner

Implements the first real production backend for zara-browser.

  • attaches to an existing W3C WebDriver session over loopback HTTP only
  • uses standard window/navigation/element/text/click/value/property/screenshot endpoints
  • exposes no arbitrary JavaScript/eval path
  • bounds tab enumeration to 32 handles and restores the original active window even when enumeration fails
  • separates provider acknowledgement from observed intended state
  • click reports acknowledgement + post-action tab/URL context without falsely claiming a generic click effect was observed
  • typing is marked observed only after before/after element value readback verifies a concrete mutation
  • keeps downloads and select explicitly unavailable rather than claiming false success
  • auto-configures from ZARA_BROWSER_WEBDRIVER_URL + ZARA_BROWSER_WEBDRIVER_SESSION_ID
  • incomplete environment configuration degrades explicitly
  • adds deterministic transport-level unit tests with no browser/network dependency

Worker mailbox: #506

Required gates: zara-browser unittest suite, registry validation, nix flake check.

Implements the first real production backend for `zara-browser`. - attaches to an existing W3C WebDriver session over loopback HTTP only - uses standard window/navigation/element/text/click/value/property/screenshot endpoints - exposes no arbitrary JavaScript/eval path - bounds tab enumeration to 32 handles and restores the original active window even when enumeration fails - separates provider acknowledgement from observed intended state - click reports acknowledgement + post-action tab/URL context without falsely claiming a generic click effect was observed - typing is marked observed only after before/after element `value` readback verifies a concrete mutation - keeps downloads and select explicitly unavailable rather than claiming false success - auto-configures from `ZARA_BROWSER_WEBDRIVER_URL` + `ZARA_BROWSER_WEBDRIVER_SESSION_ID` - incomplete environment configuration degrades explicitly - adds deterministic transport-level unit tests with no browser/network dependency Worker mailbox: #506 Required gates: zara-browser unittest suite, registry validation, `nix flake check`.
Some checks failed
CI / test (pull_request) Failing after 30s
CI / zara-avatar idle CPU budget (pull_request) Failing after 15m2s
This pull request has changes conflicting with the target branch.
  • plugins/zara-browser/lib/zara_browser/webdriver.py
  • plugins/zara-browser/test/test_webdriver.py
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/zara-browser-webdriver-backend:feat/zara-browser-webdriver-backend
git switch feat/zara-browser-webdriver-backend

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff feat/zara-browser-webdriver-backend
git switch feat/zara-browser-webdriver-backend
git rebase main
git switch main
git merge --ff-only feat/zara-browser-webdriver-backend
git switch feat/zara-browser-webdriver-backend
git rebase main
git switch main
git merge --no-ff feat/zara-browser-webdriver-backend
git switch main
git merge --squash feat/zara-browser-webdriver-backend
git switch main
git merge --ff-only feat/zara-browser-webdriver-backend
git switch main
git merge feat/zara-browser-webdriver-backend
git push origin main
Sign in to join this conversation.
No description provided.