diff --git a/source/Network/Xmpp/IM/Message.hs b/source/Network/Xmpp/IM/Message.hs index 070a479..7d5a4b2 100644 --- a/source/Network/Xmpp/IM/Message.hs +++ b/source/Network/Xmpp/IM/Message.hs @@ -83,8 +83,9 @@ answerIM bd msg = case getIM msg of -------------------------- xpIM :: PU [Element] InstantMessage xpIM = xpWrap (\(t, s, b) -> InstantMessage t s b) - (\(InstantMessage t s b) -> (t, s, b)) $ - xp3Tuple + (\(InstantMessage t s b) -> (t, s, b)) + . xpClean + $ xp3Tuple xpMessageThread xpMessageSubject xpMessageBody diff --git a/source/Network/Xmpp/IM/Presence.hs b/source/Network/Xmpp/IM/Presence.hs index c8fdb9d..dbfc4f5 100644 --- a/source/Network/Xmpp/IM/Presence.hs +++ b/source/Network/Xmpp/IM/Presence.hs @@ -54,9 +54,10 @@ withIMPresence imPres pres = pres{presencePayload = presencePayload pres -- xpIMPresence :: PU [Element] IMPresence -xpIMPresence = xpUnliftElems $ +xpIMPresence = xpUnliftElems . xpWrap (\(s, st, p) -> IMP s st p) - (\(IMP s st p) -> (s, st, p)) $ + (\(IMP s st p) -> (s, st, p)) . + xpClean $ xp3Tuple (xpOption $ xpElemNodes "{jabber:client}show" (xpContent xpPrim))