Add an exact transport fault proxy provider

Open
#2,018 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
playwright, typescript

Research direction

Start by locating the generic transport-fault-model/v1 contract and the Playwright routing integration, then review how browser and server-side clients share fault declarations and replay state. Validate the provider with protocol-level integration tests covering true mid-stream disconnects, host denial, deterministic replay, bounded evidence, and teardown after every completion or failure path.

Written by the indexing model from the issue text.

Description

Problem

Playwright routing can exactly substitute payloads, delay requests, and remap hosts, but it cannot control HTTP framing or sockets. Treating shortened complete responses as disconnects would mislabel fidelity.

Scope

  • Implement a loopback-only disposable proxy provider for the generic transport-fault-model/v1 contract.
  • Support malformed/chunked framing, bandwidth pacing, connection refusal/reset, half-close, disconnect-after-N-bytes, DNS/host remapping, and request/response byte corruption.
  • Preserve deterministic stateful sequences and counters across browser and server-side clients.
  • Emit bounded redacted request/fault/response evidence.
  • Negotiate each semantic as exact, emulated, or unsupported per backend.
  • Guarantee proxy teardown after completion, cancellation, timeout, and provider errors.

Acceptance criteria

  • Protocol-level integration tests distinguish payload truncation from a true mid-stream disconnect.
  • Browser and server-side clients consume the same fault declaration and replay schedule.
  • Undeclared external hosts remain denied and the proxy cannot address arbitrary host services.

Refs #2014

Dominant language
TypeScript
Stars
17
Forks
4
Avg merge
48m
Merged PRs (30d)
106

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Automattic/wp-codebox

All issues in Automattic/wp-codebox

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.