From 0c6cb64b722d890df09a7641db3f018e3914b26d Mon Sep 17 00:00:00 2001 From: Franck Royer Date: Thu, 17 Jun 2021 16:22:49 +1000 Subject: [PATCH] Ensure observers are deleted --- examples/eth-dm/src/App.tsx | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/examples/eth-dm/src/App.tsx b/examples/eth-dm/src/App.tsx index 8e67fb845b..9b8ad430c5 100644 --- a/examples/eth-dm/src/App.tsx +++ b/examples/eth-dm/src/App.tsx @@ -68,7 +68,9 @@ function App() { setPublicKeys ); - const observerDirectMessage = handleDirectMessage.bind({}, setMessages); + const observerDirectMessage = ethDmKeyPair + ? handleDirectMessage.bind({}, setMessages, ethDmKeyPair.privateKey) + : undefined; useEffect(() => { if (!waku) return; @@ -76,27 +78,24 @@ function App() { return function cleanUp() { if (!waku) return; - waku.relay.deleteObserver(observerPublicKeyMessage, [PublicKeyContentTopic]); - } + waku.relay.deleteObserver(observerPublicKeyMessage, [ + PublicKeyContentTopic, + ]); + }; }); useEffect(() => { if (!waku) return; - if (!ethDmKeyPair) return; - waku.relay.addObserver( - observerDirectMessage.bind({}, ethDmKeyPair.privateKey), - [DirectMessageContentTopic] - ); + if (!observerDirectMessage) return; + waku.relay.addObserver(observerDirectMessage, [DirectMessageContentTopic]); return function cleanUp() { if (!waku) return; - if (!ethDmKeyPair) return; - waku.relay.deleteObserver( - observerDirectMessage.bind({}, ethDmKeyPair.privateKey), - [DirectMessageContentTopic] - ); - - } + if (!observerDirectMessage) return; + waku.relay.deleteObserver(observerDirectMessage, [ + DirectMessageContentTopic, + ]); + }; }); const broadcastPublicKey = () => {