Skip to content

fix: e2e tools pin their chromium, finish downloads, and keep to their tab - #2328

Merged
vilenarios merged 1 commit into
devfrom
e2e-tooling-fixes
Oct 20, 2026
Merged

vilenarios merged 1 commit into
devfrom
e2e-tooling-fixes

Conversation

@vilenarios

Copy link
Copy Markdown
Collaborator

Fixes the e2e tooling problems found by the 2.90.0 release run on staging (all 14 journeys passed, but only after working around these).

Changes

  • Chromium build. config.js used the newest Chromium in ~/.cache/ms-playwright. On this machine that's 1248 (Chrome 156), but the pinned playwright-core 1.48.2 is built for 1140. Under 156 the viewport fell back to 1440x700, then to 780x380 after each reconnect, and login.js clicked Sign up instead of Log in. It now uses the build named in playwright-core's browsers.json. CHROME still overrides it.
  • Downloads. Headless Chromium answers showSaveFilePicker with an AbortError, so journey 9's download always ended in "Download cancelled". launch.js now puts a stand-in picker on every page. It saves to $E2E_DIR/downloads/<name> through an exposed binding, chunk by chunk. Everything after the dialog runs the app's own path (createWritable, then a write per chunk).
  • Second tabs. step.js and login.js used pages()[0]. With two tabs open, that was the new tab, so a step closed launch.js's own tab along with its guard and logs. launch.js now records its tab's target id in $E2E_DIR/main-target, and both scripts find that tab by it (config.js mainPage).
  • Guide (docs/WEB_E2E_TESTING.md).
    • Journey 9 now checks the saved file's bytes.
    • Setup explains the pinned Chromium build.
    • New quirks: downloads, second tabs, and loading the tools from /mnt/c on WSL (10 s to about a minute per step).
    • Wording updated to the current app: Log in, and A file with this name already exists (Cancel, Skip or Upload as new version).

Verified on staging (0c0f12c78), test wallet

  • chromePath() resolves chromium-1140. launch.js starts, records its tab, and login.js unlock lands on the drive list at 1440x900.
  • With a second tab open, a step acts on launch.js's tab and closing the other tab leaves it running.
  • Private file download (Private Drive Test / rel290-folder / rel290-renamed-50k.bin): Download finished!, net.log logs download … 51200 bytes, and cmp with the file uploaded earlier in the run says identical. The file was decrypted in the page and saved through the stand-in.
  • node --check passes on every script.

0 AR spent, no uploads.

🤖 Generated with Claude Code

https://claude.ai/code/session_019ZiqyGae4T1gJLGGB29pR9

…r tab

From the 2.90.0 release run on staging:
- config.js picks the chromium build the installed playwright-core was made
  for, not the newest on disk; under chrome 156 the viewport shrank and
  login.js clicked sign up instead of log in
- launch.js stands in for the save dialog headless chromium refuses, saving
  to $E2E_DIR/downloads/, so a download runs the app's own path to the end
- step.js and login.js act on launch.js's tab, found by the target id it
  records, so a second tab can't take its place
- the guide: journey 9 checks the saved bytes, and the quirks cover
  downloads, second tabs, WSL load times and the current dialog wording

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ZiqyGae4T1gJLGGB29pR9
@coderabbitai

coderabbitai Bot commented Oct 20, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 20 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: ardriveapp/ardrive-web/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 14991356-802c-42f4-9282-6dce65148069
📥 Commits

Reviewing files that changed from the base of the PR and between 0c0f12c and d807378.

📒 Files selected for processing: 5
  • docs/WEB_E2E_TESTING.md
  • tool/web_e2e/config.js
  • tool/web_e2e/launch.js
  • tool/web_e2e/login.js
  • tool/web_e2e/step.js
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@vilenarios
vilenarios merged commit 3e32879 into dev Oct 20, 2026
3 checks passed
@vilenarios
vilenarios deleted the e2e-tooling-fixes branch October 20, 2026 23:04
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.

1 participant