Tests: telemetry probes can exceed their 15s execFile timeout on Windows (cold tsx transpile + AV scanning)
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 62/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
- Área
- testing
Línea de trabajo
El timeout está en captureRuntime en tests/telemetry.test.ts, donde execFile se llama con timeout: 15000 en la línea 54. Lee ese helper y los tres tests de telemetría. Luego ejecuta pnpm test en una máquina donde las sondas sean lentas, o razona a partir de los tiempos del issue. Está terminado cuando los dos tests de telemetría mencionados pasan en una ejecución completa en paralelo sin cambiar el comportamiento de CI. El fallo symlink EPERM es un problema aparte de Windows y queda fuera del alcance de este cambio.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
On Windows, pnpm test reports both telemetry tests as failures:
runtime telemetry carries OpenMuse attribution and the CLI-issued project identity(≈15.4s)each SDK opt-out prevents telemetry with a configured project identity(≈15.2s)
Both die the same way: the probe child process is killed by the execFile timeout: 15000 at tests/telemetry.test.ts:54 with stdout: '', stderr: '', signal: 'SIGTERM' — it never reaches its console.log.
Environment
- Windows 10 (10.0.18363), Node 24.20.0, pnpm 11.19.0, tsx 4.23.13
- Reproduces on a clean clone with no local changes; the 149 other tests pass
Diagnosis
Each probe spawns a fresh node --import <tsx loader> --eval that re-transpiles the whole server dependency graph on the fly. Measured on this machine:
| Scenario | Result |
|---|---|
| telemetry file alone | all 3 pass (7.2s / 32.9s / 7.8s per test) |
| staged probe from a temp cwd, alone | app.ts import ≈5.9–6.4s, full probe ≈8.3s, exits cleanly |
same probe inside full pnpm test (parallel files) |
child killed at the 15s limit, empty output |
So the probes are correct; the 15s budget is just too tight once tsx's cold transpile is slowed by Windows Defender real-time scanning over node_modules/.pnpm and by the rest of the suite running in parallel. One solo run already took ~33s wall for its two probes, so headroom is thin on Windows even without load. CI (ubuntu, no AV, warm cache) is unaffected.
Suggested directions
Happy to send a PR for whichever fits:
- Raise the
execFiletimeout incaptureRuntimefrom15_000to e.g.60_000(CI timing unchanged in practice; Windows stops flaking). - Optionally add a CONTRIBUTING note for Windows contributors about Defender exclusions for the repo directory.
Related Windows observation
worker recovery preserves downloads when metadata cannot be inspected also fails on this machine with EPERM: operation not permitted, symlink ... — non-admin Windows can't create symlinks without Developer Mode. I can file that separately, or fold both into a short CONTRIBUTING "Windows notes" paragraph — maintainer preference welcome.
AI-use note: the failure was reproduced, timed and root-caused with an AI assistant's help; the numbers above are from runs on my machine.
- Lenguaje dominante
- TypeScript
- Estrellas
- 5.2k
- Forks
- 730
- Merge medio
- 3 d 20 h
- PR fusionados (30 d)
- 96
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CopilotKit/openmuse
-
"Contains" page watch never matches when its text has a trailing spacePosiblemente ocupada @RaphaelFakhri la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
CopilotKit/openmuse#184 ·
Los mantenedores suelen responder en 1 día
-
[Feature] Dark modeAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 24/100
CopilotKit/openmuse#181 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
CopilotKit/openmuse#179 ·
Los mantenedores suelen responder en 1 día
-
Dependency DashboardAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
CopilotKit/openmuse#153 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
CopilotKit/openmuse#78 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de CopilotKit/openmuse
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
ccch1mneyyy/dsh-TUI#1631 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
MiniMax-AI/minimax-code#507 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Transient OAuth login failure persists in getLoginStatus and masks active account in dashboardQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertoaccount-pool bug gui
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
lidge-jun/opencodex#7378 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Admin search throws for permissions added through Admin.generalIndexItems('permissions', ...)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día