diff options
Diffstat (limited to 'Presence/Presence.hs')
-rw-r--r-- | Presence/Presence.hs | 4 |
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 | ||
100 | data PresenceState = forall status. PresenceState | 100 | data 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 |