Linus Rath
ec295ad59f
Merge pull request #1384 from VasilisNtovolos/fix/bulk-delete-partial-results
...
fix: reconcile confirmed permanent bulk deletions
2026-10-27 23:14:11 +01:00
Linus Rath
73015c7d0e
Merge pull request #1380 from HOLOEYE-JZ/fix/task-fetch-race
...
fix: keep one account's tasks out of another's task list
2026-10-27 23:14:05 +01:00
Linus Rath
011ff0e93a
feat: warn before sending a message with unfilled placeholders
2026-10-27 22:30:33 +01:00
VasilisNtovolos
fb52770b58
test: register source clients in cross-account deletion tests
2026-10-27 15:39:48 +02:00
VasilisNtovolos
ac99c68ef3
fix: reconcile confirmed permanent bulk deletions
2026-10-27 14:51:38 +02:00
Jacob Zeitz and Claude Opus 5.5
1509e8c799
fix: keep one account's tasks out of another's task list
...
The task store was not cleared on an account switch, unlike the calendar,
contacts and the other account-scoped stores, so the next account showed
the previous one's tasks until its own arrived. And a fetch answered after
a later one had started still wrote its list: the outgoing account's
answer could put its tasks back after the switch, and an older answer
could replace a newer one.
clearAllStores now clears the tasks, and each fetch gets a number: only
the latest one's answer or error is kept, and clearing drops the fetches
still under way.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-27 10:31:54 +01:00
Linus Rath
aa860e5a85
fix: sign in to Bulwark Lite with password and TOTP on Stalwart 1.0
2026-10-26 20:27:16 +01:00
Linus Rath
e5f9099658
fix: show new mail of a group or shared account in the unified inbox without a click #1350
2026-10-26 20:01:11 +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
613451dfef
fix: keep loading older mail when a saved or refreshed list has no total from the server #1364
2026-10-26 20:01:09 +01:00
Linus Rath
87d0bbeb01
fix: show a calendar that appears after the first load instead of leaving it unticked #1372
2026-10-26 20:01:08 +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
e99cce05fe
Merge pull request #1370 from maxhaomh/feat/disable-quick-reply
2026-10-26 19:24:49 +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
89be5f1e5b
fix: keep every calendar hidden after reload when the user hid them all
2026-10-26 16:13: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
ea6d414e5b
fix: show the scheduled badge and its buttons only on the scheduled message, not on another account's message with the same id
2026-10-26 16:11:51 +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
d72bff95f9
fix: stop acting on a message of a signed-out account through the active account
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
2e9bb56071
fix: apply a subscribed calendar feed's changes to events it still carries
2026-10-26 15:15:58 +01:00
Linus Rath
f829d4a2e8
fix: ask the next user again before running plugins installed by someone who signed out
2026-10-26 15:15:58 +01:00
Linus Rath
abef4224b5
fix: switch to the remaining account on sign-out instead of signing out of all when it was signed in before the page loaded
2026-10-26 14:58:31 +01:00
Linus Rath and Almost-Senseless-Coder
b88397dfd2
fix: renew a background OAuth account with its own token instead of the active account's #989
...
Co-authored-by: Almost-Senseless-Coder <109462027+Almost-Senseless-Coder@users.noreply.github.com >
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
292ccce9ee
fix: delete, move and change groups of another signed-in account's contacts in that account
2026-10-26 12:25:31 +01:00
Linus Rath
4cfdc877d1
fix: keep a contact created in a shared address book from being mistaken for an own contact with the same id
2026-10-26 12:25:31 +01:00
Linus Rath
cd2bcc0520
fix: load the calendar range once, not twice, after creating a recurring event
2026-10-26 12:25:31 +01:00
Linus Rath
33c5ca8125
test: check bulk moves against the per-login routing
2026-10-26 12:25:09 +01:00
Linus Rath
72e5af2c52
fix: take a shared folder's Trash from the viewed folder list when bulk deleting
2026-10-26 12:25:09 +01:00
Linus Rath
88b960d605
fix: stop deleting the active account's mail after removing the account whose folder is open
2026-10-26 12:25:08 +01:00
Linus Rath
eeb6ccc4db
fix: create each account's Archive when bulk archiving in the unified inbox
2026-10-26 12:25:08 +01:00
Linus Rath
f9ccc6adf1
fix: clear the refresh token of an OAuth account that could not be restored
2026-10-26 11:33:37 +01:00
Linus Rath
680742c3ef
fix: end a password and TOTP sign-in without remember me with the browser session
2026-10-26 11:33:37 +01:00
Linus Rath
e762943f7b
fix: let a plugin move a single message that is not in the open list
2026-10-26 11:29:37 +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
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
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
f20892ccec
fix: start plugins when the sign-in races the first plugin start
2026-10-25 02:24:41 +01:00
Linus Rath
5edbbf0816
perf: start plugin slot frames without waiting for the plugin's own frame
2026-10-25 02:24:08 +01:00
Linus Rath
c066d40180
perf: check cached plugin bundles without reading them, and download in parallel
2026-10-25 02:18:18 +02:00
Linus Rath
be8adde945
perf: fetch the server plugin list once per page load
2026-10-25 02:15:13 +02:00
Linus Rath
9a568aa4f4
perf: write the plugin list to storage once per burst of changes
2026-10-25 02:12:50 +02:00
Linus Rath
23eb3c5a2f
fix: start plugins after signing in, not only after the next reload
2026-10-25 02:06:35 +02:00
Linus Rath
af07bb3cd3
fix: list admin plugins when the browser can't cache their code #1327
2026-10-24 22:37:16 +02:00
Linus Rath
6d459674f8
Merge pull request #1109 from hildebrandttk/fix/group-identity-sent-copy
...
fix: save a group identity's drafts in the group account's Drafts (#1…
2026-10-24 17:55:10 +02:00
Linus Rath
7370b6bad0
Merge pull request #1335 from tobiasge/feat/plugin-regional-formatting
...
feat: mirror regional presentation settings to plugin sandboxes
2026-10-24 17:55:06 +02:00
Linus Rath
6d44e9320c
Merge pull request #1333 from HOLOEYE-JZ/feat/plugin-keywords-update-remove
...
feat: let plugins update and remove the tags they added
2026-10-24 17:54:58 +02:00
Linus Rath
bf725814ad
Merge pull request #1326 from VasilisNtovolos/fix/bulk-move-client-routing
...
fix: route bulk move by authenticated client
2026-10-24 17:54:44 +02:00
Linus Rath
bec2796f1d
Merge pull request #1307 from VasilisNtovolos/fix/bulk-delete-client-routing
...
fix: route bulk delete and trash by authenticated client
2026-10-24 17:54:39 +02:00