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

Abierto
#815 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
70/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
electron, typescript

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
TypeScript
Estrellas
3
Forks
0
Merge medio
17 h 33 min
PR fusionados (30 d)
163

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de musterhq/muster-code

Todos los issues de musterhq/muster-code

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.