A folder could only be moved by dragging it, which is slow in a long list and isn't offered on touch screens. The folder menu now has Move to…, which opens the searchable picker that moving messages already uses, with a Top level row above the folders.
MailboxPicker gains optional allow (an extra per-folder test) and root (the top-level row). It works with search and the arrow keys. Moving messages is unchanged.
canMoveFolderTo in lib/folderMove.ts applies the drop rules plus mayRename on the moved folder and mayCreateChild on the destination. Both rights only refuse on shared mail.
The move goes through the existing moveFolder, so the toast and the expanded destination match a drop.
Menu item is disabled for role folders and folders without mayRename.
Translation: two new strings, "Move “{name}” to…" and "Top level", are in all nine catalogues (1438/1454 each, 16 falling back, same as main). No native review yet.
Checked: typecheck, 1218 tests (3 new in folderMove.test.ts), build, and i18n:check. Tried by hand against the mock.
Closes #355
A folder could only be moved by dragging it, which is slow in a long list and isn't offered on touch screens. The folder menu now has **Move to…**, which opens the searchable picker that moving messages already uses, with a **Top level** row above the folders.
- `MailboxPicker` gains optional `allow` (an extra per-folder test) and `root` (the top-level row). It works with search and the arrow keys. Moving messages is unchanged.
- `canMoveFolderTo` in `lib/folderMove.ts` applies the drop rules plus `mayRename` on the moved folder and `mayCreateChild` on the destination. Both rights only refuse on shared mail.
- The move goes through the existing `moveFolder`, so the toast and the expanded destination match a drop.
- Menu item is disabled for role folders and folders without `mayRename`.
**Translation:** two new strings, "Move “{name}” to…" and "Top level", are in all nine catalogues (1438/1454 each, 16 falling back, same as main). No native review yet.
**Checked:** typecheck, 1218 tests (3 new in `folderMove.test.ts`), build, and i18n:check. Tried by hand against the mock.
**Merged** 2026-09-15 as coffey-labs/ihasmail@b7356854168a
<sub>Rebuilt from: GH Archive, git history, session transcript.</sub>
This repo is archived. You cannot comment on issues.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #355
A folder could only be moved by dragging it, which is slow in a long list and isn't offered on touch screens. The folder menu now has Move to…, which opens the searchable picker that moving messages already uses, with a Top level row above the folders.
MailboxPickergains optionalallow(an extra per-folder test) androot(the top-level row). It works with search and the arrow keys. Moving messages is unchanged.canMoveFolderToinlib/folderMove.tsapplies the drop rules plusmayRenameon the moved folder andmayCreateChildon the destination. Both rights only refuse on shared mail.moveFolder, so the toast and the expanded destination match a drop.mayRename.Translation: two new strings, "Move “{name}” to…" and "Top level", are in all nine catalogues (1438/1454 each, 16 falling back, same as main). No native review yet.
Checked: typecheck, 1218 tests (3 new in
folderMove.test.ts), build, and i18n:check. Tried by hand against the mock.Merged 2026-09-15 as coffey-labs/ihasmail@b735685416
Rebuilt from: GH Archive, git history, session transcript.