new alert while scanning

Like the old one, but does not mention which remotes are scanned.
I think this is less confusing, as it does not imply the remotes
were somehow accessed (which they are not; inaccessible remotes
can be scanned.)
This commit is contained in:
Joey Hess 2013-03-18 23:05:23 -04:00
parent aadb9069b3
commit a30768cf7f
2 changed files with 17 additions and 7 deletions

View file

@ -240,6 +240,13 @@ commitAlert = activityAlert Nothing
showRemotes :: [Remote] -> TenseChunk
showRemotes = UnTensed . T.intercalate ", " . map (T.pack . Remote.name)
scanAlert :: Alert
scanAlert = baseActivityAlert
{ alertHeader = Just $
tenseWords [Tensed "Scanning" "Scanned", "for file transfers"]
, alertPriority = Low
}
syncAlert :: [Remote] -> Alert
syncAlert rs = baseActivityAlert
{ alertName = Just SyncAlert

View file

@ -14,6 +14,7 @@ import Assistant.TransferQueue
import Assistant.DaemonStatus
import Assistant.Drop
import Assistant.Sync
import Assistant.Alert
import Logs.Transfer
import Logs.Location
import Logs.Web (webUUID)
@ -38,13 +39,15 @@ transferScannerThread = namedThread "TransferScanner" $ do
go scanned = do
liftIO $ threadDelaySeconds (Seconds 2)
(rs, infos) <- unzip <$> getScanRemote
if any fullScan infos || any (`S.notMember` scanned) rs
then do
expensiveScan rs
go $ scanned `S.union` S.fromList rs
else do
mapM_ failedTransferScan rs
go scanned
void $ alertWhile scanAlert $ do
if any fullScan infos || any (`S.notMember` scanned) rs
then do
expensiveScan rs
go $ scanned `S.union` S.fromList rs
else do
mapM_ failedTransferScan rs
go scanned
return True
{- All git remotes are synced, and all available remotes
- are scanned in full on startup, for multiple reasons, including:
-