File

spec/scansion/issue1121.scs @ 13651:b9d369f77121

prosodyctl: Further deprecate start/stop/restart commands when installed Despite the warning we introduced, many people continue to try using prosodyctl to manage Prosody in the presence of systemctl (e.g. #1688). Also, despite the warning, prosodyctl proceeded with the operation. This means the commands could be invoked by accident, and cause a situation that is hard to recover from (needing to manually track down stray processes). This commit disables all the problematic commands by default, but this can still be overridden using --force or via a config option. We only perform this check when we believe Prosody has been "installed" for system-wide use (i.e. running it from a source directory is still supported).
author Matthew Wild <mwild1@gmail.com>
date Thu, 06 Feb 2025 14:51:31 +0000
parent 12100:0b14b541fd27
line wrap: on
line source

# When removing roster contact, Prosody should send directed "unavailable" presence but sends global unavailable presence

[Client] Romeo
	jid: romeo@localhost
	password: password

[Client] Juliet
	jid: juliet@localhost
	password: password

-----

Romeo connects

Romeo sends
	<presence/>

Romeo receives
	<presence from="${Romeo's full JID}"/>

Juliet connects

Juliet sends
	<presence/>

Juliet receives
	<presence from="${Juliet's full JID}"/>

Romeo sends
	<presence to="juliet@localhost" type="subscribe"/>

Romeo receives
	<presence from="juliet@localhost" to="romeo@localhost"/>

Juliet receives
	<presence from="romeo@localhost" to="juliet@localhost" type="subscribe"/>

Juliet sends
	<presence to="romeo@localhost" type="subscribed"/>

Romeo receives
	<presence from="${Juliet's full JID}" to="romeo@localhost"/>

Juliet sends
	<presence to="romeo@localhost" type="subscribe"/>

Juliet receives
	<presence from="romeo@localhost" to="juliet@localhost"/>

Romeo receives
	<presence from="juliet@localhost" to="romeo@localhost" type="subscribe"/>

Romeo sends
	<presence to="juliet@localhost" type="subscribed"/>

Juliet receives
	<presence from="${Romeo's full JID}" to="juliet@localhost"/>

Romeo receives
	<presence from="${Juliet's full JID}" to="romeo@localhost"/>

Juliet sends
	<iq type="set" id="iq1">
		<query xmlns="jabber:iq:roster">
			<item jid="romeo@localhost" subscription="remove"/>
		</query>
	</iq>

Juliet receives
	<iq type="result" id="iq1"/>

Romeo receives
	<presence from="${Juliet's full JID}" to="romeo@localhost" type="unavailable"/>

Romeo disconnects