Renderer suites flake under CPU load: fixed delays before async state (git-components, file-find-dom, mailbox-inbox-components, others)

Aperta
#815 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
70/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
electron, typescript

Direzione di ricerca

Run node scripts/test-renderer.mjs to reproduce the flaky suites. Locate the test files for git-components, file-find-dom, and mailbox-inbox-components (likely under a renderer test dir) and replace fixed delay() calls with waits for rendered state or attached listeners. Confirm by running the suites alone and under load until they pass consistently.

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

Descrizione

type:bug

Found while fixing #802. On a heavily loaded Mac (load average about 40), a full node scripts/test-renderer.mjs run failed these suites on both attempts. None of them mount the Composer or the editor touched in #802:

  • git-components: environment and branch dropdowns: This Mac (0/2 when run alone). The suite waits a fixed delay(120) after rendering EnvironmentFooter, before the branch/environment fetch lands.
  • file-find-dom: the Find bar opens (1/2). It dispatches Cmd+F 60 ms after mount, so the window keydown listener's effect may not be attached yet.
  • mailbox-inbox-components: expected 3, got 0 (1/2).
  • git-history-components (0 painted of 150 known), governance-components and html-preview-components failed in the full run but passed 2/2 when run alone.

These are the same kind of problem as #802: a fixed delay before asserting on state that arrives through an effect or a promise. Fix: wait for the real signal (the rendered state), and for key or click input, wait until the listener or handler is attached.

Lingua principale
TypeScript
Stelle
3
Fork
0
Merge medio
17h 33m
PR unite (30g)
163

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di musterhq/muster-code

Tutte le issue di musterhq/muster-code

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.