From 5f084d0ca36b4c111377c25ed9bc353b15d03b58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Thu, 8 Oct 2026 11:14:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=20publish=5Fgame=5Fdistribut?= =?UTF-8?q?ion=5Fversion=20=E7=9A=84=20replayed=20=E8=AF=AD=E4=B9=89?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 说明返回三元组第三个值的含义与自然幂等键、请求摘要的关系 --- server-rs/crates/spacetime-client/src/game_distribution.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server-rs/crates/spacetime-client/src/game_distribution.rs b/server-rs/crates/spacetime-client/src/game_distribution.rs index 51d5210cf..c026da2d2 100644 --- a/server-rs/crates/spacetime-client/src/game_distribution.rs +++ b/server-rs/crates/spacetime-client/src/game_distribution.rs @@ -1358,6 +1358,13 @@ impl SpacetimeClient { .await } + /// 统一发布一个版本,返回 `(game, version, replayed)`。 + /// + /// 第三个返回值 `replayed` 表示这次请求命中了同一自然幂等键 + /// `(game_id, idempotency_key, request_digest)`:服务端没有新建版本,回传的是既有作品与版本行。 + /// 其中 `idempotency_key` 由 api-server 按 `(game_id, project_key, version_number)` 派生 + /// (`version_number` 是客户端冻结的对外版本身份,`project_key` 只参与首次发布的作品身份派生), + /// `request_digest` 覆盖完整 metadata 与新图字节;同键异摘要会被拒绝,而不是静默重放。 pub async fn publish_game_distribution_version( &self, input: GameDistributionPublishVersionRecordInput,