&gt; Is there any way to handle message histories that survive the XMPP server (ejabberd) being restarted?<p>Message Archive Management (XEP-0313) is supposed to do that.<p>&gt; And message carbons work, but since ejabberd only seems to support a single auth token meaning that if users connect with multiple devices they can&#x27;t actually log out of only a single one without pulling the plug on all connected devices.<p>Not sure to understand: if you disconnect a device, all the other devices with the same jid are disconnected? If so, it&#x27;s definitely not normal, and not a spec issue. I&#x27;m also surprised to see ejabberd having this behavior, you should talk to the dev team.