Linus Rath
ad7001cbe8
fix: show new mail of another signed-in login in the unified inbox without a click #1350
2026-10-26 20:35:53 +01:00
Linus Rath
d610312483
fix: update the open calendar and show reminders on time when events change elsewhere #1349
2026-10-26 20:35:52 +01:00
Linus Rath
9de2efb722
fix: open a shared or group account's message from its link instead of the own message with the same id #1351
2026-10-26 20:01:11 +01:00
Linus Rath
af536ac90a
fix: keep the account and other query parameters of a mail link Lite replays after a 404 #1352
2026-10-26 20:01:10 +01:00
Linus Rath
8940f45baa
fix: apply a custom calendar color picked in the system color dialog #1366
2026-10-26 20:01:09 +01:00
Linus Rath
2f8b4863ff
Merge pull request #1338 from HOLOEYE-JZ/feat/plugin-search-results
2026-10-26 19:32:56 +01:00
Linus Rath
7c00a02319
Merge pull request #1345 from HOLOEYE-JZ/feat/plugin-action-badge
2026-10-26 19:32:08 +01:00
Linus Rath
edba184bc0
fix: keep an Outlook-style reply from loading the quoted message's remote images
2026-10-26 19:30:18 +01:00
Linus Rath
12ee24a81a
Merge pull request #1355 from maxhaomh/fix/outlook-quote-lines
2026-10-26 19:28:56 +01:00
Linus Rath
4bfaf8abce
Merge pull request #1363 from lucamzanon/feat/account-archive-restore-prompt
2026-10-26 19:26:13 +01:00
Linus Rath
e99cce05fe
Merge pull request #1370 from maxhaomh/feat/disable-quick-reply
2026-10-26 19:24:49 +01:00
Linus Rath
7677b87c5e
Merge pull request #1373 from motofix/fix/1371-download-name-slash
2026-10-26 19:23:56 +01:00
Julien Béti
460343d86d
fix: show inline images whose part name is a path #1371
2026-10-26 18:34:57 +01:00
Linus Rath
e159ca1420
fix: name the rail's Mail entry Mail for screen readers instead of its unread count
2026-10-26 16:49:44 +01:00
Max Hao
7216089629
feat: add quick reply feature with toggle in settings and tests
2026-10-26 11:40:47 -04:00
Linus Rath
272fc5e1f4
fix: reuse a group account's year and month archive folders instead of creating them again or in the own account
2026-10-26 16:14:19 +01:00
Linus Rath
4a9284aa48
fix: mark the answered or forwarded message from a Pro compose tab also when the send is held for undo
2026-10-26 16:14:18 +01:00
Linus Rath
34ad859ce4
fix: refuse Undo and Send now for a delayed send of a signed-out account instead of acting through the active one
2026-10-26 16:11:53 +01:00
Linus Rath
ceaa9cea39
fix: highlight only the open message in lists that mix accounts, not another account's message with the same id
2026-10-26 16:11:52 +01:00
Linus Rath
54b197080c
fix: keep a discarded draft of a signed-out account instead of deleting another account's message with its id
2026-10-26 16:11:52 +01:00
Linus Rath
0b917d6262
fix: mark the replied, forwarded or receipted message as answered in its own account, not another account's message with the same id
2026-10-26 16:11:52 +01:00
Linus Rath
acac3128bc
fix: archive and delete a message from its own account's folders in tag and unified views
2026-10-26 16:11:51 +01:00
Linus Rath
87701c8c20
fix: keep the calendars shown or hidden in the Pro interface as the user set them
2026-10-26 15:15:58 +01:00
Linus Rath
7da326b86e
fix: keep the server's path in the fallback CalDAV address
2026-10-26 15:15:58 +01:00
Linus Rath
f0392a6705
fix: check a meeting reply's sender against the attendee who answers, not the organizer
2026-10-26 15:15:58 +01:00
Linus Rath
ae897b42a4
fix: make the impersonation handoff really clear the previous account list and ignore ?impersonated=1 links from elsewhere
2026-10-26 14:58:31 +01:00
Linus Rath
e314e56661
fix: keep the own and a group's scheduled mail apart when their ids are the same
2026-10-26 12:26:58 +01:00
Linus Rath
8c9cf8e63e
test: check draft account and threading headers in createDraft's options after the merge
2026-10-26 12:26:57 +01:00
Linus Rath
dcde570ebe
fix: say the directory can't be browsed instead of that a refresh failed when the server lists only the people you know
2026-10-26 12:25:32 +01:00
Linus Rath
b038c82dcc
fix: only offer to apply a counter proposal sent by one of the meeting's participants
2026-10-26 12:25:31 +01:00
lucamzanon
2f8c6e13bf
feat: offer to restore the saved account list on a new device
...
Part 3 of 3 of the account archive (#1198 ). Signing in on a browser that
knows no other account, with a list saved for that account, opens a dialog
asking for the backup password and restores the list as Settings does.
Not now hides the offer for that account in this browser; the restore
stays in Settings.
2026-10-26 12:23:18 +01:00
Linus Rath
b5c6b67ba4
fix: keep a link in a printed message from redirecting the webmail tab
2026-10-26 11:22:10 +01:00
Linus Rath
3f2f27321c
fix: keep an unquoted cid: image from swallowing the rest of the message
2026-10-26 11:22:10 +01:00
Linus Rath
6014142358
fix: show conversation and attached-message attachment names without directional override characters
2026-10-26 11:22:10 +01:00
Linus Rath
c133659c83
fix: run links in conversation messages through the reader's link gate
2026-10-26 11:22:10 +01:00
Linus Rath
cf2c27157d
Merge branch 'main' into feat/stalwart-1.0
...
# Conflicts:
# components/contacts/contacts-app.tsx
# components/email/__tests__/composer-discard.test.tsx
# components/email/calendar-invitation-banner.tsx
# components/email/email-composer.tsx
# components/mail/mail-app.tsx
# components/pro/pro-compose-tab-body.tsx
# components/pro/pro-email-tab-body.tsx
# components/ui/__tests__/avatar.test.tsx
# components/ui/avatar.tsx
# hooks/use-mailbox-drop.ts
# lib/__tests__/calendar-alerts.test.ts
# lib/__tests__/jmap-calendar-tasks.test.ts
# lib/__tests__/jmap-send-threading.test.ts
# lib/demo/demo-client.ts
# lib/demo/fixtures/calendars.ts
# lib/jmap/client-interface.ts
# lib/jmap/client.ts
# lib/web-push.ts
# stores/__tests__/contact-store.test.ts
# stores/__tests__/email-store-thread-key.test.ts
# stores/calendar-store.ts
# stores/contact-store.ts
# stores/email-store.ts
2026-10-26 10:14:12 +01:00
Max Hao
5430b9e446
fix: honor borderless Outlook-style HTML quotes
2026-10-25 22:22:41 -04:00
Jacob Zeitz and Claude Opus 5.5
fc438c275f
feat: open the message a plugin's search result names
...
An entry of onProvideSearchResults may carry email: { id, accountId? }.
A click on it opens the message in the reader through the login that
reaches the account, as a list row does, and marks the entry while it
is open; any other click stays onAction.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-25 15:22:38 +01:00
Jacob Zeitz and Claude Opus 5.5
d02988f431
feat: show the results plugins provide through onProvideSearchResults
...
The hook was called on every search, but nothing showed its entries,
the list waited for it, and an entry's onClick could not cross from the
plugin's sandbox. Its entries are now drawn as a block above the
search's message list, a group per plugin and source.
Each plugin is asked on its own (HookBus.collect) beside the search, so
the list no longer waits, and the answer to a search that was replaced
is dropped. The answer is checked: at most 20 entries, a key and a
title, plain text cut to its limits. A click goes to the plugin that
gave the entry as onAction with surface "search-results", the entry's
key and the query; ExternalSearchResult loses onClick.
Closes #1336
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-25 15:22:33 +01:00
Jacob Zeitz
4a130bc1f9
feat: let plugins show a count on their buttons
...
An action declared with ui.setActions may carry a badge, a whole number
from 0. On buttons it is drawn as the search's filter button draws its
count: the button tinted, the number in a bubble at its corner, "99+"
past two digits. In menus it follows the label, as the mobile header's
notification count does. 0 shows none.
2026-10-25 14:36:01 +01:00
Linus Rath
3bfba19ca5
fix: give Mountain View's list chips Gmail's height and spacing
2026-10-25 13:14:24 +01:00
Linus Rath
f7a4087c91
feat: split the Mountain View inbox into Unread and Everything else, as Gmail's unread first
2026-10-25 13:13:46 +01:00
Linus Rath
e31f55064e
fix: use the current calendar and contacts icons in the Mountain View side panel
2026-10-25 12:56:48 +01:00
Linus Rath
cb663d2222
fix: keep settings switches full width next to long labels
2026-10-25 12:49:55 +01:00
Linus Rath
0b1463b7d5
feat: show attachment and code chips as Gmail pills in Mountain View
2026-10-25 12:48:49 +01:00
Linus Rath
39c8b14574
fix: open the admin panel in the desktop layout without a phone-layout flash
2026-10-25 12:42:02 +01:00
Linus Rath
07627b3a60
fix: give every app's sidebar header and toolbar the same height as mail
2026-10-25 12:30:23 +01:00
Linus Rath
9c360694bf
fix: send paragraphs with the spacing the composer shows #1340
2026-10-25 12:27:13 +01:00
Linus Rath
6be0f70452
perf: skip plugin round trips when a slot re-renders with the same props
2026-10-25 02:40:43 +02:00
Linus Rath
782d4f8bf5
perf: stop loading the app's stores in every plugin frame
2026-10-25 02:09:37 +02:00