Linus Rath
ec581ce53e
feat: update Docker configuration
2026-04-28 17:27:47 +02:00
Linus Rath
81d8465a79
fix: block telemetry endpoint from pointing at internal hosts
2026-04-28 17:16:30 +02:00
Linus Rath
0f3b506604
feat: add extension preview page and API for detailed extension information
2026-04-28 15:55:23 +02:00
Linus Rath
1b84547211
feat: add Theme API v2 with token compiler, skin slot
2026-04-28 15:39:13 +02:00
Linus Rath
dafc8ace3c
feat: track unique logins
2026-04-28 08:19:46 +02:00
Linus Rath
2c419cc4fe
feat: add right-click context menu on empty calendar space
2026-04-28 01:56:15 +02:00
Linus Rath
90acf181f3
fix: harden plugin config, TOTP token exchange, and branding file serving
2026-04-28 01:44:37 +02:00
Linus Rath
54af07f2af
feat: add anonymous instance telemetry
...
Adds a once-per-day heartbeat that lets the project see how many
instances run Bulwark, on what platforms, with what features enabled,
and roughly how many accounts they have. No email addresses, hostnames,
IPs, or any end-user data are ever sent.
- lib/telemetry: state file, payload builder, jittered scheduler,
instance_id persistence at <data-dir>/.telemetry-id (delete to reset)
- app/api/admin/telemetry: admin API for status / set-consent /
set-endpoint / send-now (all audit-logged)
- app/admin/telemetry: settings page with status, JSON payload preview,
endpoint editor, send-now button, link to the privacy page
- instrumentation.node.ts: starts the scheduler on boot
Default state is enabled. The first heartbeat fires 1 hour after boot
so an admin who installs and immediately disables produces zero pings.
Disable via the settings UI, BULWARK_TELEMETRY=off (or
BULWARK_TELEMETRY_DISABLED=1), or by clearing the endpoint.
Account counts are bucketed (1, 2-5, 6-10, 11-50, 51-200, 201+) so a
small instance can't be re-identified by exact size. The /.telemetry-id
file can be deleted to mint a fresh instance_id.
Receiving collector is open source at bulwarkmail/dashboard. Self-host
your own and point at it via BULWARK_TELEMETRY_URL. Full schema,
retention (90d raw → aggregates), and lawful basis are documented at
bulwarkmail.org/docs/legal/privacy/telemetry.
2026-04-28 01:28:41 +02:00
Linus Rath
68f1fabc4b
fix: batch shortcuts act on multi-selection when present #228
2026-04-28 00:04:29 +02:00
Linus Rath
27451807db
chore: update version to 1.5.2
1.5.2
2026-04-27 22:45:23 +02:00
Linus Rath
55099bdcbb
fix: disable Stalwart admin check when custom JMAP endpoints allowed
2026-04-27 22:41:51 +02:00
Linus Rath
71eb720065
chore: update version to 1.5.2
2026-04-27 22:30:32 +02:00
Linus Rath
8abb0c8717
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-04-27 22:24:59 +02:00
Linus Rath
3043639d2d
fix: validate URLs before outbound fetch
2026-04-27 22:23:39 +02:00
Linus Rath
e9b3eacbb7
fix: prevent drag creation on touch events in useTimeGridInteractions
2026-04-27 13:37:34 +02:00
Linus Rath
f37e55e285
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-04-27 10:36:22 +02:00
c0af2dbdd1
i18n: Fix word 'ficheiro' and its variants.
...
Co-authored-by: Copilot <copilot@github.com >
2026-04-27 10:17:32 +02:00
Luis Felipe Marzagao and Linus Rath
ae517732f7
i18n: Fix word 'contactos' and its variants.
2026-04-27 10:17:32 +02:00
Linus Rath
3e1de10213
feat: add JMAP sharing for calendars and address books
2026-04-26 20:10:04 +02:00
Roman Vanicek and Linus Rath
511740bb6d
Additional Czech translations for recent changes.
2026-04-26 15:48:43 +02:00
Roman Vanicek and Linus Rath
4a24d2a11d
feat: add Czech language support
2026-04-26 15:48:43 +02:00
Linus Rath
aadf56c27b
fix: emit RFC 9553 name kinds and decode QUOTED-PRINTABLE in vCard import #224 #187
2026-04-26 02:47:19 +02:00
Linus Rath
9f8588eadc
fix: hide preview line in compact density to match settings preview ( #223 )
2026-04-26 02:12:28 +02:00
Linus Rath
d657aec391
feat: add support for right-side composer sidebar and update related types
2026-04-25 19:45:45 +02:00
Linus Rath and Copilot
e683c90404
fix: implement inline matcher for Next.js proxy and remove unnecessary config
...
Co-authored-by: Copilot <copilot@github.com >
2026-04-25 19:25:15 +02:00
Linus Rath
cfb4a23c9d
fix: remove unnecessary runtime config for Node.js in proxy settings
2026-04-25 18:54:15 +02:00
Linus Rath
fe1d4861bb
feat: composer-sidebar slot + plugin-declared frame-src origins
2026-04-25 18:40:54 +02:00
Linus Rath
5aa9b1d5f9
fix: honor SESSION_SECRET_FILE in dashboard warning check #222
2026-04-25 17:21:17 +02:00
Linus Rath
0913dbd3e4
chore: update version to 1.5.1
1.5.1
2026-04-25 16:34:45 +02:00
Linus Rath
29197ea355
feat: replace folder prompt() calls with proper modal dialog
2026-04-25 16:30:18 +02:00
Linus Rath
4788e8a91a
feat: add right-click context menu to mail folders sidebar
2026-04-25 16:26:05 +02:00
Linus Rath
b80678b00f
feat: add 'Today' button to desktop calendar toolbar
2026-04-25 03:11:16 +02:00
Linus Rath
4f7c9c332b
feat: enhance OAuth auto-setup with dialog and validation for origin and issuer URLs
2026-04-25 02:53:12 +02:00
Linus Rath
da103ff06f
feat: implement OAuth auto-setup functionality for Stalwart integration
2026-04-25 01:37:18 +02:00
Linus Rath
2111c77870
fix: restore admin panel after Stalwart v0.16 REST API removal
2026-04-25 01:13:17 +02:00
Linus Rath
e5083ec1df
fix: restore admin panel after Stalwart v0.16 REST API removal
2026-04-25 01:12:33 +02:00
Linus Rath
df8d04e233
fix: restore broken viewer toolbar actions and improve mobile menu #220
2026-04-24 19:31:38 +02:00
Linus Rath and GitHub
9a11a18a44
Update README.md
2026-04-24 17:02:00 +02:00
Christian Lepthien
ce9f7af330
fix: improve corean flag
2026-04-24 14:56:58 +02:00
Linus Rath
081e8a0310
feat: add setting to show avatars in junk folder, disabled by default
2026-04-23 18:23:48 +02:00
Linus Rath
6c3529b368
fix: stop flicker on background folder refresh
2026-04-23 18:06:40 +02:00
Linus Rath
077a4f03a7
fix: preserve search/filter on batch move and archive
2026-04-23 18:01:21 +02:00
Linus Rath
b04dfaf252
fix: preserve search/filter when moving emails via drag-drop
2026-04-23 16:37:17 +02:00
Linus Rath
9c7452e7fd
chore: add admin dashboard data directory configuration to environment files
2026-04-23 11:22:14 +02:00
Linus Rath
ec5593f567
Merge branch 'dev' into main
1.5.0
2026-04-23 00:10:22 +02:00
Linus Rath
c30c38a7af
chore: update version to 1.5.0
2026-04-23 00:07:34 +02:00
Linus Rath
7494fc1776
chore: update version to 1.5.0
2026-04-22 23:49:44 +02:00
Linus Rath
16fe92d2e9
chore: update version to 1.5.0
2026-04-22 23:31:32 +02:00
Linus Rath
3544e6a9e7
chore: bump dependencies to latest compatible versions
2026-04-22 23:03:05 +02:00
Linus Rath
dd1f3e11e6
fix: retry mailbox fetch on first login to handle lazy provisioning #217
2026-04-22 22:45:49 +02:00