The JMAP Client
Lives in src/provider/jmap.
Session discovery (apiUrl + primary mail account), batched methodCalls (Email/query + Email/get chained by back-reference in one round trip), and bulk Mailbox/set label creation with client ids c0, c1, … plus modal-parent inference — new labels nest under whatever parent your existing labels use most.
Origin
Section titled “Origin”The session’s label-creation probes (reference/jmapcreate.mjs, colortest.mjs).
Quirks it encodes
Section titled “Quirks it encodes”created/notCreatedpartial results are surfaced per label name.- Label color is not settable over JMAP (the session tried).
- Fastmail signals per-record throttling as a
SetErrorof typerateLimitinsidenotUpdated/notCreatedrather than HTTP 429 — the client converts it into the same backoff path.