Automattic / Automattic/wp-codebox
Browser preview route crashes runtime on transient ECONNRESET
- 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