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

From: Benoit Tellier <[email-masked]>
Date: Fri, 27 Nov 2020 13:03:30 +0100

Hello!

First I'm very happy to report I have been successfully using
https://github.com/iNPUTmice/lttrs-android on top to (a slightly
modified james server). This leads to the following code changes:
https://github.com/linagora/james-project/pull/4089

An incompatibility was found: In James we so far mandate the core
capability on every API calls, in addition to extra capabilities (mail,
submission for instance). For my experiments, I relaxed this
requirements. I also think that in doubt clients can always position
this capability to avoid issues.

However my question is: as a server, should I reject api requests not
using `urn:ietf:params:jmap:core` in the using field?

Thanks for answer ;-)

---

From: "Neil Jenkins" <[email-masked]>
Date: Tue, 01 Dec 2020 15:18:42 +1100

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.

---

From: Benoît TELLIER <[email-masked]>
Date: Tue, 1 Dec 2020 06:33:14 +0000

Hi Neil,

Thanks for the answer.

It is not explicitly asked in the RFC so there is no reasons for server implementations to enforce it then.

I will likely relax the James expectations regarding this.

The explanation behind it would be that the session provides you an API endpoint compatible with the core capability, thus the redundant capability can be ignored.

Maybe we should warn in the client guide that including the core capability is advised, while waiting for the erratum?

Cheers,

Benoit

On December 1, 2020 11:18 AM, from [email-masked]

Hi Benoit,

Neil.