Document when an API is guaranteed to be synchronous
Los mantenedores suelen responder en 1 día
@ArjunCodess ya está trabajando en esto.
Desde el 19/9/2026.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- documentation
Línea de trabajo
Start with the API documentation for Effect.runSync, PubSub.unbounded, Effect.catch, and Scope.addFinalizer, and compare how their synchronous behavior is currently described. Identify the conditions that guarantee synchronous completion and document those guarantees so users can assess whether runSync remains safe across minor updates.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What is the problem this feature would solve?
This would allow more confident use of Effect.runSync etc.
For example, if I'm interfacing with some non-effect code and just want a PubSub available synchronously (maybe in a custom HTML element constructor), I've found I can do:
import { Effect, PubSub } from 'effect';
const pubSub = Effect.runSync(PubSub.unbounded());
The question is: can I rely on this to work after a minor version update?
What is the feature you are proposing to solve the problem?
Update the API documentation to state when an Effect produced by the library is guaranteed to run synchronously and under which conditions.
For example,
- Does
PubSub.unbounded()complete synchronously? - Does
Effect.catch(self, f)complete synchronously ifselfcompletes synchronously? - Does
Scope.addFinalizer(self, finalizer)complete synchronously ifselfis not closed?
I assume the answer to these is yes, but the API documentation doesn't guarantee that, so I can't be certain that invocations of Effect.runSync won't be broken after a non-breaking effect update.
What alternatives have you considered?
No response
- Lenguaje dominante
- TypeScript
- Estrellas
- 16.7k
- Forks
- 808
- Merge medio
- 11 h 24 min
- PR fusionados (30 d)
- 848
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 Effect-TS/effect
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
AI providers: tool results cannot carry images because non-string results are JSON.stringify'dPosiblemente ocupada @nmnmcc la tomó hoy. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Effect-TS/effect#9857 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
Los mantenedores suelen responder en 1 día
-
`Schema.Literals`: add `omit`, the complement of `pick`Posiblemente ocupada @effect-bot la tomó hace 1 día. Abiertoenhancement Needs Evaluation
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
Support the `openapi-3.0` target in `Schema.toStandardJSONSchemaV1`Posiblemente ocupada @MichaelDeBoey la tomó hace 1 día. Abiertoenhancement Needs Evaluation
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Effect-TS/effect#9764 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de Effect-TS/effect
Issues similares
-
area: image-engine bug priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
snapotter-hq/SnapOtter#3885 ·
Los mantenedores suelen responder en 1 día
-
Mend: dependency security vulnerability
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 3 días
-
pending triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
bug P3 UI/UX
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
openclaw/openclaw#182077 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día