Automattic / Automattic/wp-codebox

Browser preview route crashes runtime on transient ECONNRESET

Aperta
#1,982 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
16
Fork
4
Merge medio
59m
PR unite (30g)
131

Descrizione

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia in browser-preview-routing.js, nelle vicinanze di fetchBrowserPreviewRoutedHost e fulfillBrowserPreviewRoutedHost, usando come contesto le evidenze ECONNRESET dell’esecuzione Homeboy c5bd79ee-f9c7-479e-bb1f-73cca37e98d2. Aggiungi una copertura di regressione che inietti un ECONNRESET per una sottorisorsa, quindi verifica che gli errori degli asset non terminino il processo, mentre gli errori di navigazione del documento rimangano errori espliciti dello scenario.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
node.js, typescript
Ambito
testing-qa, web-dev
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
74/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.