summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-07-28 09:13:30 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2025-07-28 09:13:30 +0200
commit7e531c0a233eb3e247f2448d51b9109b8ac5fb29 (patch)
tree8eccf50e7a1db7a2590778178fadebd8bb67188f /src
parent75479fb3c43eb6820925e0a4916b59807d78ca64 (diff)
Use generic discovery search instead of expilict tunnel request
Diffstat (limited to 'src')
-rw-r--r--src/Main.hs22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/Main.hs b/src/Main.hs
index 949245f..4cae551 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -162,16 +162,18 @@ setup = do
void $ forkIO $ forever $ do
msg <- receiveMessage conn
receivedFromCustomAddress server conn msg
-
- peer <- serverPeerCustom server conn
- peerAddInput <- JS.getElementById "peer_add_input"
- peerAddForm <- JS.getElementById "peer_add_form"
- JS.addEventListener peerAddForm "submit" $ \_ -> do
- value <- T.pack . fromJSString <$> js_get_value peerAddInput
- js_set_value peerAddInput $ toJSString ""
- case readRefDigest $ encodeUtf8 value of
- Just dgst -> discoverySetupTunnel peer dgst
- Nothing -> JS.consoleLog "invalid identity reference"
+ void $ serverPeerCustom server conn
+
+ peerAddInput <- JS.getElementById "peer_add_input"
+ peerAddForm <- JS.getElementById "peer_add_form"
+ JS.addEventListener peerAddForm "submit" $ \_ -> do
+ value <- T.pack . fromJSString <$> js_get_value peerAddInput
+ js_set_value peerAddInput $ toJSString ""
+ case readRefDigest $ encodeUtf8 value of
+ Just dgst -> runExceptT (discoverySearch server dgst) >>= \case
+ Right _ -> return ()
+ Left err -> JS.consoleLog $ "Failed to search for " <> show dgst <> ": " <> showErebosError err
+ Nothing -> JS.consoleLog "invalid identity reference"
JS.addEventListener sendForm "submit" $ \_ -> do
readMVar currentConversationVar >>= \case