File

spec/scansion/issue978.scs @ 12344:4f2e77185db4

prosody.cfg.lua.dist: Remove network_backend option The only sensible option for most people these days is "epoll". The option is still supported, but it should only be needed by packagers for specific platforms (e.g. BSD may choose libevent for kqueue) or other special cases.
author Matthew Wild <mwild1@gmail.com>
date Wed, 02 Mar 2022 14:22:02 +0000
parent 9291:329a670ae975
line wrap: on
line source

# Issue 978: MUC does not carry error into occupant leave status (single client)
[Client] Romeo
	jid: user@localhost
	password: password

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

-----

Romeo connects

Romeo sends:
	<presence to="room@conference.localhost/Romeo">
		<x xmlns="http://jabber.org/protocol/muc"/>
	</presence>

Romeo receives:
	<presence from='room@conference.localhost/Romeo'>
		<x xmlns='http://jabber.org/protocol/muc#user'>
			<status code='201'/>
			<item jid="${Romeo's full JID}" affiliation='owner' role='moderator'/>
			<status code='110'/>
		</x>
	</presence>

Romeo receives:
	<message type='groupchat' from='room@conference.localhost'><subject/></message>

# Submit config form
Romeo sends:
	<iq id='config1' to='room@conference.localhost' type='set'>
		<query xmlns='http://jabber.org/protocol/muc#owner'>
			<x xmlns='jabber:x:data' type='submit'>
				<field var='FORM_TYPE'>
					<value>http://jabber.org/protocol/muc#roomconfig</value>
				</field>
				<field var='muc#roomconfig_whois'>
					<value>anyone</value>
				</field>
			</x>
		</query>
	</iq>

Romeo receives:
	<iq id="config1" from="room@conference.localhost" type="result">
	</iq>

# Juliet connects, and joins the room
Juliet connects

Juliet sends:
	<presence to="room@conference.localhost/Juliet">
		<x xmlns="http://jabber.org/protocol/muc"/>
	</presence>

Juliet receives:
	<presence from="room@conference.localhost/Romeo" />

Juliet receives:
	<presence from="room@conference.localhost/Juliet" />

Juliet receives:
	<message type='groupchat' from='room@conference.localhost'><subject/></message>

Romeo receives:
	<presence from="room@conference.localhost/Juliet" />

Juliet sends:
	<presence type='error' to='room@conference.localhost'>
		<error type='cancel'>
			<service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
			<text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Test error</text>
		</error>
	</presence>

Romeo receives:
	<presence type='unavailable' from='room@conference.localhost/Juliet'>
		<status>Kicked: service unavailable: Test error</status>
		<x xmlns='http://jabber.org/protocol/muc#user'>
			<status code='333'/>
			<item jid="${Juliet's full JID}" affiliation='none' role='none'/>
		</x>
	</presence>