Commit Graph
2924 Commits
Author SHA1 Message Date
Linus Rath 48d615ee15 Merge remote-tracking branch 'origin/main' into feat/do-ci-fix 2026-11-04 15:22:18 +01:00
Linus Rath c87c11734b feat: add a setting to keep the account switcher at the top of the sidebar, on by default 2026-11-04 15:19:11 +01:00
Linus Rath 9de69b4789 test: read the phone conversation oldest first in the plugin and read hook tests, since the phone now shows it that way 2026-11-04 15:16:40 +01:00
Linus Rath e7098110a5 test: discard drafts without a question and once Undo is over, and take onSend's second argument, since the bin and Undo send changed 2026-11-04 15:16:39 +01:00
Linus Rath cd584585ed test: expect Sign out in the command palette to name the open account, since it now says which account it leaves 2026-11-04 15:16:38 +01:00
Linus Rath d278bd5a77 fix: show the preview on its own line again at the regular density 2026-11-04 14:59:26 +01:00
Linus Rath f7ffdcdf6a test: check a pop-out's discarded draft is deleted when the page goes away 2026-11-04 14:02:27 +01:00
Linus Rath 1b7b689662 Merge branch 'feat/desktop-offline' into feat/do-ux-p2-mail-fix
# Conflicts:
#	components/ui/first-start-notice.tsx
2026-11-04 13:46:47 +01:00
Linus Rath 6975f96a4b Merge branch 'feat/desktop-offline' into feat/do-ux-p2-mail-fix
# Conflicts:
#	components/email/email-viewer.tsx
#	components/email/thread-conversation-view.tsx
#	components/mail/mail-app.tsx
#	components/ui/toast.tsx
#	lib/keyboard-shortcuts/mail.ts
#	lib/window-controls-overlay.ts
2026-11-04 13:37:49 +01:00
Linus Rath 09335c76c5 Merge branch 'feat/do-ux-p2-settings-fix' into feat/desktop-offline
# Conflicts:
#	components/settings/__tests__/notification-settings.test.tsx
2026-11-04 13:32:16 +01:00
Linus Rath 0f2fa7bafe Merge branch 'feat/do-ux-p2-compose-fix' into feat/desktop-offline 2026-11-04 13:28:56 +01:00
Linus Rath 6ec867b4e0 fix: count a pop-out's undo send from the delay the user picked 2026-11-04 13:16:44 +01:00
Linus Rath 063d9c9c47 fix: drop the scheduled mark from a reply in the conversation once it has gone out 2026-11-04 13:10:38 +01:00
Linus Rath 6a2bedc442 fix: name Ctrl+N and Ctrl+K in the desktop app's welcome tips instead of single keys 2026-11-04 13:10:26 +01:00
Linus Rath 0b16295b45 Merge branch 'feat/desktop-offline' into feat/do-ux-p2-desktop-fix 2026-11-04 13:07:35 +01:00
Linus Rath f05af5a590 fix: keep toasts above a reply draft's card 2026-11-04 12:57:25 +01:00
Linus Rath 850ebce944 fix: open a resumed reply draft under its message 2026-11-04 12:57:24 +01:00
Linus Rath fd647f4535 fix: name the default address book "Contacts" in the contact import picker too 2026-11-04 12:57:19 +01:00
Linus Rath 19034489a6 Merge branch 'feat/desktop-offline' into feat/do-ux-p2-mail-fix 2026-11-04 12:57:11 +01:00
Linus Rath b1ae1cc8c5 Merge branch 'feat/desktop-offline' into feat/do-ux-p2-settings-fix
# Conflicts:
#	components/calendar/event-modal.tsx
#	components/calendar/task-list-view.tsx
#	components/calendar/task-modal.tsx
#	components/email/calendar-invitation-banner.tsx
2026-11-04 12:56:40 +01:00
Linus Rath 2efbaed728 fix: give quick compose's Move to the main window an arrow going in, not the exit full screen arrows 2026-11-04 12:54:21 +01:00
Linus Rath c5eb55467d fix: lift toasts above the quick reply box and a docked reply while they are on screen
The toast-layout assertion changes because toasts now clear a bar taller
than 5rem while a composer is open, instead of a fixed 5rem.
2026-11-04 12:53:52 +01:00
Linus Rath 60c7efad10 fix: call the default calendar and address book "Calendar" and "Contacts" everywhere, as Settings does
Stalwart names them "Stalwart Calendar (<address>)" and "Stalwart
Address Book (<address>)". Settings already showed plain names; the
sidebars, pickers, the event and task editors, invitations, print and
confirm texts now use the same helper. A colleague's shared default keeps
whose it is. Two test fixtures used Stalwart's default name for a long or
own book name and now use a name the user chose, since a default name is
no longer shown as is.
2026-11-04 12:51:03 +01:00
Linus Rath 07b6cae9e8 fix: call the unread count the taskbar icon's in the desktop app, and write "Not sent:" with a colon 2026-11-04 12:50:52 +01:00
Linus Rath 0728f854d2 fix: keep the message in view above a docked reply, which starts compact and grows to half the pane, and takes short panes with a Show the message bar 2026-11-04 12:50:22 +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 68bdaaac33 fix: hold the offline notice until the welcome tips are closed, also when they show in the reading pane 2026-11-04 12:41:37 +01:00
Linus Rath efd5b70d53 Merge branch 'feat/desktop-offline' into feat/do-ux-p2-compose-fix 2026-11-04 12:41:13 +01:00
Linus Rath 1417c38a20 Merge branch 'feat/do-ux-p2-compose-send2' into feat/do-ux-p2-compose-fix 2026-11-04 12:41:03 +01:00
Linus Rath 358ba58b39 Merge branch 'feat/do-ux-p2-compose-drafts' into feat/do-ux-p2-compose-fix 2026-11-04 12:40:56 +01:00
Linus Rath 4637f67b37 fix: draw the To field's focus ring whole 2026-11-04 12:40:49 +01:00
Linus Rath badbd616df Merge branch 'feat/do-ux-p2-settings-search' into feat/do-ux-p2-settings-fix 2026-11-04 12:39:59 +01:00
Linus Rath 641489775b Merge branch 'feat/do-ux-p2-settings-ident' into feat/do-ux-p2-settings-fix 2026-11-04 12:39:57 +01:00
Linus Rath f2ff51a7d5 Merge branch 'feat/do-ux-p2-settings-misc' into feat/do-ux-p2-settings-fix 2026-11-04 12:39:55 +01:00
Linus Rath 01f2860613 feat: edit each address's signature right on the Composing settings page 2026-11-04 12:39:11 +01:00
Linus Rath af8c8a6ea4 fix: keep toasts above the quick reply box 2026-11-04 12:39:07 +01:00
Linus Rath 3a2be9a7d4 fix: edit the name recipients see on the Account page and stop cutting account addresses
Settings > Account had a "Display name" that edited Stalwart's account
description, while mail went out with the identity's name, so changing
it changed nothing people saw. The page now shows "Your name", the
primary address's name, and saves it to that identity. The account
switcher and avatars take the same name; the principal description is
only used for an account without an identity name. The address editor
calls the field "Your name" too, and "identities" are "addresses" in
the Account section and its dialog, said once instead of twice.

