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.
This commit is contained in:
parent
55f20ae099
commit
db2fe522ba
4 changed files with 15 additions and 7 deletions
|
@ -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
|
||||
|
|
|
@ -52,8 +52,9 @@ instance GitAnnexTaggable Message where
|
|||
extractGitAnnexTag = headMaybe . filter isGitAnnexTag . messagePayloads
|
||||
|
||||
instance GitAnnexTaggable Presence where
|
||||
-- always mark extended away and set presence priority to negative
|
||||
insertGitAnnexTag p elt = p
|
||||
{ presencePayloads = negativePriority : elt : presencePayloads p }
|
||||
{ presencePayloads = extendedAway : negativePriority : elt : presencePayloads p }
|
||||
extractGitAnnexTag = headMaybe . filter isGitAnnexTag . presencePayloads
|
||||
|
||||
data GitAnnexTagInfo = GitAnnexTagInfo
|
||||
|
@ -204,6 +205,10 @@ silentMessage = (emptyMessage MessageChat)
|
|||
, elementNodes = []
|
||||
}
|
||||
|
||||
{- Add to a presence to mark its client as extended away. -}
|
||||
extendedAway :: Element
|
||||
extendedAway = Element "show" [] [NodeContent $ ContentText "xa"]
|
||||
|
||||
{- Add to a presence to give it a negative priority. -}
|
||||
negativePriority :: Element
|
||||
negativePriority = Element "priority" [] [NodeContent $ ContentText "-1"]
|
||||
|
|
3
debian/changelog
vendored
3
debian/changelog
vendored
|
@ -11,6 +11,9 @@ git-annex (4.20130315) UNRELEASED; urgency=low
|
|||
* xmpp: --debug now enables a sanitized dump of the XMPP protocol
|
||||
* xmpp: Try harder to detect presence of clients when there's a git push
|
||||
to send.
|
||||
* 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.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Fri, 15 Mar 2013 00:10:07 -0400
|
||||
|
||||
|
|
|
@ -39,8 +39,7 @@ using presence messages, and chat messages (with empty body tags,
|
|||
so clients don't display them).
|
||||
|
||||
git-annex sets a negative presence priority, to avoid any regular messages
|
||||
getting eaten by its clients. It also sets itself extended away. (XA
|
||||
no longer used; see 90e47088908c2374d5d9306f4dacdf22de599cf5.)
|
||||
getting eaten by its clients. It also sets itself extended away.
|
||||
Note that this means that chat messages always have to be directed at
|
||||
specific git-annex clients.
|
||||
|
||||
|
|
Loading…
Reference in a new issue