question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

XEP-0140: Shared Roster Groups?

See original GitHub issue

I’m not sure if this feature is supposed to work or not:

I have a client that currently uses ejabberd with Spark for all their chat needs. They are moving to Roundcube for their e-mail, so I started to test the converse.js plugin for Roundcube.

Everything is up and running, they can send messages, but their rosters are blank.

ejabberd has a feature called ‘Shared Rosters’ (http://www.process-one.net/docs/ejabberd/guide_en.html#htoc61)

When I connect using Pidgin or Spark, I see the list of users in my ‘shared roster’ group. When I connect with converse.js, I don’t see anything.

When converse.js starts up, I see the following:

<body rid="3982764525" xmlns="http://jabber.org/protocol/httpbind" sid="07202e393802cfd8ea320c87ec3125f9131cc016"><iq type="get" id="1:roster" xmlns="jabber:client"><query xmlns="jabber:iq:roster"/></iq></body>

<body xmlns="http://jabber.org/protocol/httpbind"><iq xmlns="jabber:client" from="adebruyn@--redacted--" to="adebruyn@--redacted--/rc-544e9ca8cd7aa" id="1:roster" type="result"><query xmlns="jabber:iq:roster"/></iq></body>

So it appears my roster is blank…? But the next logs show:

<body rid="3982764526" xmlns="http://jabber.org/protocol/httpbind" sid="07202e393802cfd8ea320c87ec3125f9131cc016"><presence xmlns="jabber:client"/></body>

<body xmlns="http://jabber.org/protocol/httpbind"><presence xmlns="jabber:client" from="adebruyn@--redacted--/rc-544e9bf76baf6" to="adebruyn@--redacted--/rc-544e9ca8cd7aa"><delay xmlns="urn:xmpp:delay" from="adebruyn@--redacted--/rc-544e9bf76baf6" stamp="2014-10-27T19:24:42Z"/><x xmlns="jabber:x:delay" stamp="20141027T19:24:42"/></presence><presence xmlns="jabber:client" from="asevilla@--redacted--/Spark 2.6.3" to="adebruyn@--redacted--/rc-544e9ca8cd7aa" id="0xb1x-49"><status>Away</status><priority>1</priority><show>away</show><delay xmlns="urn:xmpp:delay" from="asevilla@--redacted--/Spark 2.6.3" stamp="2014-10-27T19:20:42Z"/><x xmlns="jabber:x:delay" stamp="20141027T19:20:42"/></presence><presence xmlns="jabber:client" from="cmoss@--redacted--/EV-FRONT2" to="adebruyn@--redacted--/rc-544e9ca8cd7aa" id="oDk2Q-6"><status>Online</status><priority>1</priority><delay xmlns="urn:xmpp:delay" from="cmoss@--redacted--/EV-FRONT2" stamp="2014-10-27T19:21:38Z"/><x xmlns="jabber:x:delay" stamp="20141027T19:21:38"/></presence><presence xmlns="jabber:client" from="cspicer@--redacted--/Spark 2.6.3" to="adebruyn@--redacted--/rc-544e9ca8cd7aa" id="W2yPL-6"><status>Online</status><priority>1</priority><delay xmlns="urn:xmpp:delay" from="cspicer@--redacted--/Spark 2.6.3" stamp="2014-10-27T19:15:12Z"/><x xmlns="jabber:x:delay" stamp="20141027T19:15:12"/></presence>

--snip--

<presence xmlns="jabber:client" from="streffry@--redacted--/Spark 2.6.3" to="adebruyn@--redacted--/rc-544e9ca8cd7aa" id="0hOKD-270"><status>Away</status><priority>1</priority><show>away</show><delay xmlns="urn:xmpp:delay" from="streffry@--redacted--/Spark 2.6.3" stamp="2014-10-27T19:10:20Z"/><x xmlns="jabber:x:delay" stamp="20141027T19:10:20"/></presence><presence xmlns="jabber:client" from="adebruyn@--redacted--/rc-544e9ca8cd7aa" to="adebruyn@--redacted--/rc-544e9ca8cd7aa"/><presence xmlns="jabber:client" from="gweaver@--redacted-- " to="adebruyn@--redacted--/rc-544e9ca8cd7aa" type="error"><error code="404" type="cancel"><remote-server-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></presence></body>

So I’m being sent presence information on all the users that are in my shared roster group and should be showing up on my roster.

I’m not familiar enough with the XMPP protocol or converse.js to know if this is expected behavior or a bug on either of the applications.

Issue Analytics

  • State:closed
  • Created 9 years ago
  • Comments:8 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
jcbrandcommented, Oct 21, 2016

Shared roster groups should work now.

0reactions
darkpixelcommented, Nov 5, 2016

I did some playing over the last few days. It had to do with a vert out-dated ejabberd install. I upgraded to the latest version and now the shared rosters show up. Thanks for all the hard work @jcbrand.

Read more comments on GitHub >

github_iconTop Results From Across the Web

XEP-0140: Shared Groups - XMPP
XEP-0140 : Shared Groups ; Abstract: This document defines a protocol profile for centrally defined and administered roster groups; the protocol ...
Read more >
Add user to shared group (XEP-0140) - Openfire Dev
We are creating custom XMPP-client and are using OpenFire server 3.9.3. Question is: does OpenFire fully support standart XEP-0140: Shared ...
Read more >
All Users in a Shared Roster Group | ejabberd
Description: This group contains everybody; Members: @all@; Displayed Groups: Click on Submit. Create a new Shared Roster, with identifier 'badboys'. Click ...
Read more >
Shared Group Functionality - Forum » AG-Software
On the client normally you have no influence on this shared groups. Often LDAP or active directory is used for shared rosters. As...
Read more >
Dynamic Shared Groups within XMPP - WIT Repository
The creation of a pub-sub group which has roster sharing enabled causes all members of ... from http://xmpp.org/extensions/xep-0140.html Accessed on 10-SEP-.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found