v0.2.7-pre.008-fix.001

This commit is contained in:
2026-08-22 21:54:27 +02:00
parent 6fefc64e75
commit 93199d1856
3 changed files with 68 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-onchain-transport-lib/src/ws_session.rs
// version: 8
// version: 9
use futures_util::SinkExt; // rust-rules: trait-import
use futures_util::StreamExt; // rust-rules: trait-import
@@ -1048,6 +1048,7 @@ fn prepare_subscriptions_for_reconnect(
remote_to_local: &mut std::collections::BTreeMap<u64, crate::WsSubscriptionId>,
failure_code: ksp_core_lib::ErrorCode,
) {
let terminal_failure_code = if policy == crate::WsResubscribePolicy::Never { crate::ERROR_CODE_WS_CONNECTION_FAILED } else { failure_code };
remote_to_local.clear();
let mut failed = std::vec::Vec::new();
let mut already_terminal = std::vec::Vec::new();
@@ -1066,7 +1067,7 @@ fn prepare_subscriptions_for_reconnect(
}
}
for subscription_id in failed {
fail_local_subscription(subscriptions, remote_to_local, subscription_id, failure_code);
fail_local_subscription(subscriptions, remote_to_local, subscription_id, terminal_failure_code);
}
for subscription_id in already_terminal {
subscriptions.remove(&subscription_id.get());