TS SDK: `Result` errors are serialized with the `ok` type (instance crash)
Los mantenedores suelen responder en 1 día
@Tyagiquamar ya está trabajando en esto.
Desde el 11/10/2026.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 85/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- devtools
Línea de trabajo
El error está en crates/bindings-typescript/src/lib/algebraic_type.ts alrededor de las líneas 655-662, donde serializeErr se construye a partir de ty.variants[0] en lugar de ty.variants[1]. Lee el serializador de resultados que lo rodea para confirmar el patrón y, después, añade un test que serialice un t.result cuyos tipos ok y err sean distintos, como t.result(SomeObject, t.string()) con { err: 'nope' }. Está terminado cuando la cadena de error se serializa como string y el test pasa.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Version: spacetimedb (npm) 2.11.0, still on master e596513
Where: crates/bindings-typescript/src/lib/algebraic_type.ts ~L655-662
const serializeOk = AlgebraicType.makeSerializer(ty.variants[0].algebraicType, typespace);
const serializeErr = AlgebraicType.makeSerializer(ty.variants[0].algebraicType, typespace); // ← should be variants[1]
Repro: a TS procedure (or anything else returning a result) declared as t.result(SomeObject, t.string()) that
returns { err: 'nope' }.
Actual: TypeError: Cannot read properties of undefined (reading 'length') in writeString, and the instance
reports a fatal error. The error string is written with the SomeObject serializer.
Expected: the error is serialized as a string.
It only works by accident when the ok and err types are the same (e.g. t.result(t.string(), t.string())).
Fix: ty.variants[1].algebraicType on the serializeErr line.
- Lenguaje dominante
- Rust
- Estrellas
- 25.3k
- Forks
- 1.1k
- Merge medio
- 4 d 13 h
- PR fusionados (30 d)
- 44
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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 clockworklabs/SpacetimeDB
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
clockworklabs/SpacetimeDB#6146 ·
Los mantenedores suelen responder en 1 día
-
TS SDK: `t.result()` is typed `Ok | Err`, but the runtime expects `{ ok } | { err }`Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
clockworklabs/SpacetimeDB#6127 ·
Los mantenedores suelen responder en 1 día
-
TS SDK: `ctx.http.fetch` throws for status codes the `statuses` package doesn't knowPosiblemente ocupada @kshanxs la tomó hace 1 día. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
clockworklabs/SpacetimeDB#6126 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
clockworklabs/SpacetimeDB#6124 ·
Los mantenedores suelen responder en 1 día
-
TS SDK: `ctx.http.fetch` splits header values that contain commasPosiblemente ocupada @kshanxs la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
clockworklabs/SpacetimeDB#6123 ·
Los mantenedores suelen responder en 1 día
Todos los issues de clockworklabs/SpacetimeDB
Issues similares
-
agent:sonnet-high enhancement priority: P2 ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
shep-pm/shep-kelpie#652 ·
Los mantenedores suelen responder en 1 día
-
install.ps1: Windows PowerShell 5.1 aborts after a successful cosign verification (NativeCommandError on 'Verified OK')Posiblemente ocupada @sly321-pixel la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
ai_p2
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ClickHouse/ClickHouse#125522 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
[Bug]: OpenRouter streaming chunks report the requested router name instead of the model OpenRouter servedPosiblemente ocupada @Mrun25 la tomó hoy. Abiertobug llm translation
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
BerriAI/litellm#46095 · 1 comentario ·
Los mantenedores suelen responder en 1 día