Logged-in accounts show the server only for an account in trouble or
one sharing its address with another, with no drag hint or arrows for a
single account. The switcher wraps addresses instead of cutting them and
has no remove button per row; an account you're not in is removed from
Settings > Account.

Changed tests: auth-store-display-name now expects the identity name to
win over the principal; account-switcher-remove expects no remove
button on the rows; settings-editors-unsaved uses the renamed "Add
address" button and the "Your name" label, which has no placeholder.
2026-11-04 12:38:38 +01:00
Linus Rath 4b426e1469 fix: find the desktop app's own settings in search, and drop browser words from its pages
Settings search knew none of the desktop app's rows, short words matched
a dozen descriptions, and the app's Notifications, Privacy and Backup
pages talked about websites, browsers and Safari.

- Search indexes the app's rows when its bridge is there (tray, start at
  sign-in, menu bar, quiet hours, taskbar, default mail app, updates,
  developer tools, usage info, crash reports) with translated synonyms,
  and the browser-only push rows only in a browser. New synonyms for
  threads, block images, dark mode, timezone, reading pane, week start,
  empty trash and quiet hours. A single word of up to five letters looks
  only in names and synonyms, so "about" finds About.
- In the app, Notifications has no push relay section; one row says the
  app tells about new mail while it runs, with a link to General. Its
  taskbar and quiet hours section is "On this computer". Privacy has no
  relay link there, Backup says "other devices".
- In a browser that can't push, two sentences, and the home screen hint
  only on iPhone and iPad.
- Several accounts get one notification switch each instead of a
  checklist with "Enable for selected" and "Disable for selected".
- Developer tools show only with advanced settings on.
- "Two-step sign-in" heads its section, "Pictures from company websites"
  replaces "Sender favicons", the Privacy relay link no longer points to
  a hidden choice, Offline warns about disk encryption once, and the
  reset confirm says what stays and whether other devices change. A
  reset keeps the choice to sync settings.

Changed assertions: account-security-signin looks for the heading by its
new name, settings-search expects the renamed rows, multi-account-push
tests the switches that replace the checklist.
2026-11-04 12:38:35 +01:00
Linus Rath 664ec3831d fix: open a recipient's menu when its chip is clicked 2026-11-04 12:36:16 +01:00
Linus Rath 90e959a092 fix: show a sent reply in the open conversation at once, keep it out of Sent and Scheduled during Undo, and bring an undone reply back where it was written 2026-11-04 12:35:50 +01:00
Linus Rath d03d4a0b78 fix: show whole rows of attachments and keep uploading files in their place
The attachment order test now expects uploading files where they were
added: moved to the front, a big upload jumped out of sight once done.
2026-11-04 12:33:28 +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 1984a33f86 fix: draw the full-screen composer over the folder sidebar 2026-11-04 12:31:41 +01:00
Linus Rath b02ce23ace feat: ask for the link's text and address in Insert link, also with nothing selected
The first link dialog test now finds the address by its "Link" label and
checks the linked text, since the dialog has two fields.
2026-11-04 12:29:01 +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 801aa51b24 fix: discard a draft with the bin at once and offer Undo
The bin no longer asks "Discard draft?". The discard tests now expect no
question: the first one checks the late delete and the Undo instead of
the dialog, and the upload test that cancelled the question is gone,
since there is no question to cancel.
2026-11-04 12:20:42 +01:00
Linus Rath 05555bc88a fix: read a conversation oldest first on the phone too, with the newest message open 2026-11-04 12:17:27 +01:00
Linus Rath 0da07335cc fix: give every message of a conversation the same header with Reply, Reply all and Forward, and open the newest one 2026-11-04 12:17:27 +01:00
Linus Rath b439fd5e6a fix: put the cursor at the end of the text when the space under it is clicked 2026-11-04 12:11:54 +01:00
Linus Rath 8be420b41e fix: keep a click in a reply above the folded quote 2026-11-04 12:11:54 +01:00