Linus Rath
be07e4780f
test: add helpers for the enterprise specs on the test servers
2026-11-01 04:20:02 +01:00
Linus Rath
bdac27367c
fix: keep the organisation's locks when the policy can't be fetched
2026-11-01 04:20:02 +01:00
Linus Rath
123018f322
feat: add the policy sections and admin pages for the enterprise features
2026-11-01 04:20:02 +01:00
Linus Rath
84de2395f0
fix: keep trusted senders from loading remote content anywhere while the organisation blocks it
2026-11-01 03:27:49 +01:00
Linus Rath
d2a83a4ee9
fix: stop proxying locale rewrites back to the server when it listens on 127.0.0.1 #1487
2026-11-01 02:41:42 +01:00
Linus Rath
d781e8762e
Merge branch 'feat/multi-instance'
2026-11-01 01:43:15 +01:00
Linus Rath
2e5397c228
test: mock the wizard session refusal in the setup telemetry consent test
2026-11-01 01:35:20 +01:00
Linus Rath
3f02ae0448
test: add multi-instance scenarios for a three-replica rig behind a round-robin load balancer #1066
2026-11-01 01:33:45 +01:00
Linus Rath
be7fde157e
test: expect the Pro shell to load shared folders with each login's own
2026-11-01 01:23:34 +01:00
Linus Rath
eb56ea441f
fix: list the User-Agent contact link as a non-request host
2026-11-01 01:22:17 +01:00
Linus Rath
acf125a52b
test: fail when server state skips the shared store without a listed reason #1066
2026-11-01 01:12:49 +01:00
Linus Rath
3a9aef7c50
feat: move plugins, themes, branding and the signing key with the shared-store import and export #1066
2026-11-01 01:08:34 +01:00
Linus Rath
70a7e1227c
fix: drop files of removed plugins on export and read only the approval files on import #1066
2026-11-01 01:07:30 +01:00
Linus Rath
ac29a94fc3
fix: cap the plugin packages kept for approval review and sweep broken kept-version folders #1066
2026-11-01 01:04:51 +01:00
Linus Rath
dcecd50b7f
fix: keep up to 256 rendered branding images per kind, enough for many domains #1066
2026-11-01 01:03:33 +01:00
Linus Rath
38bc06f2d3
fix: answer 503 for plugin lists and marketplace installs while the shared store is down #1066
...
directory-keys-shared.test.ts: the store-down case now expects the store error instead of an 'invalid' signature, since a store outage no longer counts as a bad signature.
2026-11-01 01:03:13 +01:00
Linus Rath
d78ce02f78
fix: refuse a plugin install that can't hold the registry lock and a bundle that doesn't match its entry #1066
2026-11-01 01:01:19 +01:00
Linus Rath
750f3114c1
fix: keep an old plugin's bundle hash when the shared store hiccups while it is fixed #1066
2026-11-01 00:58:33 +01:00
Linus Rath
b39e3e27ac
fix: cache a plugin signature only when it verifies for the cached bundle #1066
2026-11-01 00:57:21 +01:00
Linus Rath
d9f4bdd9be
fix: keep serving a plugin unsigned when its first signature can't be stored
2026-11-01 00:55:51 +01:00
Linus Rath
256855b294
fix: refuse to sign plugins on an instance whose signing key differs from the others #1066
2026-11-01 00:54:57 +01:00
Linus Rath
00e28e5f83
Merge branch 'feat/multi-instance' into feat/multi-instance-ext
2026-11-01 00:52:04 +01:00
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
f25b9ea34b
fix: keep hidden buttons on attachment cards from catching taps
2026-11-01 00:48:41 +01:00
Linus Rath
23b50f8268
test: read the wrapped mkdir in the Dockerfile as one command
2026-11-01 00:47:30 +01:00
Linus Rath
c0c1a8f0fb
test: give the config route test the logger calls config-manager now makes
2026-11-01 00:46:42 +01:00
Linus Rath
e94d9c4326
fix: translate the attachment bar strings into every language
2026-11-01 00:45:33 +01:00
Linus Rath
905d841be4
chore: drop the outdated Stalwart/RocksDB warning from files
2026-11-01 00:41:41 +01:00
Linus Rath
ecdd2b54fe
chore: name the app Bulwark Webmail in exported files, outgoing requests and the manifest
2026-11-01 00:41:21 +01:00
Linus Rath
77a06a8aa0
fix: stop logging that the shared store is unreachable while its first connection is still being made
2026-11-01 00:39:01 +01:00
Linus Rath
26f0b72b2e
feat: write plugins, themes, approvals and branding back to local files on export #1066
2026-11-01 00:30:41 +01:00
Linus Rath
f250ff7b17
chore: describe the app as self-hosted webmail for mail, calendar, contacts and files
2026-11-01 00:28:17 +01:00
Linus Rath
355e57ca6c
Merge branch 'feat/multi-instance' into feat/multi-instance-ext
2026-11-01 00:28:15 +01:00
Linus Rath
ad7a8d713c
feat: bring plugins, themes, approvals and branding along when moving to a shared store #1066
2026-11-01 00:27:17 +01:00
Linus Rath
3c34eda260
fix: cap the cache of Stalwart admin checks so it can't grow without bound
2026-11-01 00:25:35 +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
5efccb65e0
fix: show a re-uploaded logo or icon at once instead of after a restart
2026-11-01 00:24:07 +01:00
Linus Rath
a03f76ec85
feat: send X-Powered-By: bulwarkmail.org on every response
2026-11-01 00:21:32 +01:00
Linus Rath
fc7d5617c2
feat: serve uploaded branding from the shared store on every instance #1066
2026-11-01 00:20:24 +01:00
Linus Rath
3ed25e1d95
feat: import an existing install into the shared store on first start and export it back with SHARED_STORE_EXPORT #1066
2026-11-01 00:17:20 +01:00
Linus Rath
51e7999e3c
feat: sign plugin bundles with one key on every instance #1066
2026-11-01 00:16:42 +01:00
Linus Rath
d73494593a
refactor: let the config write error answer the 503 in the plugin and theme routes
2026-11-01 00:15:14 +01:00
Linus Rath
2078b0a13f
Merge branch 'feat/multi-instance-auth' into feat/multi-instance
2026-11-01 00:13:17 +01:00
Linus Rath
5e4b6465d1
Merge branch 'feat/multi-instance' into feat/multi-instance-ext
2026-11-01 00:13:14 +01:00
Linus Rath
e3936287fd
feat: share plugin approvals and plugin settings between instances #1066
2026-11-01 00:13:09 +01:00
Linus Rath
e75834314d
fix: show plugin approval requests and decisions to every part of the server at once
2026-11-01 00:13:08 +01:00
Linus Rath
2944d2797f
fix: keep every key when several of a plugin's settings are saved at once
2026-11-01 00:12:26 +01:00
Linus Rath
89f337c0ae
Merge branch 'feat/multi-instance-admin' into feat/multi-instance
2026-11-01 00:12:24 +01:00
Linus Rath
8127640acf
fix: write an office editor sign-out made during a store outage as soon as the store is back #1066
2026-11-01 00:10:09 +01:00
Linus Rath
40578f039d
test: give each replica in the setup token tests a state dir of its own #1066
2026-11-01 00:09:49 +01:00