Unreal SDK: no way to set confirmed reads on the connection (Rust SDK has with_confirmed_reads)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 84/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- cpp, unreal-engine
- Domaine
- game-dev, networking
Piste de recherche
Commencez par UDbConnectionBuilderBase::Build dans sdks/unreal/src/SpacetimeDbSdk/Private/Connection/DbConnectionBuilder.cpp, en utilisant l’implémentation Rust située dans sdks/rust/src/websocket.rs et db_connection.rs comme référence comportementale. Ajoutez l’option aux constructeurs C++ et exposés à Blueprint, en conservant l’omission lorsqu’elle n’est pas définie et en sérialisant une valeur booléenne explicite lorsqu’elle est configurée. La tâche est terminée lorsque confirmed=true ou confirmed=false est correctement ajouté et couvert par les tests concernés du SDK Unreal.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Rust
- Étoiles
- 25.3k
- Forks
- 1.1k
- Merge moyen
- 2 j 23 h
- PR mergées (30 j)
- 67
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de clockworklabs/SpacetimeDB
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
clockworklabs/SpacetimeDB#6288 ·
Les mainteneurs répondent en général sous 1 jour
-
TypeScript server `ctx.random()`: first draw of every transaction is heavily biased (signed shift in `pcg32` seeding)Peut-être pris @Tyagiquamar l’a pris il y a 4 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
clockworklabs/SpacetimeDB#6247 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
clockworklabs/SpacetimeDB#6146 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
clockworklabs/SpacetimeDB#5985 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
clockworklabs/SpacetimeDB#5943 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de clockworklabs/SpacetimeDB
Issues similaires
-
proxy: include denial_category in the "proxy request denied" log linePeut-être pris @sreyas-endor l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
nolabs-ai/nono#2172 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
metasequoiaime/msime#9113 ·
Les mainteneurs répondent en général sous 1 jour
-
area:desktop priority:p2 type:chore
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour
-
area: supply-chain
Difficulté 1/5 Moins d'une heure Accessibilité débutants 73/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100