Skip to content

Conversation

@fryorcraken
Copy link
Collaborator

@fryorcraken fryorcraken commented Nov 9, 2025

Problem / Description

Various improvements for reliable channels based on developer feedback as well as better code organisation by extracting some classes.

Solution

  1. new ReliableChannel.syncStatus that emit events and information on missing messages
  2. Add routine to ReliableChannel.stop to ensure there are no hanging timeout, intervals, retries or subscriptions
  3. When a message is marked irretrievably lost, it is delivered so the client can resume participation in the SDS protocols.
  4. Fix some tests due to global state (setInterval, clearInterval) being modified and not restored in some tests.
  5. Extract several logics from ReliableChannel to make it leaner, and test more easily/thoroughly

Notes

For (3) @jm-clius @shash256 the spec is open to interpretation, should we update it?

TODOs:


Checklist

  • Code changes are covered by unit tests.
  • Code changes are covered by e2e tests, if applicable.
  • Dogfooding has been performed, if feasible.
  • A test version has been published, if required.
  • All CI checks pass successfully.

@github-actions
Copy link

github-actions bot commented Nov 9, 2025

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
Waku node 96.15 KB (-0.08% 🔽) 2 s (-0.08% 🔽) 678 ms (+11.54% 🔺) 2.7 s
Waku Simple Light Node 147.33 KB (-0.1% 🔽) 3 s (-0.1% 🔽) 777 ms (-14.32% 🔽) 3.8 s
ECIES encryption 22.62 KB (0%) 453 ms (0%) 345 ms (+59.88% 🔺) 797 ms
Symmetric encryption 22 KB (0%) 440 ms (0%) 124 ms (-5.2% 🔽) 564 ms
DNS discovery 52.17 KB (0%) 1.1 s (0%) 402 ms (+62.24% 🔺) 1.5 s
Peer Exchange discovery 52.92 KB (0%) 1.1 s (0%) 517 ms (+34.36% 🔺) 1.6 s
Peer Cache Discovery 46.64 KB (0%) 933 ms (0%) 527 ms (+46.73% 🔺) 1.5 s
Privacy preserving protocols 77.23 KB (+0.03% 🔺) 1.6 s (+0.03% 🔺) 685 ms (+66.01% 🔺) 2.3 s
Waku Filter 79.69 KB (+0.05% 🔺) 1.6 s (+0.05% 🔺) 665 ms (+52.18% 🔺) 2.3 s
Waku LightPush 77.92 KB (-0.04% 🔽) 1.6 s (-0.04% 🔽) 572 ms (+2.82% 🔺) 2.2 s
History retrieval protocols 83.61 KB (-0.08% 🔽) 1.7 s (-0.08% 🔽) 730 ms (-0.96% 🔽) 2.5 s
Deterministic Message Hashing 28.98 KB (0%) 580 ms (0%) 177 ms (-63.57% 🔽) 757 ms

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.

2 participants