summaryrefslogtreecommitdiff
path: root/src/Erebos/Invite.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-08-02 15:42:34 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2026-08-05 21:55:55 +0200
commitcb3e2abade4a0aa1ad13f4aa1632b1e05af4d29a (patch)
tree5ee32f2e21b5fa504bdb1d30a717dffa4f17ac34 /src/Erebos/Invite.hs
parent0efd90e5f01996ceb01f5a2889f9e2986322c371 (diff)
Use cached values for shared state lookups
Diffstat (limited to 'src/Erebos/Invite.hs')
-rw-r--r--src/Erebos/Invite.hs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/Erebos/Invite.hs b/src/Erebos/Invite.hs
index c6e037d..5b35506 100644
--- a/src/Erebos/Invite.hs
+++ b/src/Erebos/Invite.hs
@@ -190,8 +190,7 @@ acceptInvite
-> m ()
acceptInvite from token = do
prev <- find ((Just token ==) . acceptedInviteToken)
- . fromSetBy (comparing acceptedInviteToken) . lookupSharedValue . lsShared . fromStored
- <$> getLocalHead
+ . fromSetBy (comparing acceptedInviteToken) <$> lookupSharedValueM
accepted <- mergeSorted @AcceptedInvite . (: []) <$> mstore AcceptedInviteData
{ aidPrev = maybe [] acceptedInviteData prev
, aidToken = Just token
@@ -261,7 +260,7 @@ instance Service InviteService where
serviceHandler = fromStored >>> \case
AcceptInvite token -> do
- invites <- fromSetBy (comparing inviteToken) . lookupSharedValue . lsShared . fromStored <$> getLocalHead
+ invites <- fromSetBy (comparing inviteToken) <$> lookupSharedValueM
case find ((Just token ==) . inviteToken) invites of
Just invite
| Just name <- inviteContact invite
@@ -296,7 +295,7 @@ instance Service InviteService where
asks (inviteHookReplyInvalid . svcAttributes) >>= ($ token)
svcModify $ filter (/= token)
- accepted <- fromSetBy (comparing acceptedInviteToken) . lookupSharedValue . lsShared . fromStored <$> getLocalHead
+ accepted <- fromSetBy (comparing acceptedInviteToken) <$> lookupSharedValueM
case find ((Just token ==) . acceptedInviteToken) accepted of
Just invite -> do
aidata <- mstore AcceptedInviteData
@@ -316,7 +315,7 @@ instance Service InviteService where
then do
svcSet $ filter (/= token) waitingTokens
- accepted <- fromSetBy (comparing acceptedInviteToken) . lookupSharedValue . lsShared . fromStored <$> getLocalHead
+ accepted <- fromSetBy (comparing acceptedInviteToken) <$> lookupSharedValueM
case find ((Just token ==) . acceptedInviteToken) accepted of
Just invite -> do
aidata <- mstore AcceptedInviteData
@@ -343,7 +342,7 @@ instance Service InviteService where
svcPrint $ "Received unknown invite packet"
serviceNewPeer = do
- invites <- fromSetBy (comparing acceptedInviteToken) . lookupSharedValue . lsShared . fromStored <$> getLocalHead
+ invites <- fromSetBy (comparing acceptedInviteToken) <$> lookupSharedValueM
peerDigests <- asks $ identityOwnerDigests . svcPeerIdentity
forM_ invites $ \case
AcceptedInvite