tag xmpp pushes with jid

This fixes the issue mentioned in the last commit.

Turns out just collecting UUID of clients behind a XMPP remote is
insufficient (although I should probably still do it for other reasons),
because a single remote repo might be connected via both XMPP and local
pairing. So a way is needed to know when a push was received from any
client using a given XMPP remote over XMPP, as opposed to via ssh.
This commit is contained in:
Joey Hess 2013-03-06 16:29:19 -04:00
parent c23ea9e311
commit cbb6e1fae4
7 changed files with 76 additions and 49 deletions

View file

@ -15,6 +15,7 @@ import Assistant.Pairing
import Utility.NotificationBroadcaster
import Logs.Transfer
import Assistant.Types.ThreadName
import Assistant.Types.NetMessager
import Control.Concurrent.STM
import Control.Concurrent.Async
@ -57,6 +58,8 @@ data DaemonStatus = DaemonStatus
, alertNotifier :: NotificationBroadcaster
-- Broadcasts notifications when the syncRemotes change
, syncRemotesNotifier :: NotificationBroadcaster
-- When the XMPP client is in use, this will contain its JI.
, xmppClientID :: Maybe ClientID
}
type TransferMap = M.Map Transfer TransferInfo
@ -83,3 +86,4 @@ newDaemonStatus = DaemonStatus
<*> newNotificationBroadcaster
<*> newNotificationBroadcaster
<*> newNotificationBroadcaster
<*> pure Nothing