lift alertWhile
This commit is contained in:
parent
e18b733c81
commit
1852eddce6
9 changed files with 39 additions and 44 deletions
|
@ -90,6 +90,8 @@ startPairing stage oncancel alert muuid displaysecret secret = do
|
|||
urlrender <- lift getUrlRender
|
||||
reldir <- fromJust . relDir <$> lift getYesod
|
||||
|
||||
sendrequests <- lift $ runAssistantY $ asIO2 $ mksendrequests urlrender
|
||||
|
||||
{- Generating a ssh key pair can take a while, so do it in the
|
||||
- background. -}
|
||||
void $ liftIO $ forkIO $ do
|
||||
|
@ -102,7 +104,7 @@ startPairing stage oncancel alert muuid displaysecret secret = do
|
|||
<*> (maybe genUUID return muuid)
|
||||
let sender = multicastPairMsg Nothing secret pairdata
|
||||
let pip = PairingInProgress secret Nothing keypair pairdata stage
|
||||
startSending dstatus pip stage $ sendrequests sender dstatus urlrender
|
||||
startSending dstatus pip stage $ sendrequests sender
|
||||
|
||||
lift $ redirect $ InprogressPairR $ toSecretReminder displaysecret
|
||||
where
|
||||
|
@ -114,8 +116,8 @@ startPairing stage oncancel alert muuid displaysecret secret = do
|
|||
- have been on a page specific to the in-process pairing
|
||||
- that just stopped, so can't go back there.
|
||||
-}
|
||||
sendrequests sender dstatus urlrender _stage = do
|
||||
tid <- myThreadId
|
||||
mksendrequests urlrender sender _stage = do
|
||||
tid <- liftIO myThreadId
|
||||
let selfdestruct = AlertButton
|
||||
{ buttonLabel = "Cancel"
|
||||
, buttonUrl = urlrender HomeR
|
||||
|
@ -123,7 +125,7 @@ startPairing stage oncancel alert muuid displaysecret secret = do
|
|||
oncancel
|
||||
killThread tid
|
||||
}
|
||||
alertDuring dstatus (alert selfdestruct) $ do
|
||||
alertDuring (alert selfdestruct) $ liftIO $ do
|
||||
_ <- E.try (sender stage) :: IO (Either E.SomeException ())
|
||||
return ()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue