The session says whether legacy protocols are off for the account
The urn:inbuxa:jmap capability on the signed-in principal's own account gains legacyProtocols: "enabled" or "disabled", the stricter of the server's switch and the account's tenant's (legacy-protocols spec, Interfaces). It is what the webmail needs to tell someone why their phone's mail app won't connect (LP-19), and it closes acceptance test 13. contract.md's C-1 gains the line. It is an optional field added, which C-3 says doesn't bump the contract version. tests/e2e/legacy_protocols.py reads it back from the session on a running server: enabled for the tenant's user while both switches are on, disabled once its tenant turns legacy protocols off while an account outside the tenant still reads enabled, disabled for everyone while the server switch is off, and enabled again at the end. All 67 checks pass.
This commit is contained in:
@@ -68,6 +68,12 @@ Each has an ID, and tests name the IDs they check.
|
||||
In `accountCapabilities`, the signed-in principal's own account carries
|
||||
`urn:inbuxa:jmap` with `logo`: the logo that applies to it (multi-tenancy
|
||||
MT-22), a string (URL or data URL) or `null`. Added 2026-09-18.
|
||||
|
||||
It also carries `legacyProtocols`: `enabled` or `disabled`, whether IMAP,
|
||||
POP3, ManageSieve and SMTP submission are off for the principal -- the
|
||||
stricter of the server's switch and its tenant's (legacy-protocols spec,
|
||||
Interfaces). A front end uses it to say why a mail app can't connect
|
||||
(LP-19). Added 2026-09-21.
|
||||
- **C-2.** Each front end states the contract versions it supports and checks
|
||||
`contract` after signing in. Outside its range it stops, with a message
|
||||
naming both versions. For ihasmail-inbuxa this replaces public ihasmail's
|
||||
|
||||
Reference in New Issue
Block a user