Automattic / Automattic/wp-codebox

Browser preview route crashes runtime on transient ECONNRESET

Open
#1,982 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
16
Forks
4
Avg merge
59m
Merged PRs (30d)
131

Description

## Problem

A transient asset proxy reset in browser preview routing escapes the route handler as an unhandled rejection and terminates the entire WP Codebox recipe process.

## Evidence

During a valid multisite browser scenario, the runtime crashed while fetching a non-critical theme font:

```
route.fetch: read ECONNRESET
GET /wp-content/themes/extrachill/assets/fonts/Lobster2.woff2
at fetchBrowserPreviewRoutedHost (.../browser-preview-routing.js:287:36)
at fulfillBrowserPreviewRoutedHost (.../browser-preview-routing.js:219:28)
```

The backend suite had completed and no changed browser assertion executed. Homeboy run: `c5bd79ee-f9c7-479e-bb1f-73cca37e98d2`.

## Expected

Preview routing handles transient upstream fetch failures without crashing the Node process. The individual request may fail/abort and should be recorded as network evidence, while the browser scenario and cleanup remain under normal lifecycle control.

## Acceptance criteria

1. `route.fetch()` rejection is caught inside preview routing.
2. A failed non-document asset request does not terminate the recipe process.
3. Document navigation failures remain explicit scenario failures.
4. Regression coverage injects an `ECONNRESET` for a subresource.

## AI assistance
- **AI assistance:** Yes
- **Tool:** OpenCode with GPT-5.6 Sol
- **Used for:** Capturing and classifying the disposable browser-runtime crash.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in browser-preview-routing.js around fetchBrowserPreviewRoutedHost and fulfillBrowserPreviewRoutedHost, using the ECONNRESET evidence from Homeboy run c5bd79ee-f9c7-479e-bb1f-73cca37e98d2 as context. Add regression coverage that injects an ECONNRESET for a subresource, then verify asset failures do not terminate the process while document navigation failures remain explicit scenario failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
testing-qa, web-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
74/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.