> On 21 Feb 2018, at 18:50, Florian Schmaus <f...@geekplace.eu> wrote:
> On 06.08.2015 17:42, Goffi wrote:
>> G'day,
>> there is a little issue with XEP-0050: in section 3.4 bullet 3, it's is
>> said that when the <actions/> element is present:
>>     - The action "execute" is always allowed, and is equivalent to the
>> action "next".
>>     - The "next" action is typically the "next" button or option in a
>> wizard. If <next/> is not contained by the <actions/>, it is disabled.
>> So if "next" action is disabled, execute is allowed but equivalent to a
>> disabled action.
>> I have had an issue which seems related to this confusion with SleekXMPP
>> and Gajim: if the next action is disabled in sleekXMPP, Gajim still show
>> the "execute" button, but a click on it result in an error, while the
>> "finish" button act as expected.
>> My guess is that "execute" should be equivalent to "complete" when
>> "next" is not possible (but what if "complete" is disabled too ?).
> I think it is a little design weakness of XEP-0050: Ad-Hoc Commands that
> we have 'next' and 'execute'. It appears the whole protocol would be
> much simpler and less confusing if we just had 'execute’.

Execute is convenient - it’s not an action of its own per se, it’s just saying 
which of the provided actions is used by default (e.g. will be run when the 
user hits Enter), but allowing it to be sent as an action= value could have 
been better thought-out, I suspect (even then, it’s useful for the first stage 
of the form). So I suspect the underlying issue described here is UIs wrongly 
showing independent buttons for Execute and whatever Execute should mean.

> But this is unlikely to change ever. So here is how I understand it:
> - 'execute' always gets you into the next stage, and iff 'next' is an
> allowed action, then 'execute' is equivalent to 'next', or otherwise it
> is equivalent to 'complete’.

I think that if we follow what 50 says, we actually reach the conclusion that 
if execute isn’t set on actions, it’s equivalent to next, which may be 
disabled. Which basically means that an actions list not including next and not 
including an execute value is saying “The default is next, and it’s disabled”, 
which is more or less a broken xep 50 command so the responder shouldn’t send 
it. Changing to have the default switch to complete if there’s no next is 
probably not harmful, although is a change in behaviour from what we have.

I suggest the most helpful thing to do here is to add some additional text 
explaining that Execute shouldn’t be a button of its own in the UI, but is an 
indication of default, if people are misunderstanding that. If we do that, the 
point of changing default in the absence of next is less important, but I’m not 
opposed (it is a change in behaviour, though, so needs Council vote IMO).

Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org

Reply via email to