2009/7/10 Jiří Zárevúcky <zarevucky.j...@gmail.com>

> 2009/7/10 Me Self <wmso...@gmail.com>:
>
> Roster always stores the subscription state, which is now "none". How
> you store the actual request is up to you. That kind of implementation
> details do not reflect in the network, so that is not the kind of
> stuff the spec can dictate.
>
> The only think you need to know is that the item is "hidden" to the
> user until the subscription is approved or the item is explicitly
> added by the user. That's all you need to know to implement it. How
> exactly you do it doesn't matter here.
>

The example I mentioned about "none + pending in" hiding an item that was
previously visible by no action of the roster owner himself shows that the
specs assumption of storing requests in the roster shines through all the
way to the (bad) user experience. For a newbie like me reading the spec
and building a "clean room" implementation of an XMPP server it was very
difficult to understand why the spec dictates to hide such a roster item
until I got the point that storing requests in the roster was assumed and
that
this type of implementation cant tell the difference between a roster item
added explicitly by the user and a roster item that was added as a
sideeffect
of receiving a request. All the semantics regarding how the state of pending

requests combined with the state of existing roster items affect what the
users
sees only makes sence if you understand the implementation thats assumed
- that why I thought I would be nice if the spec had explained this
(not as a requirement but maybe as background knowledge for the somewhat
weird requirement to hide items the user put there himself).

Personally I chose an implementation that stores requests separately from
the
roster - and not hide roster items added explicitly by the user. Its not in
compliance with spec. I guess I hoped with my initial question that someone
would tell me that my interpretation of the spec was wrong and that
"none + pending in" should still be visible if the user added the item
himself.


Kind regards Søren

Reply via email to