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",
|
||||
|
||||
@@ -959,7 +959,14 @@ export const catalog: Catalog = {
|
||||
"New all-day event on {date}": "Nuevo evento de todo el día el {date}",
|
||||
"New event at {time}": "Nuevo evento a las {time}",
|
||||
"New identity": "Nueva identidad",
|
||||
"No Archive folder is set. A folder needs the Archive role on the server; naming it “Archive” is not enough.": "No hay carpeta de archivo definida. Una carpeta necesita el rol «Archive» en el servidor; no basta con llamarla así.",
|
||||
"No Archive folder is set yet.": "Aún no hay ninguna carpeta de archivo definida.",
|
||||
"Create one": "Crear una",
|
||||
"Could not set up an Archive folder: {error}": "No se pudo configurar una carpeta de archivo: {error}",
|
||||
"Role": "Rol",
|
||||
"Drafts": "Borradores",
|
||||
"Sent": "Enviados",
|
||||
"The server does not allow this role to be changed.": "El servidor no permite cambiar este rol.",
|
||||
"Folder role updated": "Rol de la carpeta actualizado",
|
||||
"No contacts yet": "Aún no hay contactos",
|
||||
"No longer shared": "Ya no está compartido",
|
||||
"No matches": "Sin coincidencias",
|
||||
|
||||
@@ -964,7 +964,14 @@ export const catalog: Catalog = {
|
||||
"New all-day event on {date}": "Nouvel événement sur la journée du {date}",
|
||||
"New event at {time}": "Nouvel événement à {time}",
|
||||
"New identity": "Nouvelle identité",
|
||||
"No Archive folder is set. A folder needs the Archive role on the server; naming it “Archive” is not enough.": "Aucun dossier d’archive défini. Un dossier doit avoir le rôle « Archive » sur le serveur ; le nommer ainsi ne suffit pas.",
|
||||
"No Archive folder is set yet.": "Aucun dossier d’archive n’est encore défini.",
|
||||
"Create one": "En créer un",
|
||||
"Could not set up an Archive folder: {error}": "Impossible de configurer un dossier d’archive : {error}",
|
||||
"Role": "Rôle",
|
||||
"Drafts": "Brouillons",
|
||||
"Sent": "Envoyés",
|
||||
"The server does not allow this role to be changed.": "Le serveur n’autorise pas la modification de ce rôle.",
|
||||
"Folder role updated": "Rôle du dossier mis à jour",
|
||||
"No contacts yet": "Pas encore de contacts",
|
||||
"No longer shared": "N’est plus partagé",
|
||||
"No matches": "Aucune correspondance",
|
||||
|
||||
@@ -967,7 +967,14 @@ export const catalog: Catalog = {
|
||||
"New all-day event on {date}": "{date} に終日の予定を作成",
|
||||
"New event at {time}": "{time} に予定を作成",
|
||||
"New identity": "新しい差出人",
|
||||
"No Archive folder is set. A folder needs the Archive role on the server; naming it “Archive” is not enough.": "アーカイブフォルダーが設定されていません。サーバーでフォルダーに「Archive」ロールが必要です。名前をそうするだけでは不十分です。",
|
||||
"No Archive folder is set yet.": "アーカイブフォルダーがまだ設定されていません。",
|
||||
"Create one": "作成する",
|
||||
"Could not set up an Archive folder: {error}": "アーカイブフォルダーを設定できませんでした: {error}",
|
||||
"Role": "ロール",
|
||||
"Drafts": "下書き",
|
||||
"Sent": "送信済み",
|
||||
"The server does not allow this role to be changed.": "サーバーはこのロールの変更を許可していません。",
|
||||
"Folder role updated": "フォルダーのロールを更新しました",
|
||||
"No contacts yet": "連絡先がまだありません",
|
||||
"No longer shared": "共有を解除しました",
|
||||
"No matches": "一致するものがありません",
|
||||
|
||||
@@ -955,7 +955,14 @@ export const catalog: Catalog = {
|
||||
"New all-day event on {date}": "Nieuwe hele dag durende afspraak op {date}",
|
||||
"New event at {time}": "Nieuwe afspraak om {time}",
|
||||
"New identity": "Nieuwe afzender",
|
||||
"No Archive folder is set. A folder needs the Archive role on the server; naming it “Archive” is not enough.": "Geen archiefmap ingesteld. Een map heeft op de server de rol ‘Archive’ nodig; die naam geven is niet genoeg.",
|
||||
"No Archive folder is set yet.": "Er is nog geen archiefmap ingesteld.",
|
||||
"Create one": "Er een maken",
|
||||
"Could not set up an Archive folder: {error}": "Kon geen archiefmap instellen: {error}",
|
||||
"Role": "Rol",
|
||||
"Drafts": "Concepten",
|
||||
"Sent": "Verzonden",
|
||||
"The server does not allow this role to be changed.": "De server staat niet toe deze rol te wijzigen.",
|
||||
"Folder role updated": "Maprol bijgewerkt",
|
||||
"No contacts yet": "Nog geen contacten",
|
||||
"No longer shared": "Niet langer gedeeld",
|
||||
"No matches": "Geen overeenkomsten",
|
||||
|
||||
@@ -962,7 +962,14 @@ export const catalog: Catalog = {
|
||||
"New all-day event on {date}": "Novo evento de dia inteiro em {date}",
|
||||
"New event at {time}": "Novo evento às {time}",
|
||||
"New identity": "Nova identidade",
|
||||
"No Archive folder is set. A folder needs the Archive role on the server; naming it “Archive” is not enough.": "Nenhuma pasta de arquivamento definida. Uma pasta precisa da função “Archive” no servidor; nomeá-la assim não basta.",
|
||||
"No Archive folder is set yet.": "Ainda não há uma pasta de arquivamento definida.",
|
||||
"Create one": "Criar uma",
|
||||
"Could not set up an Archive folder: {error}": "Não foi possível configurar uma pasta de arquivamento: {error}",
|
||||
"Role": "Função",
|
||||
"Drafts": "Rascunhos",
|
||||
"Sent": "Enviados",
|
||||
"The server does not allow this role to be changed.": "O servidor não permite alterar esta função.",
|
||||
"Folder role updated": "Função da pasta atualizada",
|
||||
"No contacts yet": "Ainda não há contatos",
|
||||
"No longer shared": "Não está mais compartilhado",
|
||||
"No matches": "Nenhuma correspondência",
|
||||
|
||||
@@ -961,7 +961,14 @@ export const catalog: Catalog = {
|
||||
"New all-day event on {date}": "Новое событие на весь день {date}",
|
||||
"New event at {time}": "Новое событие в {time}",
|
||||
"New identity": "Новый профиль отправителя",
|
||||
"No Archive folder is set. A folder needs the Archive role on the server; naming it “Archive” is not enough.": "Папка архива не задана. На сервере папке нужна роль «Archive»; просто назвать её так недостаточно.",
|
||||
"No Archive folder is set yet.": "Папка архива ещё не задана.",
|
||||
"Create one": "Создать",
|
||||
"Could not set up an Archive folder: {error}": "Не удалось настроить папку архива: {error}",
|
||||
"Role": "Роль",
|
||||
"Drafts": "Черновики",
|
||||
"Sent": "Отправленные",
|
||||
"The server does not allow this role to be changed.": "Сервер не позволяет изменить эту роль.",
|
||||
"Folder role updated": "Роль папки обновлена",
|
||||
"No contacts yet": "Контактов пока нет",
|
||||
"No longer shared": "Общий доступ прекращён",
|
||||
"No matches": "Совпадений нет",
|
||||
|
||||
@@ -955,7 +955,14 @@ export const catalog: Catalog = {
|
||||
"New all-day event on {date}": "Нова подія на весь день {date}",
|
||||
"New event at {time}": "Нова подія о {time}",
|
||||
"New identity": "Новий профіль відправника",
|
||||
"No Archive folder is set. A folder needs the Archive role on the server; naming it “Archive” is not enough.": "Теку архіву не задано. На сервері теці потрібна роль «Archive»; просто назвати її так недостатньо.",
|
||||
"No Archive folder is set yet.": "Теку архіву ще не задано.",
|
||||
"Create one": "Створити",
|
||||
"Could not set up an Archive folder: {error}": "Не вдалося налаштувати теку архіву: {error}",
|
||||
"Role": "Роль",
|
||||
"Drafts": "Чернетки",
|
||||
"Sent": "Надіслані",
|
||||
"The server does not allow this role to be changed.": "Сервер не дозволяє змінити цю роль.",
|
||||
"Folder role updated": "Роль теки оновлено",
|
||||
"No contacts yet": "Контактів ще немає",
|
||||
"No longer shared": "Спільний доступ припинено",
|
||||
"No matches": "Збігів немає",
|
||||
|
||||
@@ -966,7 +966,14 @@ export const catalog: Catalog = {
|
||||
"New all-day event on {date}": "在 {date} 新建全天日程",
|
||||
"New event at {time}": "在 {time} 新建日程",
|
||||
"New identity": "新建发件身份",
|
||||
"No Archive folder is set. A folder needs the Archive role on the server; naming it “Archive” is not enough.": "未设置归档文件夹。文件夹需要在服务器上具有「Archive」角色,仅命名为此并不够。",
|
||||
"No Archive folder is set yet.": "尚未设置归档文件夹。",
|
||||
"Create one": "创建一个",
|
||||
"Could not set up an Archive folder: {error}": "无法设置归档文件夹:{error}",
|
||||
"Role": "角色",
|
||||
"Drafts": "草稿",
|
||||
"Sent": "已发送",
|
||||
"The server does not allow this role to be changed.": "服务器不允许更改此角色。",
|
||||
"Folder role updated": "已更新文件夹角色",
|
||||
"No contacts yet": "还没有联系人",
|
||||
"No longer shared": "已停止共享",
|
||||
"No matches": "没有匹配项",
|
||||
|
||||
Reference in New Issue
Block a user