Linus Rath
391f22cf7d
test: open attachments through the bar's tile button in the blob routing tests
2026-11-01 00:51:10 +01:00
Linus Rath
4842e08cde
fix: show shared mailboxes under each account when several are signed in #1486
2026-11-01 00:24:57 +01:00
Linus Rath
73a7bb7bcd
fix: send the headers plugins add to an outgoing message instead of dropping them
2026-10-31 17:40:20 +01:00
Linus Rath
9d529ca98f
feat: reply from the address a message was delivered to when to, cc and bcc have no match #1353
2026-10-31 16:55:10 +01:00
Linus Rath
e128515156
fix: show the real total of the unified inbox in mountain view instead of the loaded count #1471
2026-10-31 16:31:17 +01:00
Linus Rath
b8223a4492
Merge pull request #1466 from HOLOEYE-JZ/feat/plugin-open-email
...
feat(plugins): api.ui.openEmail opens a message in the reader
2026-10-31 16:25:05 +01:00
Linus Rath
e5ed50dc92
Merge pull request #1467 from HOLOEYE-JZ/feat/plugin-hooks-account-and-composer
...
feat(plugins): star and after-send hooks name the mail's account
2026-10-31 16:25:00 +01:00
Linus Rath
a0da9eb6c2
fix: show the results when searching with a message open in mountain view #1468
2026-10-31 16:15:57 +01:00
Jacob Zeitz
d5cd3c6e40
feat(plugins): star and after-send hooks name the mail's account
...
Message ids repeat across accounts, so a hook payload naming only an
emailId could not tell a plugin which mailbox the message lies in when
it is a shared or group account's.
onBeforeEmailStarToggle and onEmailStarToggle now carry accountId when
the starred message is not in the user's own account, as the
message-row-actions click context does. Every star (the row's button,
the reader's star, the key, the menu) goes through toggleStar, one
message at a time, so one accountId names it; the account is resolved
before the plugins are asked. An own message's payload is unchanged.
onAfterEmailSend now carries accountId, the JMAP account the sent
message lies in (a mail sent from a shared or group identity lies in
that account), so api.email.get finds it. sendEmail returns that account
as emailAccountId, the S/MIME send too. The hook also carries
composerId, the id the sending composer's slots and actions gave
plugins, so a plugin can act on what the user chose in that composer.
2026-10-31 14:15:06 +01:00
Jacob Zeitz
54ad6390b3
feat(plugins): api.ui.openEmail opens a message in the reader
...
A plugin opens a message as a click on a list row or on a search result
entry naming one does, also a message of a shared or group account,
reached through the login that reads it. On the mail page it opens in
place, in the Pro shell in an email tab as a message link does there;
elsewhere the tab loads the message's link, at most five times a minute.
A message no login reads, or one its account does not have, is refused
with an error the plugin sees, as is one the mail page could not open.
Needs email:read.
2026-10-31 14:14:48 +01:00
Linus Rath
5340499520
fix: give quick reply the composer's placeholder, attachment and send confirmation checks
2026-10-31 02:00:51 +01:00
Pasquale
3b4b6b9e77
feat: add reply all to expanded mountain view message headers #1404
2026-10-31 01:23:22 +01:00
Linus Rath
9af0304616
fix: return to the list after moving or reporting the open message as spam #1458
2026-10-31 01:03:08 +01:00
Linus Rath
3406580a3f
fix: return to the list after archiving the open message #1458
2026-10-31 00:56:03 +01:00
Linus Rath
ed988a2aae
ci: keep the a11y guard out of lint and vitest and mock narrowerThan in attachment tests
2026-10-29 21:08:59 +01:00
Linus Rath
35be105a73
fix: size small text in rem so it follows the browser and app text size
2026-10-29 19:38:45 +01:00
Linus Rath
1111dd6709
fix: show the focus outline on menu items, grid cells and other roving-focus controls
2026-10-29 19:38:44 +01:00
Linus Rath
b4483b8739
test: give the mail app tests the category tab panel props
2026-10-29 18:03:01 +01:00
Linus Rath
4e2affe406
fix: name the remaining search boxes, filter fields and settings inputs that only had a placeholder
2026-10-29 18:03:00 +01:00
Linus Rath
37a14eca6a
fix: name the inbox category tabs in the user's language and tie them to the list
2026-10-29 18:02:57 +01:00
Linus Rath
8e55184e1f
fix: name pane resize handles, expose their width and keep their arrow keys from the mail shortcuts
2026-10-29 17:53:51 +01:00
Linus Rath
23813be9b9
feat: tell screen readers when a folder or search has loaded and when the connection drops
2026-10-29 17:53:50 +01:00
Linus Rath
d713d31af3
feat: announce how much new mail came and flash the tab title slowly with visual alerts
2026-10-29 17:53:49 +01:00
Linus Rath
374ae9c8dc
feat: ask before deleting or archiving when the confirm settings are on
2026-10-29 17:53:48 +01:00
Linus Rath
ee17c0dbaf
feat: undo marking read or unread, stars and tags from the toast or with Ctrl+Z
2026-10-29 17:53:47 +01:00
Linus Rath
4af4404962
feat: undo the last mail actions with Ctrl+Z or z, newest first
2026-10-29 17:53:46 +01:00
Linus Rath
36d13b76bd
feat: add app-wide live regions for screen reader announcements
2026-10-29 17:53:44 +01:00
Linus Rath
dcc504fcfa
feat: add landmarks, an h1 per app, skip links and F6 between panes
2026-10-29 17:53:35 +01:00
Linus Rath
13d697ddfb
feat: turn off every single-key shortcut when the setting is off
2026-10-29 17:53:34 +01:00
Linus Rath
863806fc65
fix: translate system folder names in the advanced search folder list #1429
2026-10-29 14:24:07 +01:00
Linus Rath
4406a6435e
Merge pull request #1426 from VasilisNtovolos/fix/attachment-download-error-feedback
2026-10-29 14:10:42 +01:00
Linus Rath
764ee97692
test: bring the main test suite back to green after the vitest 5 upgrade and header rework
2026-10-29 14:07:40 +01:00
VasilisNtovolos
35064316ad
fix: show errors when attachment downloads fail
2026-10-29 13:19:29 +02:00
Linus Rath
6b41692d81
fix: show themes the admin installed in the theme picker without opening mail first
2026-10-29 00:55:41 +01:00
Linus Rath
39eb38a0fa
fix: give the mail, calendar, contacts, files and settings headers one search field and one button style
2026-10-28 22:16:48 +01:00
Linus Rath
720e146225
feat: make the mail filter panel simpler with on/off toggles, date and size ranges and every field in view
2026-10-28 19:38:46 +01:00
Linus Rath
8916a4ef75
fix: keep the search clear button inside the field and move filter, sort and refresh out of the crowded list header
2026-10-28 19:26:44 +01:00
Linus Rath
8c38d44448
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-10-28 18:06:09 +01:00
Linus Rath
baa5577ea7
Merge pull request #1360 from arnauda-gh/fix/scheduled-email-date-and-conversation-status
...
# Conflicts:
# components/email/email-viewer.tsx
# components/email/thread-conversation-view.tsx
# components/mail/mail-app.tsx
2026-10-28 17:14:23 +01:00
Linus Rath
4421c3ce7e
fix: spin refresh icons the way their arrows point
2026-10-28 17:00:50 +01:00
Linus Rath
96797597c5
Merge branch 'main' into feat/org-features
2026-10-28 15:14:34 +01:00
Linus Rath
2bb63f648b
fix: keep the phone conversation's reply buttons readable and count its messages with each language's plural forms
2026-10-28 12:46:18 +01:00
Linus Rath
8597858865
fix: bring mail back to its list after the tour on phones instead of an empty reading pane
2026-10-28 12:34:27 +01:00
Linus Rath
e654eadd37
Merge branch 'main' into ux/mail3
2026-10-28 11:10:56 +01:00
Linus Rath
3700ec432c
fix: ask Delete this email permanently? and Delete these emails? in the delete confirms
2026-10-28 10:54:16 +01:00
Linus Rath
768f3fe19b
fix: make Undo after Report spam put the message back and say Moved back, and name the Spam folder as the sidebar shows it
2026-10-28 10:40:17 +01:00
Linus Rath
f8a2d7821a
fix: say when a rescheduled message goes out now after Reschedule
2026-10-28 10:35:53 +01:00
Linus Rath
780b64461e
fix: close a message in the reader once its scheduled send is cancelled instead of still showing it as scheduled
2026-10-28 10:28:11 +01:00
Linus Rath
f1c209beaa
fix: name the account or parent folder in the palette's go to folder entries
2026-10-28 10:26:55 +01:00
Linus Rath
60b5a91a87
fix: give the phone conversation header Move and a More menu with the message's other actions, and keep a long subject to two lines
2026-10-28 10:20:11 +01:00