Software /
code /
prosody
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 |