From 953038833c815504d98c1f0309ce828def142742 Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 12 Oct 2026 12:45:00 +0200 Subject: [PATCH] Keep recorded accounts by their keys, and name them by place, never by name (ADR 0317 review) --- .../01-to-be/56-the-mail-client-set-up-by-the-mesh.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/03-DESIGN/01-to-be/56-the-mail-client-set-up-by-the-mesh.md b/03-DESIGN/01-to-be/56-the-mail-client-set-up-by-the-mesh.md index c6bc7388..3f9e8256 100644 --- a/03-DESIGN/01-to-be/56-the-mail-client-set-up-by-the-mesh.md +++ b/03-DESIGN/01-to-be/56-the-mail-client-set-up-by-the-mesh.md @@ -110,8 +110,9 @@ and per key the account, its identity, its incoming server and its outgoing serv stays in the profile. **An account the profile already holds is adopted, not added twice** (ADR 0317, changing ADR 0316 §11 and §12). -At every apply, each declared account is first matched by its address against the default identities of the -profile in use: +At every apply, an account the module recorded on that node, adopted or created, is kept by its recorded keys, +and an account under `mesh_` keys is always the module's creation, so a lost record is rebuilt as it was. +Every other declared account is matched by its address against the default identities of the profile in use: | the profile holds the address | the module | |---|---| @@ -123,7 +124,8 @@ The optional `key` is the one field ADR 0317 adds to an entry of `accounts`: the node, used only to settle an ambiguous match, and refused unless that key is in the list, has the declared address and is not Owl's. -An adopted account keeps its mail, its folder, filter and cache preferences, and its kept sign-in: the module +The module's status names each declared account by its place in the setting and its keys, never by an address, +a host or a name. An adopted account keeps its mail, its folder, filter and cache preferences, and its kept sign-in: the module writes only the fields the setting names. When it leaves the setting, its keys are released: dropped from the user.js and the record, the account left in the profile as the person's. Only an account the module created is removed from the list.