mirror of
https://github.com/logos-messaging/examples.waku.org.git
synced 2026-01-04 05:43:07 +00:00
Merge pull request #284 from waku-org/chore/only-wss-peers
chore: only show websocket peers in discovery
This commit is contained in:
commit
0e2c6d56fb
@ -3,11 +3,12 @@
|
|||||||
"$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json",
|
"$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json",
|
||||||
"language": "en",
|
"language": "en",
|
||||||
"words": [
|
"words": [
|
||||||
|
"Alives",
|
||||||
"asym",
|
"asym",
|
||||||
"backoff",
|
"backoff",
|
||||||
"backoffs",
|
"backoffs",
|
||||||
"bitjson",
|
|
||||||
"bitauth",
|
"bitauth",
|
||||||
|
"bitjson",
|
||||||
"bufbuild",
|
"bufbuild",
|
||||||
"chainsafe",
|
"chainsafe",
|
||||||
"cimg",
|
"cimg",
|
||||||
@ -16,6 +17,7 @@
|
|||||||
"codecov",
|
"codecov",
|
||||||
"commitlint",
|
"commitlint",
|
||||||
"dependabot",
|
"dependabot",
|
||||||
|
"Dialable",
|
||||||
"dingpu",
|
"dingpu",
|
||||||
"Dlazy",
|
"Dlazy",
|
||||||
"dnsaddr",
|
"dnsaddr",
|
||||||
@ -52,13 +54,13 @@
|
|||||||
"lightpush",
|
"lightpush",
|
||||||
"livechat",
|
"livechat",
|
||||||
"mkdir",
|
"mkdir",
|
||||||
|
"mplex",
|
||||||
"multiaddr",
|
"multiaddr",
|
||||||
"multiaddresses",
|
"multiaddresses",
|
||||||
"multiaddrs",
|
"multiaddrs",
|
||||||
"multicodec",
|
"multicodec",
|
||||||
"multicodecs",
|
"multicodecs",
|
||||||
"multiformats",
|
"multiformats",
|
||||||
"mplex",
|
|
||||||
"multihashes",
|
"multihashes",
|
||||||
"muxed",
|
"muxed",
|
||||||
"muxer",
|
"muxer",
|
||||||
@ -100,13 +102,12 @@
|
|||||||
"varint",
|
"varint",
|
||||||
"waku",
|
"waku",
|
||||||
"wakuconnect",
|
"wakuconnect",
|
||||||
"wakuv",
|
|
||||||
"wakunode",
|
"wakunode",
|
||||||
|
"wakuv",
|
||||||
"webfonts",
|
"webfonts",
|
||||||
"websockets",
|
"websockets",
|
||||||
"wifi",
|
"wifi",
|
||||||
"xsalsa20",
|
"xsalsa20"
|
||||||
"Alives"
|
|
||||||
],
|
],
|
||||||
"flagWords": [],
|
"flagWords": [],
|
||||||
"ignorePaths": [
|
"ignorePaths": [
|
||||||
|
|||||||
@ -81,8 +81,12 @@ export const useNodePeers = (node: undefined | LightNode) => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!node) return;
|
if (!node) return;
|
||||||
|
|
||||||
const handleDiscoveryBootstrap = (event: CustomEvent<PeerId>) => {
|
const handleDiscoveryBootstrap = async (event: CustomEvent<PeerId>) => {
|
||||||
setBootstrapPeers((peers) => new Set([...peers, event.detail]));
|
(async () => {
|
||||||
|
if (!(await isPeerDialable(event.detail, node))) return;
|
||||||
|
|
||||||
|
setBootstrapPeers((peers) => new Set([...peers, event.detail]));
|
||||||
|
})().catch((error) => console.error(error));
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleConnectBootstrap = (event: CustomEvent<PeerId>) => {
|
const handleConnectBootstrap = (event: CustomEvent<PeerId>) => {
|
||||||
@ -90,7 +94,11 @@ export const useNodePeers = (node: undefined | LightNode) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleDiscoveryPeerExchange = (event: CustomEvent<PeerId>) => {
|
const handleDiscoveryPeerExchange = (event: CustomEvent<PeerId>) => {
|
||||||
setPeerExchangePeers((peers) => new Set([...peers, event.detail]));
|
(async () => {
|
||||||
|
if (!(await isPeerDialable(event.detail, node))) return;
|
||||||
|
|
||||||
|
setPeerExchangePeers((peers) => new Set([...peers, event.detail]));
|
||||||
|
})().catch((error) => console.error(error));
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleConnectPeerExchange = (event: CustomEvent<PeerId>) => {
|
const handleConnectPeerExchange = (event: CustomEvent<PeerId>) => {
|
||||||
@ -210,3 +218,20 @@ export const usePeers = (params: UsePeersParams): UsePeersResults => {
|
|||||||
|
|
||||||
return peers;
|
return peers;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// we only support websocket connections for now
|
||||||
|
const isPeerDialable = async (peerId: PeerId, node: LightNode) => {
|
||||||
|
const peer = await node.libp2p.peerStore.get(peerId);
|
||||||
|
if (!peer) return false;
|
||||||
|
if (peer.addresses.length === 0) return false;
|
||||||
|
const connectableMultiaddrs = peer.addresses.filter(({ multiaddr }) =>
|
||||||
|
isMultiaddrConnectable(multiaddr.toString())
|
||||||
|
);
|
||||||
|
if (connectableMultiaddrs.length === 0) return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
const isMultiaddrConnectable = (multiaddr: string) => {
|
||||||
|
return multiaddr.includes("wss") || multiaddr.includes("/tls/ws");
|
||||||
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user