Jiří Zárevúcký wrote:
> All the user has to do is to delete clients cache, in case he notices
> any inconsistency. Compared to the difficulty of solving such rare
> cases on the protocol level, it is not so much problematic I guess.

The only "easy" solution I see is to have separate "base" version, e.g.
date of creation version='0' or just random number that will create
roster collision improbable. Anyway, I don't think that it worth do.

I see following possible cases of version "collision":

1. Server crash

If server has lost the roster the only thing that the client MAY do on
receiving empty roster with ver="0" is to ask user if the user wants to
save local cache instead of purging it.

I really don't want to lose the roster because of server crash and I
really would like to be able to restore it from local cache.

Anyway, I'm not sure if the case should be mentioned in the XEP as it
purely implementation-specific feature.


2. Same user unregister account and register it again.

I see the only sane reason to do that — user wants to purge the roster
and has no shortcut for that. I don't think that it is real-world case.


3. One user unregisters his account and another one registers one with
same JID and password. The first user logs in with stale cache then.

IMHO, this case is sort of soap opera scenario :-)


-- 
WBRBW, Leonid Evdokimov

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to