diff --git a/packages/sdk/src/reliable_channel/reliable_channel.ts b/packages/sdk/src/reliable_channel/reliable_channel.ts index 08d0c6097c..aa975fa9af 100644 --- a/packages/sdk/src/reliable_channel/reliable_channel.ts +++ b/packages/sdk/src/reliable_channel/reliable_channel.ts @@ -292,7 +292,15 @@ export class ReliableChannel< decoder: IDecoder, options?: ReliableChannelOptions ): Promise> { - const sdsMessageChannel = new MessageChannel(channelId, senderId, options); + // Enable SDS-R repair only if retrieval strategy uses it + const retrievalStrategy = options?.retrievalStrategy ?? "both"; + const enableRepair = + retrievalStrategy === "both" || retrievalStrategy === "sds-r-only"; + + const sdsMessageChannel = new MessageChannel(channelId, senderId, { + ...options, + enableRepair + }); const messageChannel = new ReliableChannel( node, sdsMessageChannel,