Linus Rath
b7686552a3
fix: translate File > Unlock in the desktop app's menus
2026-11-04 12:43:18 +01:00
Linus Rath
98f814fced
fix: open a mail link from another program from the default account with no question, and drop "protocol link" from the account picker
2026-11-04 12:42:30 +01:00
Linus Rath
03ea1ab1aa
fix: open files sent from Explorer's Send to and Open with in a compose window, leaving the main window where it is
2026-11-04 12:32:54 +01:00
Linus Rath
df62335545
feat: name the desktop app's windows in the Window menu by folder and account, subject or New message
2026-11-04 12:25:33 +01:00
Linus Rath
5e34dc59ab
fix: name keys in the app's language in menus, hints and the shortcut help (Strg, Umschalt, Entf in German)
2026-11-04 12:09:08 +01:00
Linus Rath
a2edb10e93
docs: list Ctrl+F for Forward in the desktop app's shortcut help
2026-11-04 12:04:15 +01:00
Linus Rath
c50726a15a
fix: run Message > Move to… on every selected message, and offer no Reply or Forward with several selected
2026-11-04 11:51:45 +01:00
Linus Rath
4e662d8a60
fix: give "Show the app" a key the composer doesn't use, and refuse the app's own keys for global shortcuts
2026-11-04 11:29:34 +01:00
Linus Rath
b17f36d7ba
fix: show the tray's next event in the app's time format
2026-11-04 11:26:58 +01:00
Linus Rath
3f4a1365f8
fix: keep the window's buttons clear of the app's after a maximise, restore, snap or resize
2026-11-04 11:11:36 +01:00
Linus Rath
fadef1aee6
Merge branch 'feat/do-ux-compose-fixes' into feat/desktop-offline
2026-11-04 10:04:56 +01:00
Linus Rath
a1673dd77a
Merge branch 'feat/desktop-offline' into feat/do-ux-compose-fixes
2026-11-04 09:59:11 +01:00
Linus Rath
a2559713e9
test: compare the plugin kit's text area with the signature editor it now copies
2026-11-04 09:55:40 +01:00
Linus Rath
989385f4f6
Merge branch 'feat/desktop-offline' into feat/do-ux-compose-fixes
...
# Conflicts:
# components/email/email-viewer.tsx
# components/settings/accessibility-settings.tsx
# lib/__tests__/settings-search.test.ts
# lib/settings-search.ts
2026-11-04 09:54:25 +01:00
Linus Rath
aa62855759
Merge branch 'feat/do-ux-settings-fixes' into feat/desktop-offline
...
# Conflicts:
# components/layout/__tests__/account-switcher-mountain-view.test.tsx
# components/layout/account-switcher.tsx
# components/settings/accessibility-settings.tsx
# components/settings/reading-settings.tsx
2026-11-04 09:44:51 +01:00
Linus Rath
d91b8a879c
fix: say Draft saved on Ctrl+S also when autosave already had everything
...
The shortcut help test now counts two Ctrl + K entries (command palette and Insert link), and the Cc/Bcc key test waits for the To field's opening focus first.
2026-11-04 09:42:40 +01:00
Linus Rath
81d017b2df
Merge branch 'feat/do-ux-mail-fixes' into feat/desktop-offline
2026-11-04 09:24:33 +01:00
Linus Rath
c2d7addbd7
fix: point the Alt menu bar's submenu arrows the right way in right-to-left languages
2026-11-04 09:24:29 +01:00
Linus Rath
4a764150b2
Merge branch 'feat/desktop-offline' into feat/do-ux-settings-fixes
2026-11-04 09:22:44 +01:00
Linus Rath
b97eba59c1
test: give the next-intl mock the locale the Move list now reads
2026-11-04 09:21:35 +01:00
Linus Rath
ceaceb7f2a
Merge branch 'feat/desktop-offline' into feat/do-ux-compose-fixes
...
# Conflicts:
# components/email/email-composer.tsx
# components/email/email-viewer.tsx
# locales/ar/common.json
# locales/ca/common.json
# locales/cs/common.json
# locales/da/common.json
# locales/de/common.json
# locales/en/common.json
# locales/es/common.json
# locales/et/common.json
# locales/fa/common.json
# locales/fr/common.json
# locales/he/common.json
# locales/hu/common.json
# locales/it/common.json
# locales/ja/common.json
# locales/ko/common.json
# locales/lv/common.json
# locales/mn/common.json
# locales/nb/common.json
# locales/nl/common.json
# locales/pl/common.json
# locales/pt/common.json
# locales/ro/common.json
# locales/ru/common.json
# locales/sk/common.json
# locales/th/common.json
# locales/tr/common.json
# locales/uk/common.json
# locales/vi/common.json
# locales/zh-TW/common.json
# locales/zh/common.json
2026-11-04 09:20:50 +01:00
Linus Rath
adbbfe8149
test: give the welcome banner mock the due hook the notice bar now reads
2026-11-04 09:18:32 +01:00
Linus Rath
56e833fe6a
fix: use the filterable Move list on the selection bar
2026-11-04 09:18:32 +01:00
Linus Rath
f1266889ed
fix: list To and Cc in the header of a message forwarded from the reader
2026-11-04 09:15:42 +01:00
Linus Rath
a0dca05585
test: keep single letters out of the composer's shortcut list
2026-11-04 09:13:46 +01:00
Linus Rath
2ca4946c6e
feat: add Ctrl+K for a link, Ctrl+S to save the draft and Ctrl+Shift+C or B for Cc and Bcc in the composer
2026-11-04 09:13:05 +01:00
Linus Rath
fcc9fc0cc0
Merge branch 'feat/desktop-offline' into feat/do-ux-mail-fixes
...
# Conflicts:
# components/email/email-viewer.tsx
# components/mail/mail-app.tsx
# components/offline/offline-host.tsx
# components/ui/welcome-banner.tsx
# locales/ar/common.json
# locales/ca/common.json
# locales/cs/common.json
# locales/da/common.json
# locales/de/common.json
# locales/en/common.json
# locales/es/common.json
# locales/et/common.json
# locales/fa/common.json
# locales/fr/common.json
# locales/he/common.json
# locales/hu/common.json
# locales/it/common.json
# locales/ja/common.json
# locales/ko/common.json
# locales/lv/common.json
# locales/mn/common.json
# locales/nb/common.json
# locales/nl/common.json
# locales/pl/common.json
# locales/pt/common.json
# locales/ro/common.json
# locales/ru/common.json
# locales/sk/common.json
# locales/th/common.json
# locales/tr/common.json
# locales/uk/common.json
# locales/vi/common.json
# locales/zh-TW/common.json
# locales/zh/common.json
2026-11-04 09:11:09 +01:00
Linus Rath
9df9505da0
test: look for the archive toast by its new wording in the undo reopen test
2026-11-04 09:09:18 +01:00
Linus Rath
2094cca388
fix: leave an emptied out-of-office message box empty instead of showing sample text
2026-11-04 09:08:30 +01:00
Linus Rath
a53e7fab3a
Merge branch 'feat/do-ux-mail-layout' into feat/do-ux-mail-fixes
2026-11-04 09:08:21 +01:00
Linus Rath
b509ce067f
fix: move Use a sub-address and Edit sender into the From list instead of buttons on every message
...
The custom From gate tests now look for the Edit sender entry in the From list instead of the Override button.
2026-11-04 09:08:17 +01:00
Linus Rath
76c0bd1d41
test: save a subject-less draft by closing, as closing now saves without asking
2026-11-04 09:08:09 +01:00
Linus Rath
044647ff34
fix: keep the desktop layout in a half-screen window and at 150 % zoom
...
A window snapped to half the screen (640-800 px) or a 1366x768 laptop
at 150 % (911 px) got the phone and tablet layout: bottom tab bar,
folders in a drawer, Settings as a phone list with a Back arrow. The
layout switched at the 64rem (1024 px) breakpoint.
Now the phone layout starts below 600 px. From 600 to 1024 px the app
is a compact desktop: app rail at the side, folder sidebar folded to
its icons (the existing collapsed state, opened per session with its
toggle), Settings with its two panes and a narrower page list. Below
840 px the split layout opens a message in the list's place, as the
focused layout does. This holds in the browser and the desktop app,
in the Pro shell (which now runs from 600 px) and under Mountain View.
- `hooks/use-media-query.ts`: classifyWidth, PHONE_BELOW 600,
FULL_DESKTOP 1024; the tablet class (`isTablet`) is gone, the store
has `isCompact` instead. Plugins still see "tablet" for it.
- `app/globals.css`: a `desk:` breakpoint at 37.5rem for the layout
classes, and a `tap:` variant for 44px rows on phones and touch
screens below 1024 px (was every window below 1024 px).
- Touch screens below 1024 px keep swiping list rows (was phones only).
- The boot skeletons, boot script, mail app, sidebar, reader, admin
shell and calendar, contacts and files follow the new widths.
Tests changed with the behaviour: the tablet cases in pro-gate,
mail-app-mv-composer-move, mail-app-compose-handoff,
mail-app-thread-expand-mark-read, mobile-tour-end and
thread-list-item-columns now run on a phone or a compact desktop, as
those widths no longer exist as a tablet. mail-app-short-window-tab-bar
is replaced by mail-app-compact-layout: a phone on its side is a
compact desktop with the rail at the side, so the short-window tab bar
rule is gone. Class and media-query assertions follow desk:/tap: and
37.5rem; the 32px-text test uses 1100 px, since 1440 px at 32px is now
a compact desktop.
2026-11-04 09:07:06 +01:00
Linus Rath
dfed23e382
fix: keep developer tools off when the forced policy value can't be read
2026-11-04 09:06:38 +01:00
Linus Rath
2b2b7b8298
fix: show every attachment in the composer, with type icons and a total, failed and uploading files first
...
The attachment list test now expects every chip and a bounded, scrolling row instead of three chips and a +N counter.
2026-11-04 09:01:04 +01:00
Linus Rath
dcb505aac1
fix: find calendar subscriptions and mail app server settings in settings search
2026-11-04 08:46:34 +01:00
Linus Rath
0ba96ae79f
refactor: name the plugin turn-on callback so the native dialog guard passes
2026-11-04 08:45:25 +01:00
Linus Rath
d70c7201fa
fix: find the contact list section in settings search
...
The 2fa and two-factor search tests now expect the row's new name, Two-step sign-in, since the security row was renamed.
2026-11-04 08:45:24 +01:00
Linus Rath
b732acbcdb
fix: give every settings row its own name
2026-11-04 08:45:23 +01:00
Linus Rath
69ec26fe33
fix: remove a recipient whole on the second Backspace instead of turning it into text
...
The mention test's Backspace check now expects the chip to be selected, not put back into the field as text.
2026-11-04 08:43:29 +01:00
Linus Rath
1fdfffad45
fix: read the send hook count safely in the composer's Options menu
2026-11-04 08:42:39 +01:00
Linus Rath
3841bdd630
Merge branch 'feat/do-drop-overlay' into feat/desktop-offline
...
# Conflicts:
# desktop-policies/de-DE/Bulwark.adml
# desktop-policies/en-US/Bulwark.adml
2026-11-04 08:37:26 +01:00
Linus Rath
59aea3babe
Merge branch 'feat/do-menu-fixes' into feat/desktop-offline
2026-11-04 08:36:35 +01:00
Linus Rath
472ee53d88
fix: insert pasted and dropped images without a dialog, with an optional Add description chip
...
The image description tests now open the dialog from the chip on the image, since a drop no longer opens it by itself.
2026-11-04 08:36:25 +01:00
Linus Rath
91b237330e
Merge branch 'feat/desktop-offline' into feat/do-ux-settings-fixes
...
# Conflicts:
# components/settings/desktop-os-settings.tsx
# components/settings/notification-settings.tsx
# components/settings/protocol-handler-settings.tsx
2026-11-04 08:35:53 +01:00
Linus Rath
217e04bb31
Merge branch 'feat/do-uxs-wording' into feat/do-ux-settings-fixes
2026-11-04 08:35:00 +01:00
Linus Rath
d0c86a4fce
Merge branch 'feat/do-uxs-folders' into feat/do-ux-settings-fixes
2026-11-04 08:34:58 +01:00
Linus Rath
ceaa81cd9e
Merge branch 'feat/do-uxs-plugins' into feat/do-ux-settings-fixes
2026-11-04 08:34:57 +01:00
Linus Rath
e2236ea476
Merge branch 'feat/do-uxs-general' into feat/do-ux-settings-fixes
...
# Conflicts:
# components/settings/__tests__/settings-search-anchors.test.tsx
# components/settings/accessibility-settings.tsx
# lib/settings-search.ts
2026-11-04 08:34:25 +01:00
Linus Rath
adbab2e4aa
Merge branch 'feat/do-uxs-structure' into feat/do-ux-settings-fixes
...
# Conflicts:
# lib/settings-search.ts
2026-11-04 08:33:26 +01:00