Commit Graph
1688 Commits
Author SHA1 Message Date
Linus Rath 2c19cfe8d9 fix: bundle dev plugins whose dependencies only declare main or touch node builtins 2026-10-30 00:31:52 +01:00
Linus Rath 950fc21a79 Merge branch 'main' of https://github.com/bulwarkmail/webmail 2026-10-30 00:18:52 +01:00
Linus Rath 80476d1ad2 feat: show a multi-line text box for plugin admin settings that ask for one 2026-10-30 00:17:32 +01:00
Linus Rath 3c5b45a506 fix: make unread mail stand out in the flat fields theme 2026-10-30 00:17:19 +01:00
Linus Rath cf0eb03c4a feat: show the sender's BIMI logo as the sender icon when the message passes DMARC
Stalwart does no BIMI, so sender icons were only ever favicons, which
anyone controls for any domain. The webmail server now does the
receiver side itself at /api/bimi, and avatars ask it only for
messages whose own Authentication-Results say dmarc=pass for the exact
From domain.

- `lib/bimi/`: DMARC policy check (quarantine or reject, pct=100, the
  parent domain's sp and p for subdomains), the assertion record with
  fallback to the parent domain, mark certificate validation (chain to
  pinned DigiCert, GlobalSign and SSL.com VMC roots, BIMI key purpose,
  validity, SAN, SCTs present, CRL revocation, logo from the logotype
  extension), SVG Tiny PS checks and rendering to PNG, caching
- logos backed only by the DNS record show by default; the admin
  setting "Require a mark certificate" (`BIMI_REQUIRE_CERTIFICATE`)
  limits them to VMC and CMC backed ones
- a check mark beside the sender's name for certificate-backed logos
- avatars try contact photo, BIMI logo, plugin avatar, favicon; the
  sender warning shield still wins, and logos follow the sender icons
  setting and the no-third-party-traffic mode
- the two-label public suffix list moved to `lib/root-domain.ts`

SCT signatures are not verified and only the default selector is used.
2026-10-30 00:12:24 +01:00
Linus Rath 2c34afce2d fix: listen on the HOSTNAME and PORT from .env.local with npm start #1441 2026-10-30 00:01:29 +01:00
Linus Rath 605a3983b1 feat: show a warning shield instead of the sender icon when the sender check fails 2026-10-29 21:13:36 +01:00
Linus Rath 50b3ddccec feat: let admins keep the refresh token valid on sign-out so Stalwart keeps the consent #1388 2026-10-29 20:47:18 +01:00
Linus Rath f1d6b3b815 Merge branch 'main' of https://github.com/bulwarkmail/webmail 2026-10-29 20:28:40 +01:00
Linus Rath 2e6dcceebb Merge pull request #1358 from illuwa-soft/fix/full-height-app-page
fix: honor full-height app-page slots
2026-10-29 20:27:00 +01:00
Linus Rath 357b6af3c9 feat: offer to remove a cancelled meeting from the calendar in the cancellation mail #1425 2026-10-29 20:24:27 +01:00
Linus Rath 0b4e501142 feat: make the login email placeholder configurable #1423 2026-10-29 20:24:26 +01:00
Linus Rath d875714f35 feat: offer remember me on the sso-only login and apply it to every sso path #1437 2026-10-29 20:06:44 +01:00
Linus Rath b25e738a3e fix: give calendar default alerts account-wide unique ids #1435 2026-10-29 20:06:16 +01:00
Linus Rath e363427d0e fix: decode escaped colons in imported vcard notes #1438 2026-10-29 20:06:16 +01:00
Linus Rath a86023787f fix: give Aurora Glass solid surfaces, menus and dialogs when transparency is reduced 2026-10-29 19:38:46 +01:00
Linus Rath 35be105a73 fix: size small text in rem so it follows the browser and app text size 2026-10-29 19:38:45 +01:00
Linus Rath 7f74fcf9bf fix: move toasts away from the focused control and keep focus clear of sticky headers inside panes 2026-10-29 19:38:45 +01:00
Linus Rath b22968a7df fix: show the message list, not only the reader, with a large browser text size and wrap cut-off labels 2026-10-29 19:38:45 +01:00
Linus Rath e57e922950 feat: make buttons, menu items, rows and switches 44px when large targets is on 2026-10-29 19:38:45 +01:00
Linus Rath 9f6c7b99c9 fix: raise text contrast to 4.5:1 in every built-in theme, light and dark 2026-10-29 19:38:45 +01:00
Linus Rath a1ee9035de fix: scroll without gliding when reduce motion is on 2026-10-29 19:38:45 +01:00
Linus Rath 7525fe18e4 fix: keep switches, selections and pressed buttons visible in Windows contrast themes 2026-10-29 19:38:44 +01:00
Linus Rath c4dfa6f3e4 fix: draw the focus outline on plugin kit buttons, fields and switches 2026-10-29 19:38:44 +01:00
Linus Rath 1111dd6709 fix: show the focus outline on menu items, grid cells and other roving-focus controls 2026-10-29 19:38:44 +01:00
Linus Rath a6701795eb fix: skip screen reader announcements once the page is gone 2026-10-29 18:58:11 +01:00
Linus Rath 315e292706 feat: show the accessibility and help links on the login page, in the settings sidebar and in the account menu 2026-10-29 18:28:06 +01:00
Linus Rath 623c9e1792 feat: let operators set accessibility statement, barrier report, help, Easy Read and sign language links 2026-10-29 18:27:35 +01:00
Linus Rath 58f01fe7a3 feat: let admins lock a setting to a chosen value and preset any setting, accessibility options included 2026-10-29 18:27:35 +01:00
Linus Rath 4832d37ff0 test: parse plain-language strings as ICU when comparing their placeholders 2026-10-29 18:10:29 +01:00
Linus Rath bb739c7445 feat: use plainer English and German wording for sign-in and error messages when plain language is on 2026-10-29 18:07:44 +01:00
Linus Rath 4e2affe406 fix: name the remaining search boxes, filter fields and settings inputs that only had a placeholder 2026-10-29 18:03:00 +01:00
Linus Rath ef13556a01 fix: give every contact form field a label screen readers read out 2026-10-29 18:02:59 +01:00
Linus Rath 01a6ab22d2 fix: name the plugin kit's buttons in the app language and read field hints and errors with the field 2026-10-29 18:02:58 +01:00
Linus Rath da215b8c06 fix: underline links in mail shown in the app's colours so button links stay recognisable 2026-10-29 17:53:59 +01:00
Linus Rath af3019ea2b feat: read a message aloud with the browser's voice, highlighting what it reads 2026-10-29 17:53:58 +01:00
Linus Rath bb78697981 feat: pause animated images in mail with a play button 2026-10-29 17:53:57 +01:00
Linus Rath 1e929b0a95 feat: read HTML mail as plain text, by default or per message 2026-10-29 17:53:57 +01:00
Linus Rath 3c4d63006c feat: scale wide mail down to the pane on any screen with fit wide mail on 2026-10-29 17:53:56 +01:00
Linus Rath 8cc0f8f258 feat: keep message lines to about 80 characters with the comfortable reading width 2026-10-29 17:53:56 +01:00
Linus Rath dcc0d600f4 feat: show HTML mail in the app's font, colours and spacing when styles are overridden 2026-10-29 17:53:56 +01:00
Linus Rath 24a13cc1f8 fix: stop animations inside mail when reduce motion is on 2026-10-29 17:53:55 +01:00
Linus Rath c07ba1a370 feat: show message bodies at the chosen text size and enlarge text below the minimum 2026-10-29 17:53:55 +01:00
Linus Rath c20b9846b9 fix: name each message frame after its subject and give it the mail's language 2026-10-29 17:53:54 +01:00
Linus Rath cf4d02b49b feat: draw calendar, tag and folder colours in a colour-blind-safe palette when that setting is on 2026-10-29 17:53:51 +01:00
Linus Rath d713d31af3 feat: announce how much new mail came and flash the tab title slowly with visual alerts 2026-10-29 17:53:49 +01:00
Linus Rath a7ce265ac8 feat: keep plugin notifications off the desktop while do not disturb is on 2026-10-29 17:53:48 +01:00
Linus Rath 374ae9c8dc feat: ask before deleting or archiving when the confirm settings are on 2026-10-29 17:53:48 +01:00
Linus Rath ee17c0dbaf feat: undo marking read or unread, stars and tags from the toast or with Ctrl+Z 2026-10-29 17:53:47 +01:00
Linus Rath 4af4404962 feat: undo the last mail actions with Ctrl+Z or z, newest first 2026-10-29 17:53:46 +01:00