Difficulties joining chat rooms
See original GitHub issueExpected behavior
Auto-joining chat room after login to jsxc.
Actual behavior
If NO HISTORY in the chat room: A chat room is in the roster (Bookmark and Auto-Join is enabled), but it’s impossible to join there at the first login. When I click the chat room in the roster I get the “Join chat” window, click there to Continue and then click “Join”: the “Join”-window still hangs on the page and I can’t join to the chat room. But after logout-login to jsxc a user joins to the chat room straight away. This works only for the “Dual-Login” method. For other methods (“AJAX Login” and “Box Login”) it doesn’t work at all - neither auto-join, nor manually join. However after login-logout-login through the “Dual-Login” method the Auto-join function to the chat room starts to work.
If there is SOME HISTORY in the chat room: The chat room is in the roster (Bookmark and Auto-Join are enabled). When I click the chat room in the roster I get the “Join chat” window, click there to Continue and then click “Join”: I get the chat room tab at the bottom of the page, but the “Join”-window still hangs on the page.
Steps to reproduce the behavior
- Go to the jsxc example page (/jscx/example);
- Join a new chat room, check Bookmark and Auto-Join checkboxes - new chat room will be created. Keep the chat room clean (there must be no messages, no history), logout and clear browser cache, reload the page;
- Login through the Dual-Login method: 3.1 Login and try join the newly created chat room - it gives eventually a window with the green Join button. Clicking this button gives nothing; 3.2 Close this window, logout and login again to jsxc - you will be able to join the chat room;
- Login through other methods (“AJAX Login” and “Box Login”): 4.1 Clear browser cache, reload the page, login and try to join the created chat room - it gives eventually a window with the green Join button. Clicking to this button gives nothing; 4.2 Logout and login again - doesn’t matter, the Join button will remain unclickable at next logins, until the Dual-login method is be used;
- Behavior with some history in the chat room: 5.1 Clear browser cache, reload the page, login through the Dual-Login method and try to join to the created chat room. If the chat room history is empty, you won’t be able to join the room. Keep the page open; 5.2 Login to the jabber server using another account and another jabber-client (Miranda-NG eg.), join to the chat room and generate some messages. After the first message check the jsxc-page, the chat room tab should be show up at the bottom of the page - so you have joined the chat room; 5.3 Clear browser cache, reload the page, login and try to join to the created chat room - you get the behavior described above in “If there is SOME HISTORY in a chat room”.
Environment
- JSXC version: 3.2.2, 3.4.1
- Host system and version: Debian 9.4, Mageia 6
- Browser vendor and version: Mozilla Firefox, Chromium browser
- Any browser plugins enabled? -
- XMPP server vendor and version: Ejabberd 18.01, Ejabberd 18.06
- Is your XMPP server working with other clients as expected? Yes, checked on Miranda NG
Logs
Javascript. Clicking on the Join button, see 3.1 of “Steps to reproduce the behavior”
jsxc.js:184 Presence (test-room-2@conference.example.com): online
jsxc.js:184 Presence (test-room-2@conference.example.com/test001): online
jsxc.js:184 Presence (test-room-2@conference.example.com): online
jsxc.js:184 Presence (test-room-2@conference.example.com/test001): online
jsxc.js:184 Presence (test-room-2@conference.example.com): online
jsxc.js:184 Presence (test-room-2@conference.example.com/test001): online
jsxc.js:184 Presence (test-room-2@conference.example.com): online
jsxc.js:184 Presence (test-room-2@conference.example.com/test001): online
Javascript. See 3.2 of “Steps to reproduce the behavior”
jsxc.js:184 auto join test-room-2@conference.example.com
jsxc.js:184 Presence (test-room-2@conference.example.com): online
jsxc.js:184 Presence (test-room-2@conference.example.com/test001): online
jsxc.js:184 close dialog
jsxc.js:184 Update file transfer icons for test-room-2@conference.example.com
jquery.min.js:4 GET http://example.com/jsxc/build/css/images/ui-bg_flat_0_aaaaaa_40x100.png 404 (Not Found)
JSXC
$ State changed to INITIATING
$ State changed to PREVCONFOUND
$ check master
$ I am master.
$ State changed to ESTABLISHING
$ Try to attach
$ SID: 5546d900ce48c1097c565c3f42b6983d8d9c12f0
$ ATTACHED: null
$ Discover muc service
$ UI State changed to INITIATING
$ Waiting for server capabilities
$ Request server capabilities
$ DSA key creation started.
$ State changed to READY
$ discover http upload service
$ Load roster: <iq xmlns="jabber:client" xml:lang="ru" to="test001@example.com/example" from="test001@example.com" type="result" id="85da5433-5da4-4823-bbab-bd928e024f4a:sendIQ"><query xmlns="jabber:iq:roster"><item subscription="both" jid="admin@example.com"><group>example</group></item><item subscription="both" jid="test002@example.com"><group>example</group></item></query></iq>
$ Load bookmarks from pubsub
$ Roster loaded
$ Send presence: <presence xmlns="jabber:client"><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://jsxc.org/" ver="UEMHBlT9XVU7FUwfm/6rl815MUE="></c></presence>
$ Update icon:
$ [webrtc] Could not update icon, because could not find jid for example.com
$ UI State changed to READY
$ vCard: <iq xmlns="jabber:client" xml:lang="ru" to="test001@example.com/example" from="test001@example.com" type="result" id="73ca4317-6efa-4927-935e-c25daea6577d:sendIQ"><vCard xmlns="vcard-temp"></vCard></iq>
$ No photo provided
$ DSA key creation started
$ query conference.example.com for upload service
$ query pubsub.example.com for upload service
$ Carbons enabled
$ auto join test-room@conference.example.com
$ auto join test-room-2@conference.example.com
$ onPresence: <presence xmlns="jabber:client" xml:lang="ru" to="test001@example.com/example" from="test001@example.com/example"><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://jsxc.org/" ver="UEMHBlT9XVU7FUwfm/6rl815MUE="></c><x xmlns="vcard-temp:x:update"></x></presence>
$ onPresence: <presence xmlns="jabber:client" xml:lang="ru" to="test001@example.com/example" from="test001@example.com/example"><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://jsxc.org/" ver="UEMHBlT9XVU7FUwfm/6rl815MUE="></c><x xmlns="vcard-temp:x:update"></x><delay xmlns="urn:xmpp:delay" from="test001@example.com/example" stamp="2018-08-10T06:05:25.004754Z"></delay></presence>
$ onPresence: <presence xmlns="jabber:client" to="test001@example.com/example" from="test-room@conference.example.com" id="13192972959890676566"><c xmlns="http://jabber.org/protocol/caps" ver="Mi6G0puDtcUxJCptiu+zx8p6Hy0=" node="http://www.process-one.net/en/ejabberd/" hash="sha-1"></c></presence>
$ Presence (test-room@conference.example.com): online
$ onPresence: <presence xmlns="jabber:client" xml:lang="ru" to="test001@example.com/example" from="test-room@conference.example.com/test001"><x xmlns="vcard-temp:x:update"></x><x xmlns="http://jabber.org/protocol/muc#user"><item jid="test001@example.com/example" role="moderator" affiliation="owner"></item><status code="110"></status></x></presence>
$ Presence (test-room@conference.example.com/test001): online
$ webrtc.onpresence: "test-room@conference.example.com/test001"
$ Update icon: "test-room@conference.example.com"
$ onPresence: <presence xmlns="jabber:client" to="test001@example.com/example" from="test-room-2@conference.example.com" id="15725516013949352737"><c xmlns="http://jabber.org/protocol/caps" ver="E4I686o5HSs81HyknUkxclArKKw=" node="http://www.process-one.net/en/ejabberd/" hash="sha-1"></c></presence>
$ Presence (test-room-2@conference.example.com): online
$ onPresence: <presence xmlns="jabber:client" xml:lang="ru" to="test001@example.com/example" from="test-room-2@conference.example.com/test001"><x xmlns="vcard-temp:x:update"></x><x xmlns="http://jabber.org/protocol/muc#user"><item jid="test001@example.com/example" role="moderator" affiliation="owner"></item><status code="201"></status><status code="110"></status></x></presence>
$ Presence (test-room-2@conference.example.com/test001): online
$ webrtc.onpresence: "test-room-2@conference.example.com/test001"
$ Update icon: "test-room-2@conference.example.com"
$ muc service found:
$ Variable muc doesn't exist. It was created.
$ Update icon: "test-room@conference.example.com"
$ Update icon: "test-room-2@conference.example.com"
$ DSA key creation finished
$ onPresence: <presence xmlns="jabber:client" to="test001@example.com/example" from="test-room-2@conference.example.com" id="9073821292046879580"><c xmlns="http://jabber.org/protocol/caps" ver="E4I686o5HSs81HyknUkxclArKKw=" node="http://www.process-one.net/en/ejabberd/" hash="sha-1"></c></presence>
$ Presence (test-room-2@conference.example.com): online
$ Update icon: "test-room-2@conference.example.com"
$ onPresence: <presence xmlns="jabber:client" xml:lang="ru" to="test001@example.com/example" from="test-room-2@conference.example.com/test001"><x xmlns="vcard-temp:x:update"></x><x xmlns="http://jabber.org/protocol/muc#user"><item jid="test001@example.com/example" role="moderator" affiliation="owner"></item><status code="110"></status></x></presence>
$ Presence (test-room-2@conference.example.com/test001): online
$ webrtc.onpresence: "test-room-2@conference.example.com/test001"
$ Update icon: "test-room-2@conference.example.com"
$ New bookmark created: "test-room-2@conference.example.com"
$ onPresence: <presence xmlns="jabber:client" to="test001@example.com/example" from="test-room-2@conference.example.com" id="1102508400064005206"><c xmlns="http://jabber.org/protocol/caps" ver="E4I686o5HSs81HyknUkxclArKKw=" node="http://www.process-one.net/en/ejabberd/" hash="sha-1"></c></presence>
$ Presence (test-room-2@conference.example.com): online
$ Update icon: "test-room-2@conference.example.com"
$ onPresence: <presence xmlns="jabber:client" xml:lang="ru" to="test001@example.com/example" from="test-room-2@conference.example.com/test001"><x xmlns="vcard-temp:x:update"></x><x xmlns="http://jabber.org/protocol/muc#user"><item jid="test001@example.com/example" role="moderator" affiliation="owner"></item><status code="110"></status></x></presence>
$ Presence (test-room-2@conference.example.com/test001): online
$ webrtc.onpresence: "test-room-2@conference.example.com/test001"
$ Update icon: "test-room-2@conference.example.com"
$ New bookmark created: "test-room-2@conference.example.com"
$ onPresence: <presence xmlns="jabber:client" to="test001@example.com/example" from="test-room-2@conference.example.com" id="14447599801401790539"><c xmlns="http://jabber.org/protocol/caps" ver="E4I686o5HSs81HyknUkxclArKKw=" node="http://www.process-one.net/en/ejabberd/" hash="sha-1"></c></presence>
$ Presence (test-room-2@conference.example.com): online
$ Update icon: "test-room-2@conference.example.com"
$ onPresence: <presence xmlns="jabber:client" xml:lang="ru" to="test001@example.com/example" from="test-room-2@conference.example.com/test001"><x xmlns="vcard-temp:x:update"></x><x xmlns="http://jabber.org/protocol/muc#user"><item jid="test001@example.com/example" role="moderator" affiliation="owner"></item><status code="110"></status></x></presence>
$ Presence (test-room-2@conference.example.com/test001): online
$ webrtc.onpresence: "test-room-2@conference.example.com/test001"
$ Update icon: "test-room-2@conference.example.com"
$ New bookmark created: "test-room-2@conference.example.com"
$ onPresence: <presence xmlns="jabber:client" to="test001@example.com/example" from="test-room-2@conference.example.com" id="1370082517997871119"><c xmlns="http://jabber.org/protocol/caps" ver="E4I686o5HSs81HyknUkxclArKKw=" node="http://www.process-one.net/en/ejabberd/" hash="sha-1"></c></presence>
$ Presence (test-room-2@conference.example.com): online
$ Update icon: "test-room-2@conference.example.com"
$ onPresence: <presence xmlns="jabber:client" xml:lang="ru" to="test001@example.com/example" from="test-room-2@conference.example.com/test001"><x xmlns="vcard-temp:x:update"></x><x xmlns="http://jabber.org/protocol/muc#user"><item jid="test001@example.com/example" role="moderator" affiliation="owner"></item><status code="110"></status></x></presence>
$ Presence (test-room-2@conference.example.com/test001): online
$ webrtc.onpresence: "test-room-2@conference.example.com/test001"
$ Update icon: "test-room-2@conference.example.com"
$ New bookmark created: "test-room-2@conference.example.com"
XMPP
-
Host
-
Issue Analytics
- State:
- Created 5 years ago
- Comments:9 (5 by maintainers)
Top GitHub Comments
Ok, will try to test today at night
🎉 thanks for testing 👍