summaryrefslogtreecommitdiff
path: root/Assistant/Threads/XMPPClient.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-03-16 15:37:23 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-03-16 16:00:37 -0400
commit0d967326df6332d701e39206d3389b4770735397 (patch)
treeee1935781f6398685cc04322bdf9c93c168f477e /Assistant/Threads/XMPPClient.hs
parente49fedcb95420362ee2c37540e095ba430f64372 (diff)
xmpp: Re-enable XA flag, since disabling it did not turn out to help with the problems Google Talk has with not always sending presence messages to clients.
Diffstat (limited to 'Assistant/Threads/XMPPClient.hs')
-rw-r--r--Assistant/Threads/XMPPClient.hs9
1 files changed, 5 insertions, 4 deletions
diff --git a/Assistant/Threads/XMPPClient.hs b/Assistant/Threads/XMPPClient.hs
index d31bfea6f..79bb33b0e 100644
--- a/Assistant/Threads/XMPPClient.hs
+++ b/Assistant/Threads/XMPPClient.hs
@@ -179,16 +179,17 @@ relayNetMessage :: JID -> Assistant (XMPP ())
relayNetMessage selfjid = do
msg <- waitNetMessage
debug ["sending:", show $ sanitizeNetMessage msg]
- handleImportant msg
- convert msg
+ a1 <- handleImportant msg
+ a2 <- convert msg
+ return (a1 >> a2)
where
handleImportant msg = case parseJID =<< isImportantNetMessage msg of
Just tojid
| tojid == baseJID tojid -> do
- putStanza presenceQuery
storeImportantNetMessage msg (formatJID tojid) $
\c -> (baseJID <$> parseJID c) == Just tojid
- _ -> noop
+ return $ putStanza presenceQuery
+ _ -> return noop
convert (Pushing c pushstage) = withOtherClient selfjid c $ \tojid -> do
if tojid == baseJID tojid
then do