Unreal SDK: no way to set confirmed reads on the connection (Rust SDK has with_confirmed_reads)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 84/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- cpp, unreal-engine
- Área
- game-dev, networking
Línea de trabajo
Comienza con UDbConnectionBuilderBase::Build en sdks/unreal/src/SpacetimeDbSdk/Private/Connection/DbConnectionBuilder.cpp, usando la implementación de Rust en sdks/rust/src/websocket.rs y db_connection.rs como referencia de comportamiento. Añade la opción tanto al constructor de C++ como al expuesto a Blueprint, manteniendo la omisión cuando no esté configurada y serializando un booleano explícito cuando esté configurada. Hecho significa que confirmed=true o confirmed=false se añade correctamente y está cubierto por las pruebas relevantes del SDK de Unreal.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
SpacetimeDB 2.12.0, Unreal SDK from sdks/unreal/src/SpacetimeDbSdk at v2.12.0, UE 5.8.3.
The Rust SDK lets the client choose the read mode explicitly: DbConnectionBuilder::with_confirmed_reads(bool) adds &confirmed=true|false to the subscribe URL (sdks/rust/src/websocket.rs, db_connection.rs). The Unreal SDK has no equivalent: UDbConnectionBuilderBase::Build (Private/Connection/DbConnectionBuilder.cpp) always builds
<uri>/v1/database/<name>/subscribe?compression=<Gzip|None>
so the mode is whatever the server default is for the protocol. With v2.bsatn.spacetimedb (which the Unreal SDK uses, Websocket.cpp) the server default is confirmed = true (client-api/src/routes/subscribe.rs, DEFAULT_CONFIRMED_READS), which is what we want, but we can't pin it from the client.
Why it matters for us: our game logic treats "reducer reply received" as "the transaction is durable" (inventory, trades, store purchases are only shown as done after the reply). If the default ever changes, or a different protocol version is negotiated, Unreal clients would silently switch to replies-before-fsync, while our Rust tools keep true explicitly.
Request: add WithConfirmedReads(bool) to UDbConnectionBuilder (and the Blueprint builder), appending &confirmed=true|false only when it was set, mirroring the Rust SDK. We can send a PR if that helps.
Workaround today: none without patching the SDK (the database name is interpolated into the path, so a query parameter can't be injected cleanly). We rely on the v2 default and check it in our load tests.
- Lenguaje dominante
- Rust
- Estrellas
- 25.3k
- Forks
- 1.1k
- Merge medio
- 3 d 9 h
- PR fusionados (30 d)
- 69
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
-
TS SDK: failed procedure calls reject with a bare string instead of an ErrorPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
clockworklabs/SpacetimeDB#6288 ·
Los mantenedores suelen responder en 1 día
-
TypeScript server `ctx.random()`: first draw of every transaction is heavily biased (signed shift in `pcg32` seeding)Posiblemente ocupada @Tyagiquamar la tomó hace 6 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
clockworklabs/SpacetimeDB#6247 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
clockworklabs/SpacetimeDB#6146 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
clockworklabs/SpacetimeDB#5985 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
clockworklabs/SpacetimeDB#5943 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de clockworklabs/SpacetimeDB
Issues similares
-
state:triage-needed
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
bug P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
cssparser-color: debug assertion in hsl_to_rgb for a hue that overflows f32Posiblemente ocupada @BartWaardenburg la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
servo/rust-cssparser#460 ·
-
`-w -r <range>` fails empty range but changed working treePosiblemente ocupada @dajiaohuang la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días