summaryrefslogtreecommitdiff
path: root/Presence/Presence.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Presence/Presence.hs')
-rw-r--r--Presence/Presence.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/Presence/Presence.hs b/Presence/Presence.hs
index a55d49ab..678a5c99 100644
--- a/Presence/Presence.hs
+++ b/Presence/Presence.hs
@@ -99,7 +99,8 @@ data ToxManager k = ToxManager
99 99
100data PresenceState = forall status. PresenceState 100data PresenceState = forall status. PresenceState
101 { clients :: TVar (Map ConnectionKey ClientState) 101 { clients :: TVar (Map ConnectionKey ClientState)
102 , clientsByUser :: TVar (Map Text LocalPresence) 102 , clientsByUser :: TVar (Map Text LocalPresence) -- TODO: For tox-enabled clients, the lookup key should be the client's toxid
103 -- rather than the unix user.
103 , remotesByPeer :: TVar (Map ConnectionKey 104 , remotesByPeer :: TVar (Map ConnectionKey
104 (Map UserName RemotePresence)) 105 (Map UserName RemotePresence))
105 , server :: TMVar (XMPPServer, Connection.Manager status Text) 106 , server :: TMVar (XMPPServer, Connection.Manager status Text)
@@ -601,6 +602,7 @@ deliverMessage state fail msg =
601 let to' = unsplitJID (n,h,r) 602 let to' = unsplitJID (n,h,r)
602 cmap <- atomically . readTVar $ clientsByUser state 603 cmap <- atomically . readTVar $ clientsByUser state
603 chans <- fmap (fromMaybe []) $ do 604 chans <- fmap (fromMaybe []) $ do
605 -- TODO: Tox-enabled clients need to be found by tox key.
604 forM (n >>= flip Map.lookup cmap) $ \presence_container -> do 606 forM (n >>= flip Map.lookup cmap) $ \presence_container -> do
605 let ks = Map.keys (networkClients presence_container) 607 let ks = Map.keys (networkClients presence_container)
606 chans = do 608 chans = do