Skip to content

feat_: integrate sds protocol. #6639

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 17 commits into
base: develop
Choose a base branch
from
Draft

Conversation

kaichaosun
Copy link
Contributor

SDS is a protocol to improve reliability of community messages. SDS spec

A description to understand introduced changes without reading the code.

Important changes:

  • Add channel id in ApplicationMetadataMessage for SDS
  • Wrap message with SDS manager.
  • Unwrap message with SDS manager.
  • Add unit tests

Relates #waku-org/pm#194

@status-im-auto
Copy link
Member

status-im-auto commented Jun 5, 2025

Jenkins Builds

Click to see older builds (118)
Commit #️⃣ Finished (UTC) Duration Platform Result
07e0af1 #1 2025-06-05 03:52:54 ~43 sec windows 📄log
07e0af1 #1 2025-06-05 03:53:37 ~1 min android 📄log
07e0af1 #1 2025-06-05 03:53:49 ~1 min linux 📄log
07e0af1 #1 2025-06-05 03:53:56 ~1 min macos 📄log
07e0af1 #1 2025-06-05 03:54:05 ~2 min linux 📄log
✖️ 07e0af1 #1 2025-06-05 03:54:09 ~1 min tests 📄log
07e0af1 #1 2025-06-05 03:54:21 ~2 min ios 📄log
07e0af1 #1 2025-06-05 03:55:45 ~3 min macos 📄log
✖️ 07e0af1 #1 2025-06-05 04:09:03 ~16 min tests-rpc 📄log
4a3b485 #2 2025-06-05 07:25:22 ~36 sec windows 📄log
4a3b485 #2 2025-06-05 07:26:04 ~1 min android 📄log
✖️ 4a3b485 #2 2025-06-05 07:26:48 ~2 min tests 📄log
4a3b485 #2 2025-06-05 07:26:55 ~2 min ios 📄log
✖️ 4a3b485 #2 2025-06-05 07:27:57 ~3 min tests-rpc 📄log
4a3b485 #2 2025-06-05 07:29:11 ~4 min linux 📄log
4a3b485 #2 2025-06-05 07:29:13 ~4 min linux 📄log
4a3b485 #2 2025-06-05 07:36:23 ~11 min macos 📄log
96e6359 #3 2025-06-06 08:25:37 ~43 sec windows 📄log
96e6359 #3 2025-06-06 08:26:17 ~1 min android 📄log
✖️ 96e6359 #3 2025-06-06 08:26:31 ~1 min tests 📄log
96e6359 #3 2025-06-06 08:27:05 ~2 min ios 📄log
✖️ 96e6359 #3 2025-06-06 08:27:30 ~2 min tests-rpc 📄log
96e6359 #3 2025-06-06 08:29:51 ~5 min linux 📄log
96e6359 #3 2025-06-06 08:30:20 ~5 min linux 📄log
96e6359 #3 2025-06-06 08:37:16 ~12 min macos 📄log
5488a21 #4 2025-06-06 08:29:59 ~32 sec android 📄log
✖️ 5488a21 #4 2025-06-06 08:30:36 ~1 min tests 📄log
5488a21 #4 2025-06-06 08:30:40 ~1 min ios 📄log
✖️ 5488a21 #4 2025-06-06 08:32:01 ~2 min tests-rpc 📄log
5488a21 #4 2025-06-06 08:33:14 ~3 min linux 📄log
5488a21 #4 2025-06-06 08:34:32 ~4 min linux 📄log
5488a21 #4 2025-06-06 08:42:26 ~12 min windows 📄log
5488a21 #4 2025-06-06 08:44:01 ~6 min macos 📄log
✖️ 576d46a #5 2025-06-06 08:53:59 ~1 min tests 📄log
576d46a #5 2025-06-06 08:55:23 ~2 min android 📄log
✖️ 576d46a #5 2025-06-06 08:55:41 ~2 min tests-rpc 📄log
576d46a #5 2025-06-06 08:56:52 ~4 min ios 📄log
576d46a #5 2025-06-06 08:57:35 ~4 min linux 📄log
576d46a #5 2025-06-06 08:57:40 ~5 min linux 📄log
576d46a #5 2025-06-06 09:00:46 ~8 min windows 📄log
576d46a #5 2025-06-06 09:01:57 ~9 min macos 📄log
✖️ 7970a29 #6 2025-06-06 09:10:05 ~2 min tests 📄log
7970a29 #6 2025-06-06 09:10:17 ~2 min android 📄log
✖️ 7970a29 #6 2025-06-06 09:11:17 ~3 min tests-rpc 📄log
7970a29 #6 2025-06-06 09:11:57 ~4 min ios 📄log
7970a29 #6 2025-06-06 09:12:26 ~4 min linux 📄log
7970a29 #6 2025-06-06 09:12:56 ~5 min linux 📄log
7970a29 #6 2025-06-06 09:15:58 ~7 min windows 📄log
7970a29 #6 2025-06-06 09:16:46 ~8 min macos 📄log
✖️ 227be84 #7 2025-06-06 09:16:45 ~1 min tests 📄log
✖️ 227be84 #7 2025-06-06 09:17:22 ~2 min tests-rpc 📄log
227be84 #7 2025-06-06 09:19:04 ~4 min linux 📄log
227be84 #7 2025-06-06 09:20:27 ~5 min linux 📄log
227be84 #7 2025-06-06 09:20:36 ~5 min android 📄log
227be84 #7 2025-06-06 09:24:17 ~8 min windows 📄log
227be84 #7 2025-06-06 09:27:09 ~10 min macos 📄log
✖️ b42f141 #8 2025-06-06 09:27:47 ~2 min tests-rpc 📄log
b42f141 #8 2025-06-06 09:28:08 ~3 min linux 📄log
b42f141 #8 2025-06-06 09:30:10 ~5 min linux 📄log
b42f141 #8 2025-06-06 09:30:17 ~5 min android 📄log
✖️ b42f141 #8 2025-06-06 09:33:43 ~8 min tests 📄log
b42f141 #8 2025-06-06 09:37:41 ~12 min windows 📄log
b42f141 #8 2025-06-06 09:42:51 ~15 min macos 📄log
✖️ 7148cf0 #9 2025-06-06 09:48:07 ~4 min tests-rpc 📄log
7148cf0 #9 2025-06-06 09:48:54 ~5 min linux 📄log
7148cf0 #9 2025-06-06 09:49:17 ~5 min android 📄log
7148cf0 #9 2025-06-06 09:49:45 ~5 min linux 📄log
✖️ 7148cf0 #9 2025-06-06 09:51:51 ~7 min tests 📄log
7148cf0 #9 2025-06-06 09:53:05 ~9 min windows 📄log
7148cf0 #9 2025-06-06 09:53:13 ~9 min macos 📄log
1ee85b0 #10 2025-06-09 07:17:24 ~3 min android 📄log
✖️ 1ee85b0 #10 2025-06-09 07:18:12 ~3 min tests-rpc 📄log
✖️ 1ee85b0 #10 2025-06-09 07:18:20 ~4 min tests 📄log
✔️ 1ee85b0 #10 2025-06-09 07:20:59 ~6 min linux 📦zip
1ee85b0 #10 2025-06-09 07:25:31 ~11 min windows 📄log
1ee85b0 #10 2025-06-09 07:26:46 ~12 min linux 📄log
✔️ 1ee85b0 #10 2025-06-09 07:26:46 ~12 min macos 📦zip
✖️ 97ace65 #11 2025-06-11 08:19:11 ~3 min tests 📄log
97ace65 #11 2025-06-11 08:19:20 ~3 min android 📄log
✔️ 97ace65 #11 2025-06-11 08:22:05 ~6 min linux 📦zip
✖️ 97ace65 #11 2025-06-11 08:26:28 ~10 min tests-rpc 📄log
97ace65 #11 2025-06-11 08:27:01 ~11 min windows 📄log
✔️ 97ace65 #11 2025-06-11 08:27:57 ~12 min macos 📦zip
97ace65 #11 2025-06-11 08:28:04 ~12 min linux 📄log
5378678 #12 2025-06-11 09:28:21 ~3 min android 📄log
✔️ 5378678 #12 2025-06-11 09:32:14 ~6 min linux 📦zip
✖️ 5378678 #12 2025-06-11 09:36:11 ~10 min tests 📄log
5378678 #12 2025-06-11 09:36:46 ~11 min windows 📄log
5378678 #12 2025-06-11 09:37:49 ~12 min linux 📄log
✔️ 5378678 #12 2025-06-11 09:37:58 ~12 min macos 📦zip
✖️ 5378678 #12 2025-06-11 09:40:08 ~14 min tests-rpc 📄log
80553a6 #13 2025-06-17 09:50:51 ~1 min linux 📄log
80553a6 #12 2025-06-17 09:51:04 ~1 min macos 📄log
80553a6 #13 2025-06-17 09:51:23 ~2 min linux 📄log
80553a6 #13 2025-06-17 09:51:48 ~2 min android 📄log
✖️ 80553a6 #13 2025-06-17 09:52:54 ~3 min tests 📄log
✖️ 80553a6 #13 2025-06-17 09:53:36 ~4 min tests-rpc 📄log
80553a6 #13 2025-06-17 09:53:44 ~4 min macos 📄log
80553a6 #13 2025-06-17 09:54:14 ~4 min windows 📄log
80553a6 #13 2025-06-17 09:56:05 ~6 min ios 📄log
2773626 #14 2025-06-18 04:49:05 ~1 min linux 📄log
2773626 #14 2025-06-18 04:49:09 ~1 min linux 📄log
2773626 #13 2025-06-18 04:49:17 ~1 min macos 📄log
✖️ 2773626 #14 2025-06-18 04:49:34 ~2 min tests 📄log
2773626 #14 2025-06-18 04:50:29 ~3 min android 📄log
✖️ 2773626 #14 2025-06-18 04:50:47 ~3 min tests-rpc 📄log
2773626 #14 2025-06-18 04:51:18 ~3 min windows 📄log
2773626 #14 2025-06-18 04:51:24 ~3 min macos 📄log
2773626 #14 2025-06-18 04:54:15 ~6 min ios 📄log
b986f3f #15 2025-06-20 00:44:32 ~1 min linux 📄log
b986f3f #15 2025-06-20 00:44:38 ~1 min linux 📄log
✖️ b986f3f #15 2025-06-20 00:44:44 ~1 min tests 📄log
b986f3f #14 2025-06-20 00:44:45 ~1 min macos 📄log
b986f3f #15 2025-06-20 00:45:43 ~3 min android 📄log
b986f3f #15 2025-06-20 00:46:41 ~3 min macos 📄log
b986f3f #15 2025-06-20 00:46:43 ~3 min windows 📄log
b986f3f #15 2025-06-20 00:49:51 ~7 min ios 📄log
✖️ b986f3f #15 2025-06-20 00:53:03 ~10 min tests-rpc 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
46117ba #16 2025-06-25 11:15:46 ~2 min linux 📄log
46117ba #15 2025-06-25 11:15:55 ~2 min macos 📄log
46117ba #16 2025-06-25 11:15:55 ~2 min linux 📄log
✖️ 46117ba #16 2025-06-25 11:16:02 ~2 min tests 📄log
46117ba #16 2025-06-25 11:16:09 ~2 min android 📄log
46117ba #16 2025-06-25 11:17:35 ~3 min macos 📄log
46117ba #16 2025-06-25 11:18:06 ~4 min windows 📄log
46117ba #16 2025-06-25 11:18:30 ~4 min ios 📄log
✖️ 46117ba #16 2025-06-25 11:24:19 ~10 min tests-rpc 📄log
e70f4fa #16 2025-06-30 02:09:39 ~1 min macos 📄log
e70f4fa #17 2025-06-30 02:10:00 ~1 min linux 📄log
e70f4fa #17 2025-06-30 02:10:02 ~1 min linux 📄log
✖️ e70f4fa #17 2025-06-30 02:10:09 ~1 min tests 📄log
✖️ e70f4fa #17 2025-06-30 02:10:35 ~2 min tests-rpc 📄log
e70f4fa #17 2025-06-30 02:10:47 ~2 min android 📄log
e70f4fa #17 2025-06-30 02:11:14 ~2 min macos 📄log
e70f4fa #17 2025-06-30 02:11:55 ~3 min ios 📄log
e70f4fa #17 2025-06-30 02:12:35 ~4 min windows 📄log

@gabrielmer gabrielmer force-pushed the feat/sds-integration branch from 96e6359 to 5488a21 Compare June 6, 2025 08:29
Copy link

@jm-clius jm-clius left a comment

Choose a reason for hiding this comment

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

Thanks! Looked through this and it seems reasonable to me - at least the functionality of wrapping and unwrapping a message. Would be great to see more of the callbacks stubbed (perhaps in a next PR?). The idea of the basic integration is simply to add logs that demonstrate what kind of reliability information we get from SDS, as you are indeed doing. Are there any other mechanisms (e.g. metrics) available to make monitoring even easier?

@kaichaosun
Copy link
Contributor Author

Are there any other mechanisms (e.g. metrics) available to make monitoring even easier?

The grafana & promethues can probably help, but looks not straight forward since we likely want to track the graph somehow.

@jm-clius

@kaichaosun kaichaosun force-pushed the feat/sds-integration branch from 46117ba to e70f4fa Compare June 30, 2025 02:07
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