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
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
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
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
d98132b8e1
fix: close every composer the same way, keeping the draft with Draft saved and Discard
...
X, Escape, clicking another message and Escape in a pop-out window
now all save the draft and close, with a "Draft saved" toast that has
Discard (with Undo). The Save or discard question shows only when that
save fails. A Reply or Forward closed before the user changed anything
leaves no draft. Undo send being on by default no longer asks "Send
without a delay?" on servers without delayed sending; only a delay the
user picked does.
Changed test assertions: the close-guard, priority, account-switch,
threading, sign-out, mention, draft-attachments, discard-uploads and
save-pending-attachments tests reached saving or discarding through the
Save or discard dialog on close, which now only appears after a failed
save. They now close directly, or use the Discard button, or check the
failed-save question. The send-delay test marks its delay as chosen.
2026-11-04 08:22:56 +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
8570f678e2
Merge branch 'feat/do-ux-compose-windows' into feat/do-ux-compose-fixes
...
# Conflicts:
# components/email/email-composer.tsx
2026-11-04 07:42:11 +01:00
Linus Rath
17bf3c4e6f
Merge branch 'feat/do-ux-compose-send' into feat/do-ux-compose-fixes
2026-11-04 07:41:26 +01:00
Linus Rath
48df0db1af
feat: list To and Cc in the header of a forwarded message
2026-11-04 07:34:29 +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
e6f8c7a241
fix: show who a quick reply goes to and offer the full editor by name
...
The quick reply tests find the box by its new placeholder key, which
names the recipients instead of "Write a quick reply...".
2026-11-04 07:25:05 +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
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
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
781013cc44
feat: close the composer as soon as Send is pressed and show Sending, then Sent with View
2026-11-04 06:41:51 +01:00
Linus Rath
4ec1c128f6
fix: warn about template fill-ins like [Name] before sending
...
A lone capitalised word in brackets now counts as a fill-in, so two
cases of ordinary text changed: the cross-language case uses lowercase
"[votre] [ваше]", and the broken word-list case uses "[Your name]", so
both still test what they were written for.
2026-11-04 06:36:09 +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
80321e21a2
fix: explain replying from the received address in plain words
...
The admin-locks test finds the row by its label key, which moved to the
compose_words namespace with the new description.
2026-11-04 06:26:28 +01:00
Linus Rath
461a7daf4f
feat: let a composer move to its own window from a browser tab, as in Gmail
2026-11-04 06:24:26 +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
b425f4b211
feat: turn undo send on by default with 5 seconds
...
The policy-defaults test now expects the new build default of 5 seconds
for an invalid admin value, and the settings-search tests look for the
row under its new label "Undo send".
2026-11-04 06:18:29 +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
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
Linus Rath
53eb91ab0e
fix: keep the message details panel readable in a narrow reader, with addresses, dates and sign-in results that fit
2026-11-04 05:58:47 +01:00
Linus Rath
1cf03ff0e4
feat: add a developer tools switch to the desktop app's troubleshooting settings
2026-11-04 05:38:59 +01:00
Linus Rath
1f4b0669ca
feat: ask between a new message and Files for a file opened with the desktop app
2026-11-04 05:38:43 +01:00
Linus Rath
e211ae905e
feat: offer attach or upload when files are dragged onto any screen
...
Files dragged into the window from outside now bring up a full-window
overlay with large drop zones: attach to a new message and upload to
Files, with the open composer first, "Upload to <folder>" on the Files
screen, and add to calendar, add to contacts, open or import for .ics,
.vcf and .eml files. At most four zones, the one under the pointer
highlights, Esc or dragging out cancels, a drop beside the zones does
nothing. Drags that start in the app never show it. A file pasted
outside a text field gets the same choices as a keyboard dialog.
The desktop app used to turn any file dropped on the window into a new
draft (lib/desktop/window-files.ts). That handling moved to the
overlay, so the "files on the window" tests in os-window.test.tsx went
with it: the same cases are now in components/file-drop/__tests__.
2026-11-04 05:37:35 +01:00
Linus Rath
4508eddccb
fix: keep a tall menu under its button and scroll it, instead of covering the button
2026-11-04 05:35:57 +01:00
Linus Rath
e74d2aaa72
fix: keep the app's own buttons out from under the window's controls and move a pane's close away from the window's
2026-11-04 05:27:57 +01:00
Linus Rath
0f3d534246
test: give the app lock's tests time for two PBKDF2 runs on a busy machine
2026-11-04 05:24:11 +01:00