~singpolyma/biboumi

368bb82818d4b68e4984698ea4454091ecb049a2 ā€” louizā€™ 5 years ago 7e5cd2f
Send an additional unsubscribed presence when receiving an unsubscribe one
2 files changed, 3 insertions(+), 0 deletions(-)

M src/xmpp/biboumi_component.cpp
M tests/end_to_end/__main__.py
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' />"),
                 ])
    )