Subject: Re: [Jmap] Question: Mandate core capability on each API call?

From: Raphaël Ouazana <[email-masked]>
Date: Tue, 1 Dec 2020 11:37:07 +0100

Hello,

What about:

The server MUST only follow the specifications that are opted into and 
behave as though it does not implement anything else when processing a 
request.

Raphaël.

Le 01/12/2020 à 05:18, Neil Jenkins a écrit :
> Hi Benoit,
>
> Good question! I thought we had specified this, but I can't see it in 
> the final draft. I don't see any particular downside to making it 
> optional, but perhaps someone else has an argument as to why it should 
> be mandatory? Whatever we decide, it is probably worth an erratum for 
> the benefit of future implementors.
>
> Neil.
>
> _______________________________________________
> Jmap mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/jmap

---

From: "Neil Jenkins" <[email-masked]>
Date: Fri, 04 Dec 2020 16:19:35 +1100

> The server MUST only follow the specifications that are opted into and behave as though it does not implement anything else when processing a request. 

Sure, this applies to anything other than the core spec. But if you are obeying this text, you are already implementing RFC8620 so it would be a bit of a circular argument to imply that this means you must include the core capability in the using array in order to support 8620!

Neil.

---

From: Raphaël Ouazana <[email-masked]>
Date: Fri, 4 Dec 2020 14:08:09 +0100

Le 04/12/2020 à 06:19, Neil Jenkins a écrit :
>> The server MUST only follow the specifications that are opted into 
>> and behave as though it does not implement anything else when 
>> processing a request.
>>
>
> Sure, this applies to anything other than the core spec. But if you 
> are obeying this text, you are already implementing RFC8620 so it 
> would be a bit of a circular argument to imply that this means you 
> must include the core capability in the using array in order to 
> support 8620!

For now yes but this is also "for compatibility with future versions of 
JMAP". If a future client wants to communicate with a future server, it 
would have to use "urn:ietf:params:jmapv2:core" and would be fine to not 
have "urn:ietf:params:jmap:core" taken by default, no?

Raphaël.

---

From: "Neil Jenkins" <[email-masked]>
Date: Tue, 08 Dec 2020 11:54:13 +1100

OK, I've found our previous discussion of this <https://mailarchive.ietf.org/arch/msg/jmap/a37hu-PbJwsV0I0lygcg8nUcuTk/> and it looks like the conclusion then was to require it to be explicit, because it's cleaner if we need to replace it with core2 in the future, rather than have it be "implicit core unless coreX is specified".

So probably we should do an errata just to clarify that it's mandatory to include `"urn:ietf:params:jmap:core"` in the `using` param, and Raphaël you might want to file a bug with lttrs <https://github.com/iNPUTmice/lttrs-android>?

Cheers,
Neil.