From 5ade94ce255809b6c63d210337b9eb619faae06e Mon Sep 17 00:00:00 2001 From: droak Date: Sun, 6 Oct 2024 03:15:56 +0900 Subject: [PATCH] manually dial peers; fix canvas --- examples/canvas/src/objects/canvas.ts | 4 ++-- packages/network/src/node.ts | 13 +++++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/examples/canvas/src/objects/canvas.ts b/examples/canvas/src/objects/canvas.ts index f568a03d..170dfbf3 100644 --- a/examples/canvas/src/objects/canvas.ts +++ b/examples/canvas/src/objects/canvas.ts @@ -76,12 +76,12 @@ export class Canvas implements CRO { if (!op.value) continue; switch (op.type) { case "splash": { - const [nodeId, offset, size, rgb] = op.value; + const [offset, size, rgb] = op.value; this._splash(offset, size, rgb); break; } case "paint": { - const [nodeId, offset, rgb] = op.value; + const [offset, rgb] = op.value; this._paint(offset, rgb); break; } diff --git a/packages/network/src/node.ts b/packages/network/src/node.ts index f131bbd3..5232aed6 100644 --- a/packages/network/src/node.ts +++ b/packages/network/src/node.ts @@ -89,8 +89,8 @@ export class TopologyNetworkNode { list: this._config?.bootstrap_peers ? this._config.bootstrap_peers : [ - "/dns4/relay.droak.sh/tcp/443/wss/p2p/Qma3GsJmB47xYuyahPZPSadh1avvxfyYQwk8R3UnFrQ6aP", - ], + "/dns4/relay.droak.sh/tcp/443/wss/p2p/Qma3GsJmB47xYuyahPZPSadh1avvxfyYQwk8R3UnFrQ6aP", + ], }), ], services: { @@ -132,8 +132,13 @@ export class TopologyNetworkNode { this._node.addEventListener("peer:connect", (e) => console.log("::start::peer::connect", e.detail), ); - this._node.addEventListener("peer:discovery", (e) => - console.log("::start::peer::discovery", e.detail), + this._node.addEventListener("peer:discovery", (e) => { + // current bug in v11.0.0 requires manual dial (https://github.com/libp2p/js-libp2p-pubsub-peer-discovery/issues/149) + for (const ma of e.detail.multiaddrs) { + this._node?.dial(ma) + } + console.log("::start::peer::discovery", e.detail) + } ); this._node.addEventListener("peer:identify", (e) => console.log("::start::peer::identify", e.detail),