Project

General

Profile

Roster versioning

Dmitry Anatolievich
Added over 4 years ago

Hello, everyone.

I found at the documentation, that tigase supports the roster versioning. Here: http://www.tigase.org/content/roster-versioning.

My tigase version is 5.2.0.

How can i use it?

What can i do at the settings of tigase to activate roster versioning?

Where does tigase store the information about version?

Thx and best regards.


Replies (7)

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 4 years ago

Roster versioning is ON by default. You do not need to configure anything. Tigase does not store roster version in database.

Added by Dmitry Anatolievich over 4 years ago

Hello, Artur.

Thx for your answer.

Please, say me, why in this case i don't see VER attribute at the server's response. I use Psi client.

It is request to server:

It is response from server:

Instant messaging

Instant messaging

As you see, no attribute VER ().

Thx and best regards.

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 4 years ago

Please have a look at the spec: http://xmpp.org/extensions/xep-0237.html and follow the spec.

The client must check whether the server advertises roster versioning support in stream features, and then the CLIENT must send a request with ver attribute. Only then the server responds with the ver attribute.

Added by Dmitry Anatolievich over 4 years ago

Hello, Artur.

Thx for reply.

I saw this spec.

Please, see my results from Psi XML console for Tigase server. Here they:

...

stream:features

****

PLAIN

ANONYMOUS

zlib

/stream:features

...

stream:features

****

PLAIN

ANONYMOUS

zlib

/stream:features

...

stream:features

****

zlib

/stream:features

...

Instant messaging

Instant messaging

...

By the way, i tried to use another server for experiment (chatme.im).

Here results from Psi XML console for chatme.im:

...

stream:features

zlib

****

/stream:features

...

...

So, i don't understand, why for Tigase server i have no attribute ver at the response from server.

As you see, both variants don't send ver attribute at the request to server.

But in that time only second variant receives the ver attribute at the response.

First variant - no.

At both variants, server sends at the stream:features: .

What i noticed: first variant (with Tigase server) sends **** three times when i connect from jabber client to server.

Second variant - only once. It is correct?

I need your help. It is important for me.

What do i do wrong?

Thx and best regards.

Added by Wojciech Kapcia TigaseTeam over 4 years ago

As Artur already pointed out - please follow the specification which states:

If the client has not yet cached the roster or the cache is lost or corrupted, but the client wishes to bootstrap the use of roster versioning, it MUST set the 'ver' attribute to the empty string (i.e., ver="").

so in your case, if you don't sent empty ver string then you wont get a roster version from server.

Added by Thomas Camaran over 4 years ago

hi,

but the roster ver="" it's send only from the client to the server or it's possible for tigase to send his ver="" and when the ver of client and tigase are different to force the client to retrive the local roster again?

It's possible from tigase server to edit roster and force the client to download the new roster version?

Now when add or remove user from tigase server the client roster show the user offline but not remove.

Thank you

Added by Wojciech Kapcia TigaseTeam over 4 years ago

Thomas Camaran wrote:

hi,

but the roster ver="" it's send only from the client to the server or it's possible for tigase to send his ver="" and when the ver of client and tigase are different to force the client to retrive the local roster again?

Sending empty ver="" is up to the client. As per specification:

Naturally, if the client does not support roster versioning or does not wish to bootstrap the use of roster versioning, it will behave like an RFC-3921-compliant client by not including the 'ver' attribute.

hence server should also behave as such and not include ver attribute

It's possible from tigase server to edit roster and force the client to download the new roster version?

It's possible in tigase to edit roster (i.e. add/remove items) and each such action results in roster-push to the client. It's up to the client whether to download whole roster after receiving roster-push with modified items.

Now when add or remove user from tigase server the client roster show the user offline but not remove.

OK, the client roster show user offline and it's in the list but is it reflected in the roster received from the server? AFAIR Psi retain such contact until it's restarted.

    (1-7/7)