Comparison

spec/scansion/issue1121.scs @ 12100:0b14b541fd27

mod_roster: pass correct username to roster-item-removed The other invocations use it that way, and the only listener in trunk which uses it (in mod_presence) expects it that way. Passing the username of the JID from the removed entry causes incorrect unavailable presence stanzas to be sent, allegedly kicking people off MUCs. Fixes #1121.
author Jonas Schäfer <jonas@wielicki.name>
date Wed, 22 Dec 2021 13:06:32 +0100
comparison
equal deleted inserted replaced
12099:b344edad61d3 12100:0b14b541fd27
1 # When removing roster contact, Prosody should send directed "unavailable" presence but sends global unavailable presence
2
3 [Client] Romeo
4 jid: romeo@localhost
5 password: password
6
7 [Client] Juliet
8 jid: juliet@localhost
9 password: password
10
11 -----
12
13 Romeo connects
14
15 Romeo sends
16 <presence/>
17
18 Romeo receives
19 <presence from="${Romeo's full JID}"/>
20
21 Juliet connects
22
23 Juliet sends
24 <presence/>
25
26 Juliet receives
27 <presence from="${Juliet's full JID}"/>
28
29 Romeo sends
30 <presence to="juliet@localhost" type="subscribe"/>
31
32 Romeo receives
33 <presence from="juliet@localhost" to="romeo@localhost"/>
34
35 Juliet receives
36 <presence from="romeo@localhost" to="juliet@localhost" type="subscribe"/>
37
38 Juliet sends
39 <presence to="romeo@localhost" type="subscribed"/>
40
41 Romeo receives
42 <presence from="${Juliet's full JID}" to="romeo@localhost"/>
43
44 Juliet sends
45 <presence to="romeo@localhost" type="subscribe"/>
46
47 Juliet receives
48 <presence from="romeo@localhost" to="juliet@localhost"/>
49
50 Romeo receives
51 <presence from="juliet@localhost" to="romeo@localhost" type="subscribe"/>
52
53 Romeo sends
54 <presence to="juliet@localhost" type="subscribed"/>
55
56 Juliet receives
57 <presence from="${Romeo's full JID}" to="juliet@localhost"/>
58
59 Romeo receives
60 <presence from="${Juliet's full JID}" to="romeo@localhost"/>
61
62 Juliet sends
63 <iq type="set" id="iq1">
64 <query xmlns="jabber:iq:roster">
65 <item jid="romeo@localhost" subscription="remove"/>
66 </query>
67 </iq>
68
69 Juliet receives
70 <iq type="result" id="iq1"/>
71
72 Romeo receives
73 <presence from="${Juliet's full JID}" to="romeo@localhost" type="unavailable"/>
74
75 Romeo disconnects