~singpolyma/cheogram

142fbd431eeac36830e6dc791edca1125f1a0529 — Stephen Paul Weber 23 days ago dd09405 master
Never send presence response to ourselves
1 files changed, 4 insertions(+), 2 deletions(-)

M Main.hs
M Main.hs => Main.hs +4 -2
@@ 738,7 738,8 @@ componentStanza (ComponentContext { db, smsJid = (Just smsJid), toRoomPresences,
	})) | typ `elem` [PresenceAvailable, PresenceUnavailable] = do
		existingRoom <- (parseJID =<<) <$> DB.get db (DB.byNode to ["joined"])
		hasLocked "handleJoinPartRoom" $ handleJoinPartRoom db toRoomPresences toRejoinManager toJoinPartDebouncer componentJid existingRoom from to smsJid payloads (typ == PresenceAvailable)
componentStanza (ComponentContext { db, componentJid, sendIQ, maybeAvatar }) (ReceivedPresence (Presence { presenceType = PresenceSubscribe, presenceFrom = Just from, presenceTo = Just to@JID { jidNode = Nothing } })) = do
componentStanza (ComponentContext { db, componentJid, sendIQ, maybeAvatar }) (ReceivedPresence (Presence { presenceType = PresenceSubscribe, presenceFrom = Just from, presenceTo = Just to@JID { jidNode = Nothing } }))
	| jidDomain from /= jidDomain componentJid = do
	avail <- cheogramAvailable db componentJid sendIQ to from
	return $ [
			mkStanzaRec $ (emptyPresence PresenceSubscribed) {


@@ 780,7 781,8 @@ componentStanza (ComponentContext { db, smsJid = (Just smsJid), componentJid }) 
				presenceFrom = Just to
			}
		] ++ stanzas
componentStanza (ComponentContext { db, componentJid, sendIQ, maybeAvatar }) (ReceivedPresence (Presence { presenceType = PresenceProbe, presenceFrom = Just from, presenceTo = Just to@JID { jidNode = Nothing } })) = do
componentStanza (ComponentContext { db, componentJid, sendIQ, maybeAvatar }) (ReceivedPresence (Presence { presenceType = PresenceProbe, presenceFrom = Just from, presenceTo = Just to@JID { jidNode = Nothing } }))
	| jidDomain from /= jidDomain componentJid = do
	avail <- cheogramAvailable db componentJid sendIQ to from
	return $
		[mkStanzaRec avail] ++