Skip to content

Sync rustwright-cloud changes to rustwright (#19) - #30

Merged
suchintan merged 9 commits into
mainfrom
repo-sync/rustwright-cloud-19
Jul 13, 2026
Merged

Sync rustwright-cloud changes to rustwright (#19)#30
suchintan merged 9 commits into
mainfrom
repo-sync/rustwright-cloud-19

Conversation

@suchintan

Copy link
Copy Markdown
Member

@suchintan suchintan added the sync Automated cross-repository sync label Jul 13, 2026
@suchintan
suchintan merged commit f50e753 into main Jul 13, 2026
3 of 7 checks passed
@suchintan
suchintan deleted the repo-sync/rustwright-cloud-19 branch July 13, 2026 21:13
@claude

claude Bot commented Jul 13, 2026

Copy link
Copy Markdown

Summary

Mostly a clean removal of the browser-harness benchmark integration (~1 080 lines deleted) with a small focused fix in src/lib.rs for recording frame URLs on same-document navigations (when loader_id is absent), plus pytest.skip guards for optional reference packages. No stealth/anti-detection claims are added and docs stay in sync.

🔴 Critical Issues (1)
  • Missing iframe same-document navigation fix in RustwrightPage (Node.js binding)
    PyPage receives two fixes for the loader_id.is_none() early-return path: one for the main-frame goto (~L3837) and one for the iframe/OOPIF goto path (~L3911, which passes session_id). The Node.js RustwrightPage (~L7092) only gets the main-frame fix. If the Node.js binding supports frame-level navigation (or OOPIFs), same-document navigations in sub-frames will leave stale URLs in frame_state. If the Node path intentionally doesn't support sub-frame goto today, add a comment explaining why, so it doesn't look like an accidental omission.
🟡 Suggestions (2)
  • No test coverage for the new record_frame_navigation_url path.
    The src/lib.rs change is the only substantive behavioral fix in this PR, but the test changes only add require_reference_module guards — no new case exercises the same-document navigation code path (e.g. page.goto("…#hash"), history.pushState, or a data-URL with an anchor). A single pytest case that navigates to a hash fragment and asserts page.url returns the post-navigation URL would pin this behaviour and prevent regressions.

  • require_reference_module exit-code 3 is a magic number.
    The sentinel 3 (module not found) vs 0 (found) is correct but undocumented. A comment in the helper or a named constant (MODULE_NOT_FOUND_EXIT = 3) would make the intent clear to future readers, since exit code 3 has no standard meaning.

📝 Minor / Style (1)
  • find_chromium_executable error message was updated from "for browser-harness comparison" to "for the Puppeteer comparison" — correct, but the function is also used by the TypeScript-Playwright runner. A more neutral message like "Could not find a Chromium executable for the Node.js runner" would be accurate across all callers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sync Automated cross-repository sync

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant