diff --git a/src/transport.cpp b/src/transport.cpp index 95ca0319ff70b9be2b39e0b51b3806caeb4badf9..f4e0480b7bfee9436f632fd46d7c69ea123822b0 100644 --- a/src/transport.cpp +++ b/src/transport.cpp @@ -281,9 +281,16 @@ void Component::handlePresence(Swift::Presence::ref presence) { return; } - if (presence->getType() == Presence::Error) { - return; - } + switch (presence->getType()) { + case Presence::Error: + case Presence::Subscribe: + case Presence::Subscribed: + case Presence::Unsubscribe: + case Presence::Unsubscribed: + return; + default: + break; + }; // check if we have this client's capabilities and ask for them if (presence->getType() != Swift::Presence::Unavailable) {