Stacked on #62: merge that first. This branch carries its commit, and on 1.0 the new job fails without it.
Item 2 of the queued "Stalwart 1.0 ready" release.
web/src/jmap/__tests__/stalwart-compat.test.ts: sends the reader's real property lists (FULL_PROPS, LIST_PROPS, MAILBOX_PROPS, BODY_PROPS, calendar and address-book props), the reads the app makes for a user and for an administrator, and a send, each with the using the app builds (usingFor, now exported), to a real, empty Stalwart. Skipped unless STALWART_COMPAT_URL is set, so npm test is unchanged. Two refusals are allowed as server policy: Principal/query (directory queries off by default) and x:Metric/query (Enterprise).
New stalwart job in .github/workflows/ci.yml: one run per supported version, images pinned by digest, a recovery administrator made up per run, and a config file so the server skips bootstrap mode. It is in the report to Gitea.
Checked locally: 4/4 pass on fresh 0.16.27 and 1.0.0 containers. With main's old property list swapped in, it fails on 1.0 with the server's own error (Invalid property ... List-Unsubscribe ... form: Text).
Not added to .gitea/workflows/ci.yml: the fallback there runs jobs in containers on ci-net, and reaching a sibling Stalwart container from it needs testing on that runner. Say if you want it.
**Stacked on #62: merge that first.** This branch carries its commit, and on 1.0 the new job fails without it.
Item 2 of the queued "Stalwart 1.0 ready" release.
- `web/src/jmap/__tests__/stalwart-compat.test.ts`: sends the reader's real property lists (`FULL_PROPS`, `LIST_PROPS`, `MAILBOX_PROPS`, `BODY_PROPS`, calendar and address-book props), the reads the app makes for a user and for an administrator, and a send, each with the `using` the app builds (`usingFor`, now exported), to a real, empty Stalwart. Skipped unless `STALWART_COMPAT_URL` is set, so `npm test` is unchanged. Two refusals are allowed as server policy: `Principal/query` (directory queries off by default) and `x:Metric/query` (Enterprise).
- New `stalwart` job in `.github/workflows/ci.yml`: one run per supported version, images pinned by digest, a recovery administrator made up per run, and a config file so the server skips bootstrap mode. It is in the report to Gitea.
Checked locally: 4/4 pass on fresh 0.16.27 and 1.0.0 containers. With main's old property list swapped in, it fails on 1.0 with the server's own error (`Invalid property ... List-Unsubscribe ... form: Text`).
Not added to `.gitea/workflows/ci.yml`: the fallback there runs jobs in containers on `ci-net`, and reaching a sibling Stalwart container from it needs testing on that runner. Say if you want it.
List-Unsubscribe is an RFC 2369 header, and RFC 8621 4.1.2.3 allows the
Text form only for headers outside RFC 5322 and RFC 2369. Stalwart 0.16
answered it anyway; Stalwart 1.0 refuses the whole Email/get with
invalidArguments, so no message could be opened. asURLs returns the list the
reader was extracting by hand, on both versions.
Also drops the unused Return-Path and Received asText typings, which 1.0
refuses for the same reason.
A test that sends the reader's property lists, the reads the app makes for
a user and for an administrator, and a send, each with the `using` the app
builds, to a real, empty Stalwart. Skipped unless STALWART_COMPAT_URL is
set; a new CI job sets it once per supported version, from images pinned by
digest.
The probe that cleared Stalwart 1.0 kept its own copy of the requests and
missed List-Unsubscribe:asText; this test fails on that with the server's
own error, and passes on both versions with it fixed.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Stacked on #62: merge that first. This branch carries its commit, and on 1.0 the new job fails without it.
Item 2 of the queued "Stalwart 1.0 ready" release.
web/src/jmap/__tests__/stalwart-compat.test.ts: sends the reader's real property lists (FULL_PROPS,LIST_PROPS,MAILBOX_PROPS,BODY_PROPS, calendar and address-book props), the reads the app makes for a user and for an administrator, and a send, each with theusingthe app builds (usingFor, now exported), to a real, empty Stalwart. Skipped unlessSTALWART_COMPAT_URLis set, sonpm testis unchanged. Two refusals are allowed as server policy:Principal/query(directory queries off by default) andx:Metric/query(Enterprise).stalwartjob in.github/workflows/ci.yml: one run per supported version, images pinned by digest, a recovery administrator made up per run, and a config file so the server skips bootstrap mode. It is in the report to Gitea.Checked locally: 4/4 pass on fresh 0.16.27 and 1.0.0 containers. With main's old property list swapped in, it fails on 1.0 with the server's own error (
Invalid property ... List-Unsubscribe ... form: Text).Not added to
.gitea/workflows/ci.yml: the fallback there runs jobs in containers onci-net, and reaching a sibling Stalwart container from it needs testing on that runner. Say if you want it.