From 1d63dfe25e33b7f09a990742bffdc3382394caa0 Mon Sep 17 00:00:00 2001 From: John Coffey Date: Wed, 30 Sep 2026 12:46:38 -0700 Subject: [PATCH] export: a dry run no longer claims the default address book When export created a default address book, it went on to send AddressBook/set with onSuccessSetIsDefault -- in a dry run too, naming the dry run's made-up id. A dry run writes nothing; the claim is now only counted as planned. --- src/sync/export/flat.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/sync/export/flat.rs b/src/sync/export/flat.rs index 673fe83..7f4498c 100644 --- a/src/sync/export/flat.rs +++ b/src/sync/export/flat.rs @@ -1,5 +1,6 @@ /* * SPDX-FileCopyrightText: 2020 Stalwart Labs LLC + * SPDX-FileCopyrightText: 2026 John Coffey * * SPDX-License-Identifier: Apache-2.0 OR MIT */ @@ -108,6 +109,10 @@ pub fn reconcile( ty.jmap_name(), id )); + } else if net.dry_run { + // The object only exists in the plan; claiming the + // default would be a write. + default_claimed = true; } else { let mut req = crate::jmap::request::Request::new(); req.call(