From 6b3253bfabeb2e170c8dada9f5c22718d23e018a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 19 Aug 2016 16:53:55 -0400 Subject: avoid displaying messages while progress bar is displayed --- keysafe.hs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'keysafe.hs') diff --git a/keysafe.hs b/keysafe.hs index 7ec211f..9ebbd75 100644 --- a/keysafe.hs +++ b/keysafe.hs @@ -197,23 +197,27 @@ restore storagelocations ui possibletunables secretkeydest = do <> castCost (getDecryptionCost candidatekeys) case combineShares tunables [shares] of Left e -> showError ui e - Right esk -> withProgress ui "Decrypting" - (decryptdesc cost) $ \setpercent -> - go tunables [shares] sis setpercent $ - tryDecrypt candidatekeys esk + Right esk -> do + final <- withProgress ui "Decrypting" + (decryptdesc cost) $ \setpercent -> + go tunables [shares] sis setpercent $ + tryDecrypt candidatekeys esk + final where go tunables firstshares sis setpercent r = case r of - DecryptFailed -> showError ui "Decryption failed! Unknown why it would fail at this point." + DecryptFailed -> return $ + showError ui "Decryption failed! Unknown why it would fail at this point." DecryptSuccess secretkey -> do _ <- setpercent 100 writeSecretKey secretkeydest secretkey - showInfo ui "Success" "Your secret key successfully restored!" + return $ + showInfo ui "Success" "Your secret key successfully restored!" DecryptIncomplete kek -> do -- Download shares for another chunk. (nextshares, sis') <- retrieveShares storagelocations sis (return ()) let shares = firstshares ++ [nextshares] case combineShares tunables shares of - Left e -> showError ui e + Left e -> return $ showError ui e Right esk -> go tunables shares sis' setpercent $ decrypt kek esk -- cgit v1.2.3