Describe the bug
I am implementing an XMPP server to communicate over WebSocket, however after converse.js finishes autentication, it never loads. All it does is send ping messages.
To Reproduce
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdn.conversejs.org/12.0.0/dist/converse.min.css">
<script src="https://cdn.conversejs.org/12.0.0/dist/converse.min.js" charset="utf-8"></script>
</head>
<body>
<script>
converse.initialize({
authentication: 'login',
locked_domain: "localhost",
discover_connection_methods: false,
view_mode: 'fullscreen',
show_background: true,
i18n: "en",
auto_login: true,
jid: "test@localhost",
websocket_url: "ws://localhost/xmpp/",
password: "123",
loglevel: 'debug',
});
</script>
</body>
</html>
Have a server respond in accordance to the following log messages:
converse-headless.esm.js:2 2026-03-01T10:45:04.640Z DEBUG: Status changed to: CONNECTING
converse-headless.esm.js:2 Websocket open
converse-headless.esm.js:2 2026-03-01T10:45:04.946Z DEBUG: <open xmlns="urn:ietf:params:xml:ns:xmpp-framing" to="localhost" version="1.0"/>
converse-headless.esm.js:2 2026-03-01T10:45:04.950Z DEBUG: <open xmlns="urn:ietf:params:xml:ns:xmpp-framing" version="1.0" xml:lang="en" id="8a166b300d1e4f049fe43cdf6fad25a5" from="localhost"/>
converse-headless.esm.js:2 _connect_cb was called
converse-headless.esm.js:2 2026-03-01T10:45:04.950Z DEBUG: <features xmlns="http://etherx.jabber.org/streams"><auth xmlns="http://jabber.org/features/iq-auth"/><ver xmlns="urn:xmpp:features:rosterver"/><sub xmlns="urn:xmpp:features:pre-approval"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/></features>
converse-headless.esm.js:2 2026-03-01T10:45:04.950Z DEBUG: Status changed to: AUTHENTICATING
converse-headless.esm.js:2 2026-03-01T10:45:04.951Z DEBUG: <iq type="get" to="localhost" id="_auth_1" xmlns="jabber:client"><query xmlns="jabber:iq:auth"><username>test</username></query></iq>
converse-headless.esm.js:2 2026-03-01T10:45:04.953Z DEBUG: <iq xmlns="jabber:client" type="result" from="localhost" id="_auth_1"><query xmlns="jabber:iq:auth"><username/><resource/><password/></query></iq>
converse-headless.esm.js:2 2026-03-01T10:45:04.953Z DEBUG: <iq type="set" id="_auth_2" xmlns="jabber:client"><query xmlns="jabber:iq:auth"><username>test</username><password>123</password><resource>converse.js-22395867</resource></query></iq>
converse-headless.esm.js:2 2026-03-01T10:45:04.956Z DEBUG: <iq xmlns="jabber:client" type="result" from="localhost" to="test@localhost/converse.js-22395867" id="_auth_2"/>
converse-headless.esm.js:2 2026-03-01T10:45:04.956Z DEBUG: Status changed to: CONNECTED
converse-headless.esm.js:2 2026-03-01T10:45:04.956Z DEBUG: Connected
converse-headless.esm.js:2 2026-03-01T10:45:12.762Z DEBUG: <iq type="get" to="localhost" id="e42c32e3-c2f7-4eca-8876-0cc16702edae:ping" xmlns="jabber:client"><ping xmlns="urn:xmpp:ping"/></iq>
converse-headless.esm.js:2 2026-03-01T10:45:12.766Z DEBUG: <iq xmlns="jabber:client" type="result" from="localhost" to="test@localhost/converse.js-22395867" id="e42c32e3-c2f7-4eca-8876-0cc16702edae:ping"/>
Expected behavior
After being authenticated and fully connected, the client should send the initial presence stanza and request the roster.
Screenshots

Environment (please complete the following information):
- Tested on Chrome and Firefox, desktop
- Converse.js 12.0.0
Describe the bug
I am implementing an XMPP server to communicate over WebSocket, however after converse.js finishes autentication, it never loads. All it does is send ping messages.
To Reproduce
Have a server respond in accordance to the following log messages:
Expected behavior
After being authenticated and fully connected, the client should send the initial presence stanza and request the roster.
Screenshots

Environment (please complete the following information):