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
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
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
2f31b435a2
Merge branch 'feat/desktop-offline' into feat/do-menu-fixes
...
# Conflicts:
# components/desktop/desktop-host.tsx
2026-11-04 07:57:50 +01:00
Linus Rath
de09da137b
Merge branch 'feat/do-menu-winctl' into feat/do-menu-fixes
2026-11-04 07:50:16 +01:00
Linus Rath
1c26d9040f
Merge branch 'feat/do-ux-desktop-fixes' into feat/desktop-offline
2026-11-04 07:31:33 +01:00
Linus Rath
1e51ff6e69
Merge branch 'feat/do-ux-mail-conv' into feat/do-ux-mail-fixes
...
# Conflicts:
# components/mail/mail-app.tsx
2026-11-04 07:24:19 +01:00
Linus Rath
d2f1e4bcc9
Merge branch 'feat/do-ux-mail-keys' into feat/do-ux-mail-fixes
2026-11-04 07:23:33 +01:00
Linus Rath
c48d51d1b0
Merge branch 'feat/do-ux-mail-toolbar' into feat/do-ux-mail-fixes
2026-11-04 07:23:31 +01:00
Linus Rath
efa875ccc7
Merge branch 'feat/do-ux-mail-accounts' into feat/do-ux-mail-fixes
...
# Conflicts:
# components/email/email-list.tsx
2026-11-04 07:23:30 +01:00
Linus Rath
5fbc9b1f47
feat: open a mail link from another program in a compose window of its own in the desktop app
2026-11-04 07:12:06 +01:00
Linus Rath
b8646eefc4
Merge branch 'feat/desktop-offline' into feat/do-menu-fixes
2026-11-04 07:11:07 +01:00
Linus Rath
021712d55e
Merge branch 'feat/do-menu-pos' into feat/do-menu-fixes
2026-11-04 07:09:17 +01:00
Linus Rath
a19bdefdc1
feat: open the next message after archive or delete when the list is beside the reader
2026-11-04 07:08:31 +01:00
Linus Rath
2fcb7cd544
fix: print an invitation with its date, time, place and organiser
2026-11-04 07:05:31 +01:00
Linus Rath
e29a6553e6
fix: keep notices and the offline bar clear of the window's controls, give each a close, and put a pane's close first where it would sit beside the window's
2026-11-04 07:02:53 +01:00
Linus Rath
fe8fff338e
fix: let j and k go on from the last opened message after Escape
2026-11-04 07:02:23 +01:00
Linus Rath
f8a803ad44
fix: keep the composer's toolbar menus on screen in a short window
2026-11-04 07:00:58 +01:00
Linus Rath
e8d8486b85
fix: cut a row's right-click menu to the usual actions, with Restore in Trash and read and unread for mixed selections
2026-11-04 07:00:54 +01:00
Linus Rath
0746679475
feat: reply with Ctrl+R, mark read with Ctrl+Q and search with Ctrl+E in the desktop app, as in Outlook
2026-11-04 07:00:38 +01:00
Linus Rath
5c2d306964
feat: add New event, New task, New contact, Import mail and the composer's Send, Save draft and Attach files to the desktop menus
2026-11-04 06:59:09 +01:00
Linus Rath
0729f05aeb
feat: name the account the tray's unread list is from when several are signed in
2026-11-04 06:56:31 +01:00
Linus Rath
13272ad85d
fix: move the taskbar flash and quiet hours to Settings > Notifications
...
The macOS bounce test renders the Notifications part, where the setting now is.
2026-11-04 06:56:28 +01:00
Linus Rath
a28617cbbb
fix: say a connection is needed only when offline or the server is down, not at a start while online
2026-11-04 06:56:24 +01:00
Linus Rath
0202803e77
fix: name system folders as the sidebar does in search result chips, the folder menu and the Spam banner
2026-11-04 06:53:17 +01:00
Linus Rath
4c5f3d8f29
feat: suggest senders of the mail on screen while typing a search
2026-11-04 06:43:05 +01:00
Linus Rath
2f108b08fa
fix: show dates from earlier this year as day and month in mail lists and search results
...
The formatter cache test expected the numeric date for every older mail; earlier this year it now reads "Oct 24" unless a date order is picked in the region settings, so the test expects that for those dates.
2026-11-04 06:42:51 +01:00
Linus Rath
e67705add0
fix: show in the message list when mail arrived, the order it is sorted in
2026-11-04 06:42:43 +01:00
Linus Rath
4224149ab5
feat: move Compose to the top of the folder sidebar on desktop and keep one account switcher and one list menu
...
Two mail-app tests clicked the round Compose button on a desktop; their
mocked sidebar now draws the Compose button the real one has there.
2026-11-04 06:39:16 +01:00
Linus Rath
c721c737b7
fix: list the all-accounts badge setting in settings search only with several accounts
2026-11-04 06:38:53 +01:00
Linus Rath
f828b6dffe
fix: show Not spam in Spam and Restore and Delete forever in Trash on the reader toolbar
2026-11-04 06:37:20 +01:00
Linus Rath
e9931e28f8
fix: drop the reader toolbar's labels before its buttons and keep Reply, Forward, Archive, Delete and Move
...
The toolbar measure test counted only item width reads; a pass that fits now reads no item widths, so it counts the toolbar's own scrollWidth reads too.
2026-11-04 06:34:28 +01:00
Linus Rath
749f2e938e
feat: put pictures dropped on an open composer into the message text
2026-11-04 06:32:19 +01:00
Linus Rath
141748e1d6
fix: show first-start notices one at a time above the message list, each with a close button
...
The dictionary test now reads the notice queue instead of the toasts: the
question is no longer a toast.
2026-11-04 06:29:23 +01:00
Linus Rath
0823a531fa
feat: search mail for selected text from the desktop app's right-click menu
2026-11-04 06:21:06 +01:00
Linus Rath
acb827bf18
feat: add copy, write, add to contacts and find mail to the right-click on an address in a message
2026-11-04 06:21:03 +01:00
Linus Rath
2f46eb6b46
Merge branch 'feat/do-menu-fixes' into feat/do-drop-overlay
2026-11-04 06:20:02 +01:00
Linus Rath
a80c44b776
Merge branch 'feat/desktop-offline' into feat/do-drop-overlay
2026-11-04 06:19:39 +01:00
Linus Rath
277e1aa55d
Merge branch 'feat/do-menu-altbar' into feat/do-menu-fixes
2026-11-04 06:19:29 +01:00
Linus Rath
5fc87eafbd
Merge branch 'feat/do-menu-audit' into feat/do-menu-fixes
...
# Conflicts:
# components/email/email-context-menu.tsx
# components/mail/mail-app.tsx
2026-11-04 06:19:07 +01:00
Linus Rath
8bcf5248a4
fix: translate Lock now in the desktop File menu
2026-11-04 06:17:12 +01:00
Linus Rath
f7c6f6b7b1
Merge branch 'feat/do-menu-overflow' into feat/do-menu-fixes
2026-11-04 06:12:13 +01:00
Linus Rath
daf67152eb
Merge branch 'feat/do-menu-winctl' into feat/do-menu-fixes
2026-11-04 06:12:10 +01:00
Linus Rath
6efa589448
Merge branch 'feat/do-menu-pos' into feat/do-menu-fixes
2026-11-04 06:12:08 +01:00
Linus Rath
9ce7ac8172
feat: show unread per account in the switcher and count every account on the app badge and tray
...
The default layout's switcher listed accounts without their unread, so an
existing test asserted that (account-switcher-mountain-view, 'unread-free');
it now expects each account's count. The idle-outside-Pro hook test now
uses one account, since a second connected account loads in every layout.
2026-11-04 06:06:37 +01:00
Linus Rath
cd3005e036
fix: offer undo in the main window after archiving or deleting in a message window
2026-11-04 06:03:07 +01:00
Linus Rath
ec4fd9c529
fix: keep mail shortcuts working after a click into an HTML message
2026-11-04 06:03:05 +01:00
Linus Rath
adac86f089
Merge branch 'feat/desktop-offline' into feat/do-policy-fixes
2026-11-04 06:00:30 +01:00
Linus Rath
6d3d7707a3
fix: let a page see the forced server it runs on, and only that
2026-11-04 06:00:28 +01:00