fix(mail): drop contacts from the EAS bundle — Stalwart 404s empty addressbook homes
ci / changes (push) Successful in 3s
ci / tc_booking (push) Has been skipped
ci / tc_operator (push) Has been skipped
ci / tc_platform_api (push) Has been skipped
ci / test_platform_api (push) Has been skipped
ci / tc_website (push) Successful in 20s
ci / tc_portal (push) Successful in 26s
ci / build_booking (push) Has been skipped
ci / build_operator (push) Has been skipped
ci / build_platform_api (push) Has been skipped
ci / build_zpush (push) Successful in 11s
ci / build_portal (push) Successful in 41s
ci / deploy (push) Successful in 39s
ci / changes (push) Successful in 3s
ci / tc_booking (push) Has been skipped
ci / tc_operator (push) Has been skipped
ci / tc_platform_api (push) Has been skipped
ci / test_platform_api (push) Has been skipped
ci / tc_website (push) Successful in 20s
ci / tc_portal (push) Successful in 26s
ci / build_booking (push) Has been skipped
ci / build_operator (push) Has been skipped
ci / build_platform_api (push) Has been skipped
ci / build_zpush (push) Successful in 11s
ci / build_portal (push) Successful in 41s
ci / deploy (push) Successful in 39s
BackendCombined login is all-or-nothing, and Stalwart returns 404 for /dav/card/<account>/ when the account's default address book was never created (it doesn't auto-create on the gateway's PROPFIND the way the calendar home worked) — so CardDAV killed every otherwise-successful EAS login. Exchange accounts now bundle mail + calendar; contacts stay on the Apple-profile CardDAV path. Re-enable BackendCardDAV once platform-api provisions a default address book at mailbox creation. Copy/docs aligned: portal hint, SERVICES.md, website FAQ (da+en).
This commit is contained in:
@@ -1,10 +1,16 @@
|
||||
<?php
|
||||
// dezky replacement for Z-Push's backend/combined/config.php (applied at
|
||||
// image build, see Dockerfile). One EAS account fans out to three Stalwart
|
||||
// protocols: mail over IMAP, calendar/tasks over CalDAV, contacts over
|
||||
// CardDAV. Login succeeds only if every backend authenticates — they all
|
||||
// hit the same Stalwart account with the same credentials, so that's one
|
||||
// effective check.
|
||||
// image build, see Dockerfile). One EAS account fans out to Stalwart over
|
||||
// IMAP (mail) and CalDAV (calendar/tasks). Login succeeds only if every
|
||||
// backend authenticates — they all hit the same Stalwart account with the
|
||||
// same credentials, so that's one effective check.
|
||||
//
|
||||
// CardDAV (contacts) is deliberately NOT in the bundle yet: the combined
|
||||
// login is all-or-nothing, and Stalwart 404s the addressbook home of any
|
||||
// account whose default address book was never created — which killed every
|
||||
// EAS login on first deploy. Re-add 'd' => BackendCardDAV once platform-api
|
||||
// provisions a default address book at mailbox creation. Apple devices get
|
||||
// contacts via the .mobileconfig CardDAV payload meanwhile.
|
||||
|
||||
class BackendCombinedConfig {
|
||||
|
||||
@@ -13,7 +19,6 @@ class BackendCombinedConfig {
|
||||
'backends' => array(
|
||||
'i' => array('name' => 'BackendIMAP'),
|
||||
'c' => array('name' => 'BackendCalDAV'),
|
||||
'd' => array('name' => 'BackendCardDAV'),
|
||||
),
|
||||
'delimiter' => '/',
|
||||
'folderbackend' => array(
|
||||
@@ -28,10 +33,10 @@ class BackendCombinedConfig {
|
||||
SYNC_FOLDER_TYPE_USER_APPOINTMENT => 'c',
|
||||
SYNC_FOLDER_TYPE_TASK => 'c',
|
||||
SYNC_FOLDER_TYPE_USER_TASK => 'c',
|
||||
SYNC_FOLDER_TYPE_CONTACT => 'd',
|
||||
SYNC_FOLDER_TYPE_USER_CONTACT => 'd',
|
||||
// No notes/journal store in Stalwart — let mail own the rest
|
||||
// so folder creation never lands on a DAV backend by surprise.
|
||||
// No contacts/notes/journal on EAS for now — let mail own
|
||||
// them so folder creation never lands somewhere surprising.
|
||||
SYNC_FOLDER_TYPE_CONTACT => 'i',
|
||||
SYNC_FOLDER_TYPE_USER_CONTACT => 'i',
|
||||
SYNC_FOLDER_TYPE_NOTE => 'i',
|
||||
SYNC_FOLDER_TYPE_USER_NOTE => 'i',
|
||||
SYNC_FOLDER_TYPE_JOURNAL => 'i',
|
||||
|
||||
Reference in New Issue
Block a user