[fix] Clear RPC timeout timers when calls settle
Los mantenedores suelen responder en 7 días
@nemeregiftbrown-byte ya está trabajando en esto.
Desde el 22/10/2026.
- #1808 de @nemeregiftbrown-byte — abierto
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
Empieza en backend/src/lib/rpc-pool.ts, alrededor de la línea 74, y sigue cómo execute y probeAll crean sus promesas de timeout y completan las operaciones. Añade cobertura con temporizadores simulados para el éxito, el fallo temprano y el failover por un timeout real; la tarea está terminada cuando las operaciones completadas limpian sus temporizadores sin provocar abortos posteriores, mientras que las solicitudes bloqueadas siguen agotando el tiempo de espera y activando el failover.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Labels: bug, backend, points: 150
File/location: backend/src/lib/rpc-pool.ts:74
Description:
execute and probeAll allocate timeout timers for every RPC operation without clearing them on success or early failure. Successful calls retain closures until timeout and their AbortSignals are aborted after the operation has already succeeded.
Acceptance Criteria:
- Clear timeout handles in finally on every settled operation/probe, while preserving timeouts for genuinely hung requests.
- With fake timers, verify successful calls retain no timeout and are not later aborted; verify early failures and genuine timeout failover.
Notes:
Source trace: neither execute nor probeAll stores or clears its Promise.race timeout handle.
Audited commit: 649b6976a100fd964ce191428eef1faeb50aaa39. Closest prior issues reviewed: #1192, #805. This report concerns the specific failure or uncovered test paths described above, rather than repeating the original feature request.
- Lenguaje dominante
- TypeScript
- Estrellas
- 18
- Forks
- 250
- Merge medio
- 5 d 6 h
- PR fusionados (30 d)
- 82
Preparar el entorno
- Incluye un Dockerfile o un 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 LabsCrypt/flowfi
-
backend points: 150 testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 7 días
-
backend points: 150 testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 7 días
-
backend points: 150 testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 7 días
-
backend points: 150 testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 7 días
-
backend points: 150 testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 7 días
Todos los issues de LabsCrypt/flowfi
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
farion1231/cc-switch#8829 ·
Los mantenedores suelen responder en 1 día
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverAbiertodoc-audit enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
Snapshot capture failure (EPERM spawning git) fails the whole step despite the best-effort contractAbiertoreproduced
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
anomalyco/opencode#58685 · 1 comentario ·
Los mantenedores suelen responder en 1 día