Automattic / Automattic/wp-codebox

Browser preview route crashes runtime on transient ECONNRESET

Offen
#1,982 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
16
Forks
4
Ø Merge
59 Min.
Gemergte PRs (30 T.)
131

Beschreibung

## 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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne in browser-preview-routing.js bei fetchBrowserPreviewRoutedHost und fulfillBrowserPreviewRoutedHost und verwende die ECONNRESET-Evidenz aus dem Homeboy-Lauf c5bd79ee-f9c7-479e-bb1f-73cca37e98d2 als Kontext. Füge Regressionstestabdeckung hinzu, die ein ECONNRESET für eine Subressource injiziert, und überprüfe anschließend, dass Asset-Fehler den Prozess nicht beenden, während Fehler bei der Dokumentnavigation weiterhin explizite Szenariofehler bleiben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
node.js, typescript
Bereich
testing-qa, web-dev
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
74/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.