Summary
The Package - Tauri (Docker) (arch, Arch) matrix job fails on session POST with UND_ERR_INVALID_ARG once Arch's rolling repo bumps nodejs to v26+. Other distros (Ubuntu, Debian, Fedora, Void) are unaffected because they pin or ship older Node versions.
Symptom
[(unknown) #0-0] ✖ Failed to create a session:
[(unknown) #0-0] WebDriverError: Request failed with error code UND_ERR_INVALID_ARG
when running "http://127.0.0.1:4444/session" with method "POST"
The error fires before any service code runs — it's undici rejecting the request at construction time inside WDIO's webdriver client.
Root Cause
- Arch's
nodejs package is rolling and currently ships 26.1.0 (build log: extra/nodejs 26.1.0-1).
- Node 26 ships an undici with stricter request validation.
- WDIO's webdriver client constructs a
POST /session request with something undici 26 rejects (likely a header value or body field that older undici accepted as-is).
- All other distros in the matrix either pin Node 20 explicitly (Ubuntu/Debian via
setup_20.x) or ship older Node from their stable repos (Fedora, Void) — none expose this incompatibility today.
Current Workaround
PR #264 pins Arch to Node 20 LTS by installing the official tarball into /usr/local instead of using pacman -S nodejs. This matches the Ubuntu/Debian pinning approach and makes Arch builds repeatable across rolling-repo updates.
See arch.dockerfile for the patch.
Follow-Up
Reproducer
- Build the Arch docker image with
pacman -S nodejs npm (no pin).
- Run the Tauri package test (
pnpm test inside fixtures/package-tests/tauri-app).
- Session POST fails with
UND_ERR_INVALID_ARG within ~1 second.
References
Summary
The
Package - Tauri (Docker) (arch, Arch)matrix job fails on session POST withUND_ERR_INVALID_ARGonce Arch's rolling repo bumpsnodejsto v26+. Other distros (Ubuntu, Debian, Fedora, Void) are unaffected because they pin or ship older Node versions.Symptom
The error fires before any service code runs — it's undici rejecting the request at construction time inside WDIO's webdriver client.
Root Cause
nodejspackage is rolling and currently ships 26.1.0 (build log:extra/nodejs 26.1.0-1).POST /sessionrequest with something undici 26 rejects (likely a header value or body field that older undici accepted as-is).setup_20.x) or ship older Node from their stable repos (Fedora, Void) — none expose this incompatibility today.Current Workaround
PR #264 pins Arch to Node 20 LTS by installing the official tarball into
/usr/localinstead of usingpacman -S nodejs. This matches the Ubuntu/Debian pinning approach and makes Arch builds repeatable across rolling-repo updates.See arch.dockerfile for the patch.
Follow-Up
webdriverio/webdriverioonce we have a minimal reproducer.arch.dockerfileso we go back to testing against Arch's stock toolchain.Reproducer
pacman -S nodejs npm(no pin).pnpm testinsidefixtures/package-tests/tauri-app).UND_ERR_INVALID_ARGwithin ~1 second.References
feat/electron-browser-mode)