File

spec/scansion/lastactivity.scs @ 12713:52eead170bb8

util.paseto: Drop custom wrappers around key objects The PASETO spec recommends - no, *requires* - that implementations enforce type safety for keys, and e.g. do not pass them around as arbitrary byte strings. Typed wrapper objects are recommended. I originally followed this advice when starting the lib. However, key wrapping and type safety is now also a feature of util.crypto. All we're doing is duplicating it unnecessarily with this additional wrapper code.
author Matthew Wild <mwild1@gmail.com>
date Mon, 11 Jul 2022 14:30:39 +0100
parent 10732:f5d88ad24b30
line wrap: on
line source

# XEP-0012: Last Activity / mod_lastactivity

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

-----

Romeo connects

Romeo sends:
	<presence>
		<status>Hello</status>
	</presence>

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

Romeo sends:
	<presence type="unavailable">
		<status>Goodbye</status>
	</presence>

Romeo receives:
	<presence from="${Romeo's full JID}" type="unavailable">
		<status>Goodbye</status>
	</presence>

# mod_lastlog saves time + status message from the last unavailable presence

Romeo sends:
	<iq id='a' type='get'>
		<query xmlns='jabber:iq:last'/>
	</iq>

Romeo receives:
	<iq type='result' id='a'>
		<query xmlns='jabber:iq:last' seconds='0'>Goodbye</query>
	</iq>

Romeo disconnects

# recording ended on 2020-04-20T14:39:47Z