Skip to content

Tauri Arch docker test fails on Node 26 (undici UND_ERR_INVALID_ARG) #267

@goosewobbler

Description

@goosewobbler

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

  • Confirm root cause upstream — likely a webdriver-client / undici interaction. May need an issue against webdriverio/webdriverio once we have a minimal reproducer.
  • Once WDIO supports Node 26 cleanly, drop the Node 20 pin in arch.dockerfile so we go back to testing against Arch's stock toolchain.
  • Consider whether other matrix entries should also pin Node version explicitly (Fedora and Void will eventually catch up to Node 26).

Reproducer

  1. Build the Arch docker image with pacman -S nodejs npm (no pin).
  2. Run the Tauri package test (pnpm test inside fixtures/package-tests/tauri-app).
  3. Session POST fails with UND_ERR_INVALID_ARG within ~1 second.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:ciUpdates to Continuous Integrationarea:dependenciesUpdating dependenciesscope:tauriTauri service and plugintype:bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions