From b44e87d4de6b3fe733f9a635faac0718e048fc81 Mon Sep 17 00:00:00 2001 From: apron-manlike0o Date: Wed, 29 Apr 2026 11:35:38 -0700 Subject: [PATCH 1/5] consult and prioritize request_id from event over database_update --- crates/core/src/client/messages.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/core/src/client/messages.rs b/crates/core/src/client/messages.rs index b8f1cc87e39..835f50f0cab 100644 --- a/crates/core/src/client/messages.rs +++ b/crates/core/src/client/messages.rs @@ -419,7 +419,8 @@ impl ToProtocol for TransactionUpdateMessage { let TransactionUpdateMessage { event, database_update } = self; let update = database_update.database_update; protocol.assert_matches_format_switch(&update); - let request_id = database_update.request_id.unwrap_or(0); + let mut request_id = database_update.request_id.unwrap_or(0); + request_id = event.clone().map_or(request_id, |e| e.request_id.unwrap_or(request_id)); match update { ws_v1::FormatSwitch::Bsatn(update) => { ws_v1::FormatSwitch::Bsatn(convert(event, request_id, update, |args| { From fbb1db3bc624c6ca07c7c07849451c991b50f0a9 Mon Sep 17 00:00:00 2001 From: Tyler Cloutier Date: Tue, 14 Apr 2026 16:31:43 -0400 Subject: [PATCH 2/5] Update crates/core/src/client/messages.rs Co-authored-by: Phoebe Goldman Signed-off-by: Tyler Cloutier (cherry picked from commit 857bcd5d1bbef070c54339d73655e263ceef2db2) --- crates/core/src/client/messages.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/core/src/client/messages.rs b/crates/core/src/client/messages.rs index 835f50f0cab..9e5568ad65c 100644 --- a/crates/core/src/client/messages.rs +++ b/crates/core/src/client/messages.rs @@ -419,8 +419,9 @@ impl ToProtocol for TransactionUpdateMessage { let TransactionUpdateMessage { event, database_update } = self; let update = database_update.database_update; protocol.assert_matches_format_switch(&update); - let mut request_id = database_update.request_id.unwrap_or(0); - request_id = event.clone().map_or(request_id, |e| e.request_id.unwrap_or(request_id)); + let request_id = database_update.request_id + .or_else(|| event.as_ref().map(|event| event.request_id) + .unwrap_or(0); match update { ws_v1::FormatSwitch::Bsatn(update) => { ws_v1::FormatSwitch::Bsatn(convert(event, request_id, update, |args| { From bc173ba9d3810ca881d39f5d47b9d457d5dd3c3f Mon Sep 17 00:00:00 2001 From: Zeke Foppa <196249+bfops@users.noreply.github.com> Date: Wed, 29 Apr 2026 11:44:04 -0700 Subject: [PATCH 3/5] Apply suggestion from @bfops Signed-off-by: Zeke Foppa <196249+bfops@users.noreply.github.com> --- crates/core/src/client/messages.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/core/src/client/messages.rs b/crates/core/src/client/messages.rs index 9e5568ad65c..405546be922 100644 --- a/crates/core/src/client/messages.rs +++ b/crates/core/src/client/messages.rs @@ -420,7 +420,7 @@ impl ToProtocol for TransactionUpdateMessage { let update = database_update.database_update; protocol.assert_matches_format_switch(&update); let request_id = database_update.request_id - .or_else(|| event.as_ref().map(|event| event.request_id) + .or_else(|| event.as_ref().map(|event| event.request_id)) .unwrap_or(0); match update { ws_v1::FormatSwitch::Bsatn(update) => { From 4a6829c906fb91c2fa5fc6b1c1b168cbf1a38519 Mon Sep 17 00:00:00 2001 From: Zeke Foppa Date: Wed, 29 Apr 2026 11:47:54 -0700 Subject: [PATCH 4/5] [bugfix/2729/fix-incorrect-request-id-on-reducer-call-error]: fix --- crates/core/src/client/messages.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/core/src/client/messages.rs b/crates/core/src/client/messages.rs index 405546be922..ee6a557625c 100644 --- a/crates/core/src/client/messages.rs +++ b/crates/core/src/client/messages.rs @@ -419,9 +419,10 @@ impl ToProtocol for TransactionUpdateMessage { let TransactionUpdateMessage { event, database_update } = self; let update = database_update.database_update; protocol.assert_matches_format_switch(&update); - let request_id = database_update.request_id - .or_else(|| event.as_ref().map(|event| event.request_id)) - .unwrap_or(0); + let request_id = database_update + .request_id + .or_else(|| event.as_ref().map(|event| event.request_id)) + .unwrap_or(0); match update { ws_v1::FormatSwitch::Bsatn(update) => { ws_v1::FormatSwitch::Bsatn(convert(event, request_id, update, |args| { From f1679764e9feff82e3ab4b84e6071bc9371d1760 Mon Sep 17 00:00:00 2001 From: Zeke Foppa Date: Wed, 29 Apr 2026 11:50:52 -0700 Subject: [PATCH 5/5] [bugfix/2729/fix-incorrect-request-id-on-reducer-call-error]: fix build --- crates/core/src/client/messages.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/core/src/client/messages.rs b/crates/core/src/client/messages.rs index ee6a557625c..798596b5bca 100644 --- a/crates/core/src/client/messages.rs +++ b/crates/core/src/client/messages.rs @@ -421,7 +421,7 @@ impl ToProtocol for TransactionUpdateMessage { protocol.assert_matches_format_switch(&update); let request_id = database_update .request_id - .or_else(|| event.as_ref().map(|event| event.request_id)) + .or_else(|| event.as_ref().and_then(|event| event.request_id)) .unwrap_or(0); match update { ws_v1::FormatSwitch::Bsatn(update) => {