powered by Jive Software

Problem with 'Inivisble Mode' using Privacy Lists

Hello all,

First of all I am quite new to Smack / Jabber. I am implementing an XMPP Client using the Smack library. As one of the features of the client I have invisible status, whereby I would like the logged in user to appear as offline to other users but still be able to see the statuses of others.

I am using privacy lists as illustrated in the official XMPP Spec at http://xmpp.org/extensions/xep-0126.html.

The problem I am facing is this:

When the logged in user sets his status to ‘Invisible’, I activate the ‘invisible’ privacy list and send a presence ‘unavailable’ to my roster. The user will be seen as ‘offline’ to other users. However, the logged in user does not receive status changes from other users while his ‘invisible’ list is activated.

I have also tried sending the presene before activating the ‘invisible’ privacy list but to no avail …

Can someone kindly help me with this problem?

I am setting the presence using:

presence = new Presence(Type.unavailable, null, 24, null);

The Privacy List is being created using:

PrivacyListManager privacyListManager = PrivacyListManager.getInstanceFor(connection);
PrivacyItem item;
List<PrivacyItem> list = new Vector();
item = new PrivacyItem(PrivacyItem.Type.subscription.toString(), false, 1);
item.setValue("from");
list.add(item);
privacyListManager.createPrivacyList("invisible", list);

Any help is very much appreciated.

Regards

Chris

Does anyone have a clue on this one please?

Kind regards

Chris

Hi again,

I have solved this problem (after much trial and error ), however only partly …

Infact the problem has been solved with all users registered with my server … ‘Invisible’ mode does not work with users from other transports, such as GTalk. Infact, it seems that I am having problems with all kind of statuses with other transports.

Example:

I am logged in using my application … I import all my Gtalk pals …

So far so good …

If one of my pals, using Gtalk from with Gmail or the GTalk destop application, changes his status, I receive his status change ok.

If I change my status, the status is not changed within Gmail or the GTalk destop application (other users regsisted to my server and using my application get the status change no problem).

Can someone shed any light on this please?

Thanks

Chris