M src/xmpp/biboumi_component.cpp => src/xmpp/biboumi_component.cpp +1 -0
@@ 181,6 181,7 @@ void BiboumiComponent::handle_presence(const Stanza& stanza)
else if (type == "unsubscribe")
{
this->send_presence_to_contact(to_str, from.bare(), "unavailable", id);
+ this->send_presence_to_contact(to_str, from.bare(), "unsubscribed");
this->send_presence_to_contact(to_str, from.bare(), "unsubscribe");
#ifdef USE_DATABASE
const bool res = Database::has_roster_item(to_str, from.bare());
M tests/end_to_end/__main__.py => tests/end_to_end/__main__.py +2 -0
@@ 2692,8 2692,10 @@ if __name__ == '__main__':
# Unsubscribe
partial(send_stanza, "<presence from='{jid_one}' to='{biboumi_host}' type='unsubscribe' id='unsubid1' />"),
partial(expect_stanza, "/presence[@type='unavailable']"),
+ partial(expect_stanza, "/presence[@type='unsubscribed']"),
partial(expect_stanza, "/presence[@type='unsubscribe']"),
partial(send_stanza, "<presence from='{jid_one}' to='{biboumi_host}' type='unavailable' />"),
+ partial(send_stanza, "<presence from='{jid_one}' to='{biboumi_host}' type='unsubscribed' />"),
])
)