Set the Archive role from ihasmail, rather than describing it
#220 corrected the message and left it useless: it told you a folder needs the Archive role on the server, which was true, and gave you nothing to do about it here. Roles were shown in Folders settings and never settable. Mailbox/set takes `role`. Confirmed live against 0.16.20 on 2026-09-02, as an ordinary user through the proxy, with no admin API: setting role "archive" on a folder that had none returned updated and the folder began working as the Archive immediately. Stalwart parses the role names in SpecialUse::parse, "archive" among them, refuses a second holder of a role, and refuses to move the role of Inbox, Junk or Trash. So the toast now carries the fix. "No Archive folder is set yet." with a Create one that makes the folder and then completes the archiving that could not happen -- rather than leaving someone to select the same messages again. A folder already named Archive and carrying no role is adopted rather than duplicated. That is the state #217 was reported from, and a second Archive beside the first would be its own confusion. One named Archive that is really the Sent folder is left alone: taking its role to fix archiving would break sending. Folders settings gains a Role column. Archive, Drafts and Sent are offered, being the roles this client's behaviour depends on and the server will move; Inbox, Junk and Trash show theirs and cannot change it, because 0.16.20 refuses. A role another folder holds is left out of the list rather than offered and refused, so freeing it is a deliberate two steps. The folder is created with the server's own name, never the localised one, for the reason renaming already writes back the server's: a German session must not create "Archiv" that an English one cannot find. Closes #217 properly.
This commit is contained in:
@@ -986,7 +986,14 @@ export const catalog: Catalog = {
|
||||
"New all-day event on {date}": "Neuer ganztägiger Termin am {date}",
|
||||
"New event at {time}": "Neuer Termin um {time}",
|
||||
"New identity": "Neue Absenderidentität",
|
||||
"No Archive folder is set. A folder needs the Archive role on the server; naming it “Archive” is not enough.": "Kein Archivordner festgelegt. Ein Ordner braucht auf dem Server die Rolle „Archive“; ihn so zu benennen genügt nicht.",
|
||||
"No Archive folder is set yet.": "Es ist noch kein Archivordner festgelegt.",
|
||||
"Create one": "Anlegen",
|
||||
"Could not set up an Archive folder: {error}": "Archivordner konnte nicht eingerichtet werden: {error}",
|
||||
"Role": "Rolle",
|
||||
"Drafts": "Entwürfe",
|
||||
"Sent": "Gesendet",
|
||||
"The server does not allow this role to be changed.": "Der Server lässt eine Änderung dieser Rolle nicht zu.",
|
||||
"Folder role updated": "Ordnerrolle aktualisiert",
|
||||
"No contacts yet": "Noch keine Kontakte",
|
||||
"No longer shared": "Nicht mehr freigegeben",
|
||||
"No matches": "Keine Treffer",
|
||||
|
||||
Reference in New Issue
Block a user