Automattic / Automattic/wp-codebox

Visual compare can screenshot before local stylesheets finish loading

Aperta
#2,401 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

`wordpress.visual-compare` can produce and classify a pixel diff while local linked stylesheets are still pending. `waitForVisualComparePaintReady()` caps its load wait and stylesheet wait at 10 seconds each, even when the command has a substantially larger wall timeout. Capture diagnostics then report pending stylesheets and low-confidence readiness, but the already-written screenshots continue into comparison as if they were conclusive.

This can create a false large layout delta when a pending stylesheet owns responsive visibility or geometry.

## Expected behavior

- Use a bounded stylesheet-readiness budget derived from the visual command timeout.
- Preserve enough wall time for settling, snapshots, screenshots, and diagnostics.
- Do not classify screenshots as conclusive visual evidence when required local stylesheets remain incomplete.
- Cover delayed local stylesheet loading with deterministic tests.

## Acceptance criteria

1. A local stylesheet that completes within the derived readiness budget is applied before capture.
2. A stylesheet that remains pending after the budget produces explicit incomplete-capture evidence rather than a misleading visual-diff classification.
3. Existing external-request isolation and overall command bounds remain intact.

## AI assistance

OpenAI GPT-5.6 Sol via OpenCode diagnosed the capture evidence, traced the owning implementation, and drafted this issue under human direction.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia da waitForVisualComparePaintReady() e segui il percorso di acquisizione di wordpress.visual-compare, inclusi diagnostica, stabilizzazione, snapshot e screenshot. Esegui test deterministici del caricamento ritardato dei fogli di stile locali; il lavoro è completato quando la readiness utilizza il timeout del comando senza compromettere l’isolamento delle richieste esterne e i fogli di stile in sospeso producono prove esplicite di un’acquisizione incompleta invece di una classificazione conclusiva della differenza visiva.

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

Valutazione

Stack tecnologico
typescript
Ambito
testing-qa
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
68/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.