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.