Contacts from Kraken not staying in roster

I have a recent new install of Openfire 3.7.1 and Kraken 1.1.3 beta 3.

My contacts from services I connect to through Kraken do not stay in the roster, and this means they fail to appear when I connect another client. It is a very long-winded job putting them back so that all my clients can see them.

Is there some setting I could make, or a simple fix, that would make all my contacts stay in the roster? Even if I leave Psi connected, the roster still loses the contacts fter a whlile - they still stay in Psi, at least until the next session.

This is not a problem I had with ejabberd, but it was getting difficult to get workable transports for that. Besides, Openfire came highly recommended.

Kraken is a dead project, so there maybe issues or it may stop working at all at some point. Replacement is in the works (based on Spectrum IM library), but it is still in the early stage. You can try it (though instructions are fairly complex). http://community.igniterealtime.org/thread/46580

Looks promising but there appears to be an interaction with the way Openfire handles JIDs with % in, resulting in continual authorization requests and, if accepted, new entries with the \ missing. I have raised this as an issue with Spectrum, but if there is a fix or workaround on the Openfire side, that would help.

Quite hard going and with other servers also tried for testing, but eventually, determined that one of my clients, Psi, was to blame for a problem I was having with Spectrum. I now have a working setup, with only one minor problem still to fix. Many thanks for the hints.