I have encountered a problem with the XIFF roster if a contact is logged in on more than one resource.
The problem is that when the contact logs off on one resource and stays online on the other, XIFF reports the user as being offline completely.
What is happening is that XIFF ignores the resource part of the JID when processing presence. I have developed a workaround for now but would prefer to see support within the library if possible.
I have been working on a patch but only recently began working with XIFF so I am still not familar enough with the code to finish it.