Thanks for the answers!

A few more thoughts.

I'd be happier if a standard didn't *assume* a low number of user initiated
actions, even if that is the reasonable and most probable use case here.
Client should be dumb and say 'hey, please add this jid to "always"' and
server should be smart enough to add it. Client shouldn't need to maintain
state of jids just to modify one entry.

Consider the following.

If a window has a checkbox "Archive this conversation", it should trigger a
small <iq/> changing the setting for conversation with that particular
user. It shouldn't trigger download of a list containing potentially
hundreds of jids, modify this list, upload it, then receive it for the
second time (containing just one modification).

And if someone modified the settings in the meantime, what next? It isn't a
*completely* unreasonable scenario -- download of several kilobytes of data
over a laggy EDGE connection and upload of several kilobytes of data over a
laggy EDGE connection gives enough time for another connection to
interfere. Yes, it's improbable, but not impossible.

Should XSF standardize possible transmission of kilobytes of data for a
single checkbox toggle?

Is there a downside to having add and remove operations?

On Mon, Jun 23, 2014 at 8:00 PM, Kim Alvefur <z...@zash.se> wrote:

> > How does one read the simple preferences without modifying them? With
> > <iq type="get"/>? If so, can that be explicitly stated in the text of
> > the XEP?
>
> <iq type="get"> should never modify state.
>

Here, I was asking about reading the state, and not about modifying the
state :-)

As far as I can see, the XEP specifies only that the full state will be
returned upon modification; it does not state how to actually retrieve the
state without first transmitting the state.

-- 
Ivan Vučica
i...@vucica.net

Reply via email to