Linus Rath
1521826d37
feat: add functionality to automatically add recipients to trusted senders when replying
2026-05-02 23:50:50 +02:00
Linus Rath
0d218d0d2a
fix: square the colored left marker on calendar events
2026-05-02 23:41:08 +02:00
Linus Rath
9777dd655c
feat: add share indicators for calendars and contacts, update JMAP capabilities #244
2026-05-02 23:29:21 +02:00
Linus Rath
f970fd1822
feat: add plugin hooks for compose, attachments, search, lifecycle, and routing
2026-05-02 21:27:56 +02:00
Linus Rath
bc97a1ac10
feat: make update notice non-dismissible
2026-05-02 13:07:34 +02:00
Linus Rath
5319562c94
feat: add update-available detection
2026-05-02 01:58:30 +02:00
Linus Rath
8813533958
fix: respect per-email dark mode toggle when always-light setting is on
2026-05-01 21:42:02 +02:00
Linus Rath
affa239d75
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-05-01 21:35:53 +02:00
Linus Rath
5d292fa43f
fix: scroll apps list in navigation rail to prevent overflow
2026-05-01 21:35:29 +02:00
Linus Rath
878df6bb49
refactor: enhance path rendering in mailbox context menu
2026-05-01 21:26:03 +02:00
Linus Rath
607a9584fd
refactor: implement path shortening for mailbox context menu
2026-05-01 21:25:31 +02:00
Linus Rath
b8e2bfd793
fix: show full path in mailbox context menu header
2026-05-01 21:15:47 +02:00
Linus Rath
4ad6d37877
fix: clamp context submenu inside viewport
2026-05-01 21:03:54 +02:00
Linus Rath
d7c29b7bec
refactor: rework mobile mail viewer toolbar
2026-05-01 21:00:34 +02:00
Luis Felipe Marzagao and Linus Rath
8c74e01a40
fix: add useTranslations for "selected emails" and "cancel" on email list batch operations
2026-05-01 20:37:51 +02:00
Linus Rath
9a5bb78b18
refactor: make admin panel mobile friendly
2026-05-01 20:22:29 +02:00
Linus Rath
eecf16daa2
fix: stop silently destroying emails when trash mailbox isnt found #195
2026-05-01 20:01:13 +02:00
Linus Rath
e50691d6c4
fix: navigate tour to mailbox when starting from another page
2026-05-01 18:30:51 +02:00
Linus Rath
089963b1b3
refactor: redesign expanded details panel
2026-05-01 18:22:06 +02:00
Linus Rath
4af952613a
fix: prevent context menu jump and animation on open
2026-05-01 17:43:07 +02:00
Linus Rath
683fe75864
i18n: translate SPF/DKIM/DMARC tooltips
2026-05-01 17:25:52 +02:00
Linus Rath
7822a363dd
fix: render below-header overflow popup outside clipped row
2026-05-01 17:10:17 +02:00
Linus Rath
1e535e96a2
feat: image attachment thumbnails and preview chips
2026-05-01 17:03:45 +02:00
Linus Rath
32135ddb95
fix: collapse below-header attachments to single row with overflow pill
2026-05-01 16:29:38 +02:00
Linus Rath
841513e510
feat: support subpath deployment with NEXT_PUBLIC_BASE_PATH environment variable
2026-05-01 14:57:49 +02:00
Linus Rath
ec0f355c13
feat: allow custom sub-addressing delimiter character #239
2026-05-01 01:48:39 +02:00
Linus Rath
c555973b6b
feat: configurable sub-addressing delimiter #239
2026-05-01 01:42:06 +02:00
Abdullah and Linus Rath
7dc5984359
feat(i18n): add Turkish localization
2026-05-01 01:16:30 +02:00
Linus Rath
f3d9115ecd
feat: web push notifications for PWA #233
2026-05-01 00:26:48 +02:00
Linus Rath
65eef4b2b8
fix: persist htmlBody in drafts to preserve rich formatting #236
2026-04-30 15:24:09 +02:00
Linus Rath
25de7d996c
feat: add tables to composer #236
2026-04-30 15:16:51 +02:00
Luis Felipe Marzagao and Linus Rath
c406fbb73e
fixup! fix: implement useTranslations for start date on event detail popover
2026-04-30 11:08:16 +02:00
Luis Felipe Marzagao and Linus Rath
31024396e3
fixup! fix: implement useTranslations for start date on event modal
2026-04-30 11:08:16 +02:00
Luis Felipe Marzagao and Linus Rath
f0967f90eb
fix: implement useTranslations for start date on event modal
2026-04-30 11:08:16 +02:00
Luis Felipe Marzagao and Linus Rath
a4bb8e0c28
fix: implement useTranslations for start date on event detail popover
2026-04-30 11:08:16 +02:00
Linus Rath
7188abc9bc
fix: set In-Reply-To and References on replies #234
2026-04-30 01:25:04 +02:00
Linus Rath
4a91cd0c44
style: drop iframe border-radius
2026-04-29 20:26:40 +02:00
Linus Rath
6abf8a5dd8
fix: detect <style> tag for padding
2026-04-29 20:25:24 +02:00
Linus Rath
3667c842c6
fix: light-mode override to body content only
2026-04-29 20:17:59 +02:00
Linus Rath
b64721b43c
fix: pad bare HTML emails like plain-text mails
2026-04-29 20:09:00 +02:00
Linus Rath
6b5ca2cb89
fix: smooth out body load, prevent flicker
2026-04-29 20:03:58 +02:00
Linus Rath
0f6e4f995f
fix: prevent iframe flash on Load images or Trust sender
2026-04-29 18:29:48 +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
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
3e1de10213
feat: add JMAP sharing for calendars and address books
2026-04-26 20:10:04 +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
fe1d4861bb
feat: composer-sidebar slot + plugin-declared frame-src origins
2026-04-25 18:40:54 +02:00