Skip to content

Conversation

@jm-clius
Copy link
Contributor

Adds SDS-R capability to the SDS implementation, following https://rfc.vac.dev/vac/raw/sds#sds-repair-sds-r

Integration into reliable channels is following closely behind (I'll open a separate PR).

Will appreciate any feedback, also suggestions on following idiomatic ts (or js-waku) practices.

@fryorcraken I've kept the SDS-R-Implementation-Guide.md in the branch for now, but presumably the idea is to adapt its content to the Implementation Suggestions section of the spec and remove from the js-waku repo?

@jm-clius jm-clius requested a review from a team as a code owner October 23, 2025 14:43
@jm-clius
Copy link
Contributor Author

@waku-org/js-waku Not directly related to SDS-R, but I'm a bit nervous about collections that seemingly grow without being capped. Specifically the localHistory and timeReceived-map in the message channel never removes items: https://github.com/waku-org/js-waku/blob/master/packages/sds/src/message_channel/message_channel.ts#L64-L65 I understood from Discord convo that this is considered fine as we expect browser sessions to be temporary enough for the memory leak to not have a major effect, but want to double check that we're synced on this.

@github-actions
Copy link

github-actions bot commented Oct 23, 2025

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
Waku node 96.23 KB (+0.13% 🔺) 2 s (+0.13% 🔺) 985 ms (+42.88% 🔺) 3 s
Waku Simple Light Node 147.47 KB (+0.06% 🔺) 3 s (+0.06% 🔺) 1.2 s (+18.94% 🔺) 4.1 s
ECIES encryption 22.62 KB (+0.53% 🔺) 453 ms (+0.53% 🔺) 312 ms (-22.48% 🔽) 764 ms
Symmetric encryption 22 KB (+0.4% 🔺) 440 ms (+0.4% 🔺) 85 ms (-64.75% 🔽) 525 ms
DNS discovery 52.17 KB (+0.05% 🔺) 1.1 s (+0.05% 🔺) 586 ms (+22.11% 🔺) 1.7 s
Peer Exchange discovery 52.92 KB (+0.03% 🔺) 1.1 s (+0.03% 🔺) 497 ms (+12.81% 🔺) 1.6 s
Peer Cache Discovery 46.64 KB (+0.17% 🔺) 933 ms (+0.17% 🔺) 628 ms (+65.16% 🔺) 1.6 s
Privacy preserving protocols 77.2 KB (+0.2% 🔺) 1.6 s (+0.2% 🔺) 970 ms (+62.55% 🔺) 2.6 s
Waku Filter 79.66 KB (-0.05% 🔽) 1.6 s (-0.05% 🔽) 1.3 s (+80.32% 🔺) 2.8 s
Waku LightPush 77.95 KB (+0.23% 🔺) 1.6 s (+0.23% 🔺) 732 ms (-20.56% 🔽) 2.3 s
History retrieval protocols 83.67 KB (+0.07% 🔺) 1.7 s (+0.07% 🔺) 695 ms (-10.39% 🔽) 2.4 s
Deterministic Message Hashing 28.98 KB (+0.29% 🔺) 580 ms (+0.29% 🔺) 468 ms (+21.36% 🔺) 1.1 s

@jm-clius
Copy link
Contributor Author

Parallel pull request for SDS-R in reliable channels: #2701 (will open for review once this one is merged)

@jm-clius jm-clius changed the title Add SDS-Repair (SDS-R) to the SDS implementation feat: add SDS-Repair (SDS-R) to the SDS implementation Oct 23, 2025
Copy link
Collaborator

@weboko weboko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me, nice PR!

do you want me to make a testing release of SDS library for you?

@jm-clius
Copy link
Contributor Author

do you want me to make a testing release of SDS library for you?

Will be useful for the reliable channels integration, I think.

@weboko
Copy link
Collaborator

weboko commented Oct 27, 2025

You can use @waku/sdk with version 0.0.36-3288d28.0

Published here https://github.com/waku-org/js-waku/actions/runs/18852649975/job/53792729460

@jm-clius jm-clius merged commit 5334a7f into master Oct 28, 2025
10 checks passed
@jm-clius jm-clius deleted the feat/sds-repair branch October 28, 2025 10:27
@weboko weboko mentioned this pull request Oct 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants