From cdafc250e5536305d74e4328d82d7008a1413fce Mon Sep 17 00:00:00 2001
From: pablo
Date: Fri, 20 Feb 2026 13:12:58 +0200
Subject: [PATCH] fix: peers and pubsub
---
examples/cbindings/cbindings_chat_tui.c | 2 +-
library/api/client_api.nim | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/examples/cbindings/cbindings_chat_tui.c b/examples/cbindings/cbindings_chat_tui.c
index 5bc3faf..7ae722c 100644
--- a/examples/cbindings/cbindings_chat_tui.c
+++ b/examples/cbindings/cbindings_chat_tui.c
@@ -672,7 +672,7 @@ int main(int argc, char *argv[]) {
char config[2048];
if (peer) {
snprintf(config, sizeof(config),
- "{\"name\":\"%s\",\"port\":%d,\"clusterId\":%d,\"shardId\":%d,\"staticPeer\":\"%s\"}",
+ "{\"name\":\"%s\",\"port\":%d,\"clusterId\":%d,\"shardId\":%d,\"staticPeers\":[\"%s\"]}",
name, port, cluster_id, shard_id, peer);
} else {
snprintf(config, sizeof(config),
diff --git a/library/api/client_api.nim b/library/api/client_api.nim
index 10c8d76..5a29d12 100644
--- a/library/api/client_api.nim
+++ b/library/api/client_api.nim
@@ -44,6 +44,9 @@ proc createChatClient(
if config.hasKey("shardId"):
wakuCfg.shardId = @[config["shardId"].getInt().uint16]
+ if config.hasKey("clusterId") or config.hasKey("shardId"):
+ wakuCfg.pubsubTopic = "/waku/2/rs/" & $wakuCfg.clusterId & "/" & $wakuCfg.shardId[0]
+
if config.hasKey("staticPeers"):
wakuCfg.staticPeers = @[]
for peer in config["staticPeers"]: