Automattic / Automattic/wp-codebox

Visual compare can screenshot before local stylesheets finish loading

Ouverte
#2,401 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
TypeScript
Étoiles
17
Forks
4
Merge moyen
59 min
PR mergées (30 j)
131

Description

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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par waitForVisualComparePaintReady() et suivez le chemin de capture de wordpress.visual-compare, notamment les diagnostics, la stabilisation, les snapshots et les captures d’écran. Testez le chargement différé des feuilles de style locales avec des tests déterministes ; le travail est terminé lorsque la disponibilité utilise le délai d’expiration de la commande sans compromettre l’isolation des requêtes externes, et que les feuilles de style en attente produisent des preuves explicites d’une capture incomplète plutôt qu’une classification concluante de différence visuelle.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
testing-qa
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
68/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.