XMPP / Ejabberd: почему в списке всегда указывается пункт «подписаться»? - PullRequest
0 голосов
/ 27 апреля 2020

Список пользователя "john@localhost" равен

<iq xmlns="jabber:client" xml:lang="en" to="john@localhost/2182919552157840751291" from="john@localhost" type="result" id="56c73b295y">
  <query xmlns="jabber:iq:roster">
    <item subscription="both" jid="johnna@localhost"/>
  </query>
</iq>

Но список пользователя "johnna@localhost" равен

<iq xmlns="jabber:client" xml:lang="en" to="johnna@localhost/15960489746475669037996" from="johnna@localhost" type="result" id="56c73b295y">
  <query xmlns="jabber:iq:roster">
    <item ask="subscribe" jid="john@localhost"/>
  </query>
</iq>

Как это возможно?
Почему пункт спросить = "подписаться", когда у Джона есть обе подписки?

Шаг для воспроизведения

eJabberd версия: ejabberd/ecs:20.01

john@localhost отправить строфа:

<presence type="subscribe" to="johnna@localhost" id="test1" />

johnna@localhost ответ с:

<presence type="subscribed" to="john@localhost" id="test1" />

Затем отправьте:

<presence type="subscribe" to="john@localhost" id="test2" />

Наконец, john@localhost ответ:

<presence type="subscribed" to="johnna@localhost" id="test2" />
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} * *} * *} * *} * *} * *} * *} * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Ему; гда *; г; * * * * *}}}}}}}}}
...