use usePeers from the lib

This commit is contained in:
Sasha 2023-02-23 20:19:06 +01:00
parent 522ebb93c0
commit 2bd10b2641
No known key found for this signature in database
3 changed files with 17 additions and 31 deletions

View File

@ -6132,9 +6132,9 @@
} }
}, },
"node_modules/@types/serve-static": { "node_modules/@types/serve-static": {
"version": "1.15.0", "version": "1.15.1",
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz",
"integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/mime": "*", "@types/mime": "*",
@ -10021,9 +10021,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.308", "version": "1.4.309",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.308.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.309.tgz",
"integrity": "sha512-qyTx2aDFjEni4UnRWEME9ubd2Xc9c0zerTUl/ZinvD4QPsF0S7kJTV/Es/lPCTkNX6smyYar+z/n8Cl6pFr8yQ==", "integrity": "sha512-U7DTiKe4h+irqBG6h4EZ0XXaZuJj4md3xIXXaGSYhwiumPZ4BSc6rgf9UD0hVUMaeP/jB0q5pKWCPxvhO8fvZA==",
"dev": true "dev": true
}, },
"node_modules/email-addresses": { "node_modules/email-addresses": {

View File

@ -1,7 +1,7 @@
import type { LightNode } from "@waku/interfaces"; import type { LightNode } from "@waku/interfaces";
import ChatList from "./ChatList"; import ChatList from "./ChatList";
import MessageInput from "./MessageInput"; import MessageInput from "./MessageInput";
import { useWaku, useContentPair, useLightPush } from "@waku/react"; import { useWaku, useContentPair, useLightPush, usePeers } from "@waku/react";
import { TitleBar } from "@livechat/ui-kit"; import { TitleBar } from "@livechat/ui-kit";
import { Message } from "./Message"; import { Message } from "./Message";
import { ChatMessage } from "./chat_message"; import { ChatMessage } from "./chat_message";
@ -17,13 +17,9 @@ export default function Room(props: Props) {
const { node } = useWaku<LightNode>(); const { node } = useWaku<LightNode>();
const { encoder } = useContentPair(); const { encoder } = useContentPair();
const { push: onPush } = useLightPush({ node, encoder }); const { push: onPush } = useLightPush({ node, encoder });
const {
lightPushPeers, const { bootstrapPeers, peerExchangePeers } = useNodePeers(node);
filterPeers, const { storePeers, filterPeers, lightPushPeers } = usePeers({ node });
storePeers,
bootstrapPeers,
peerExchangePeers,
} = useNodePeers(node);
const onSend = async (text: string) => { const onSend = async (text: string) => {
if (!onPush) { if (!onPush) {
@ -52,7 +48,9 @@ export default function Room(props: Props) {
> >
<TitleBar <TitleBar
leftIcons={[ leftIcons={[
`Peers: ${lightPushPeers} light push, ${filterPeers} filter, ${storePeers} store.`, `Peers: ${orZero(lightPushPeers?.length)} light push, ${orZero(
filterPeers?.length
)} filter, ${orZero(storePeers?.length)} store.`,
]} ]}
rightIcons={[ rightIcons={[
`Bootstrap (DNS Discovery): ${bootstrapPeers.size}, Peer exchange: ${peerExchangePeers.size}. `, `Bootstrap (DNS Discovery): ${bootstrapPeers.size}, Peer exchange: ${peerExchangePeers.size}. `,
@ -65,3 +63,7 @@ export default function Room(props: Props) {
</div> </div>
); );
} }
function orZero(value: undefined | number): number {
return value || 0;
}

View File

@ -39,10 +39,6 @@ export const useMessages = (params: UseMessagesParams): Message[] => {
}; };
export const useNodePeers = (node: undefined | LightNode) => { export const useNodePeers = (node: undefined | LightNode) => {
const [storePeers, setStorePeers] = useState(0);
const [filterPeers, setFilterPeers] = useState(0);
const [lightPushPeers, setLightPushPeers] = useState(0);
const [bootstrapPeers, setBootstrapPeers] = useState(new Set<string>()); const [bootstrapPeers, setBootstrapPeers] = useState(new Set<string>());
const [peerExchangePeers, setPeerExchangePeers] = useState(new Set<string>()); const [peerExchangePeers, setPeerExchangePeers] = useState(new Set<string>());
@ -60,15 +56,6 @@ export const useNodePeers = (node: undefined | LightNode) => {
} else { } else {
setBootstrapPeers((peers) => new Set(peers).add(peerId.toString())); setBootstrapPeers((peers) => new Set(peers).add(peerId.toString()));
} }
const storePeers = await node.store.peers();
setStorePeers(storePeers.length);
const filterPeers = await node.filter.peers();
setFilterPeers(filterPeers.length);
const lightPushPeers = await node.lightPush.peers();
setLightPushPeers(lightPushPeers.length);
}); });
}, [node]); }, [node]);
@ -81,9 +68,6 @@ export const useNodePeers = (node: undefined | LightNode) => {
}, [bootstrapPeers, peerExchangePeers]); }, [bootstrapPeers, peerExchangePeers]);
return { return {
storePeers,
filterPeers,
lightPushPeers,
bootstrapPeers, bootstrapPeers,
peerExchangePeers, peerExchangePeers,
}; };