Linus Rath
25408b2ac2
fix: refuse a policy save from a page opened before someone else saved #1066
...
The admin pages save the whole policy from the draft they loaded. A
save from a page opened before another tab's or another admin's save,
or before a deleted plugin was dropped from the policy, used to put the
older policy back. GET /api/admin/policy now sends the policy version as
an ETag; the policy, organisation, plugins and themes pages send it back
as If-Match, and a save based on an older version answers 409 and keeps
the draft on the page. A PUT without If-Match replaces the policy as
before. Deleting a plugin or theme changes only its id in the stored
policy, and a policy import compares against what it replaces.
Test mocks of the config manager gain getPolicyVersion and updatePolicy,
which the route and the extension cleanup now call.
2026-10-31 22:57:57 +01:00
Linus Rath
c20ecd4b1a
refactor: let each store bring its own step for the shared-store import
2026-10-31 22:42:14 +01:00
Linus Rath
1b2d81be27
feat: hold each instance back until it has loaded from the shared store and add a readiness check #1066
2026-10-31 22:40:51 +01:00
Linus Rath
df90492258
feat: add a shared store that keeps today's files by default and can use a redis-protocol server #1066
2026-10-31 22:40:44 +01:00
Linus Rath
0571b8f2ec
fix: show pictures apple mail sends inline as attachments #1478
2026-10-31 22:08:56 +01:00
Linus Rath
35508913ac
feat: show marketplace screenshots above the versions and open them large on click
2026-10-31 18:55:05 +01:00
Linus Rath
5b8cf60bd9
ci: run the integration suite in the playwright image that matches the installed version
2026-10-31 18:53:00 +01:00
Linus Rath
521b0aedab
fix: stop naming a jmap metadata property in the demo client
2026-10-31 18:52:29 +01:00
Linus Rath
088a982218
test: expect 30 locales now that vietnamese is in
2026-10-31 18:50:55 +01:00
Linus Rath
1918d1010f
fix: word the vietnamese settings discard dialog like calendar and contacts
2026-10-31 18:50:29 +01:00
Linus Rath
d23a2869d1
Merge remote-tracking branch 'origin/main' into fix/found-fix-server
...
# Conflicts:
# Dockerfile
# docker-compose.yml
2026-10-31 18:17:39 +01:00
Linus Rath
f884ffe441
Merge branch 'fix/found-fix-ui' into fix/found-fix-server
2026-10-31 18:17:13 +01:00
Linus Rath
5fe7d1a65a
fix: keep existing compose volumes and add the two that were missing
2026-10-31 18:12:00 +01:00
Linus Rath
f6eb34c909
fix: remove the admin switch for user theme uploads, which users can't do
2026-10-31 18:10:03 +01:00
Linus Rath
136e6be8fd
refactor: drop the unused draft autosave interval setting
2026-10-31 18:07:16 +01:00
Linus Rath
fa9aad95b4
docs: describe where the push relay sends the account label
2026-10-31 18:06:08 +01:00
Linus Rath
9f0413d50b
docs: say in the Lite readme that sign-in with SSO works when Stalwart serves Lite
2026-10-31 18:04:57 +01:00
Linus Rath
88351b2333
fix: point the outgoing hosts list at the current usage stats and updates pages
2026-10-31 18:02:01 +01:00
Linus Rath
65015e1630
fix: describe when the unified mailbox section appears instead of the old empty header
2026-10-31 18:00:56 +01:00
Linus Rath
6fc3994aac
fix: keep plugin credentials and update-check state across container recreates
2026-10-31 18:00:13 +01:00
Linus Rath
100f6db309
fix: skip the setup wizard in demo mode without a mail server
2026-10-31 18:00:13 +01:00
Linus Rath
ae96b9e0aa
fix: say what the setup wizard's stalwart features switch turns on
2026-10-31 17:58:34 +01:00
Linus Rath
485e48648e
fix: stop promising offline support in the install prompt
2026-10-31 17:57:38 +01:00
Linus Rath
6a1da49f52
fix: let accessibility reset bring back the organisation's defaults and cover every option
2026-10-31 17:57:20 +01:00
Linus Rath
ddc24e4fc7
fix: let a browser an admin signed in from before past the shared admin login limit
2026-10-31 17:55:29 +01:00
Linus Rath
e15c335bec
fix: pick up admin changes saved by another replica without a restart
2026-10-31 17:54:40 +01:00
Linus Rath
48c8d37e37
fix: hide subscribe to calendar in lite, which can't fetch feeds
2026-10-31 17:52:28 +01:00
Linus Rath
825d6e76f8
fix: let admins switch off usage stats by clearing the collector address
2026-10-31 17:51:09 +01:00
Linus Rath
6aa48c300d
fix: keep plugin credentials when the docker container is recreated
2026-10-31 17:50:07 +01:00
Linus Rath
072a4219be
fix: drop the connector address setting that nothing used
2026-10-31 17:49:54 +01:00
Linus Rath
f11ddf82dd
fix: tell banner plugins when an admin opened the mailbox through impersonation
2026-10-31 17:48:29 +01:00
Linus Rath
a9e93881b5
feat: match filter conditions against a regular expression #885
2026-10-31 17:45:26 +01:00
Linus Rath
dcc785690c
fix: apply the log level and format set in the setup wizard or admin console
2026-10-31 17:45:06 +01:00
Linus Rath
65ec66b8ef
fix: send embedded-mode messages to the parent origin set in the admin console
2026-10-31 17:43:03 +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
f8805b8d52
fix: keep remote content blocked for trusted senders when the organisation locks it to block
2026-10-31 17:32:24 +01:00
Linus Rath
961c176401
Merge remote-tracking branch 'origin/main' into feat/audience-shots
2026-10-31 17:06:43 +01:00
Linus Rath
ee53eb8d2c
test: add a flight booking with a card to the demo
2026-10-31 16:58:40 +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
63424852ec
chore: refresh the readme and install screenshots for 1.19.1
2026-10-31 16:41:02 +01:00
Linus Rath
e68036e7b0
fix: line up the select-all checkbox with the row checkboxes in mountain view #1473
2026-10-31 16:31:18 +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
663a875972
fix: give the folders their own heading under the unified mailbox in mountain view #1470
2026-10-31 16:31:16 +01:00
Linus Rath
ea604ab8a1
fix: keep the open folder regular weight in mountain view so bold only means unread #1469
2026-10-31 16:31:15 +01:00
Linus Rath
e78cc59fb4
fix: add the vietnamese strings for the directory and month view settings
2026-10-31 16:26:37 +01:00
Linus Rath
7341e981c3
fix: limit how often a plugin can open a message in the reader #1466
2026-10-31 16:25:07 +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
c09be1cdd3
Merge pull request #1456 from HOLOEYE-JZ/feat/plugin-frame-activity
...
feat(plugins): input in a plugin frame counts as activity for the idle sign-out
2026-10-31 16:25:03 +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
258dc5e54f
Merge pull request #1454 from VasilisNtovolos/fix/save-draft-pending-attachments
...
fix: wait for attachment uploads before saving and closing drafts
2026-10-31 16:24:58 +01:00