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
0731d24f65
feat: show a small picture of what each accessibility preset changes
2026-10-29 23:47:14 +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
ed988a2aae
ci: keep the a11y guard out of lint and vitest and mock narrowerThan in attachment tests
2026-10-29 21:08:59 +01:00
Linus Rath
c0fb427eec
feat: tick a row from anywhere beside its avatar or checkbox #1381
2026-10-29 20:53:52 +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
b25e738a3e
fix: give calendar default alerts account-wide unique ids #1435
2026-10-29 20:06:16 +01:00
Linus Rath
a78d03a18d
fix: color attachment icons by file type in the reader like in the list
2026-10-29 20:06:15 +01:00
Linus Rath
5dfc958723
fix: stop a mail's own body overflow from adding a second scrollbar in the reader
2026-10-29 20:06:15 +01:00
Linus Rath
2e13accade
fix: draw avatar initials in black or white so they read on every colour
2026-10-29 19:59:16 +01:00
Linus Rath
d552a3bb86
fix: give the message preview full contrast and the conversation toggle a 24px target
2026-10-29 19:53:58 +01:00
Linus Rath
6a54fcc5af
test: give the phone settings test the media query helper
2026-10-29 19:38:46 +01:00
Linus Rath
2c3292e980
fix: size the policy page's small text in rem
2026-10-29 19:38:46 +01:00
Linus Rath
12676f247e
fix: let the spam game's inbox flash at most three times a second
2026-10-29 19:38:46 +01:00
Linus Rath
597b546e11
fix: keep the calendar period title readable at 320px wide
2026-10-29 19:38:45 +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
f43eb9f41a
fix: give chip remove buttons, tree expanders, task circles and month events a 24px target
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
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
6ca53f24cd
fix: line up settings tabs with the search field
2026-10-29 19:17:36 +01:00
Linus Rath
be423637fc
feat: show one column and an optional paged message list in simple mode
2026-10-29 19:14:41 +01:00
Linus Rath
8333870c82
fix: keep a click on a message row from costing an extra render
2026-10-29 19:01:36 +01:00
Linus Rath
8e201954b4
fix: make the message list one Tab stop that screen readers read row by row
...
The list was a stack of clickable divs. Screen readers heard nothing when
j or k moved the selection, every row added several Tab stops (Compose
sat 253 Tabs from the top), and a deleted message left the focus on the
page.
The list is now a treegrid named "Messages": one Tab stop, rows named in
one sentence (unread, sender, subject, date, flags, and the preview when
that setting is on), conversations with aria-expanded and their
messages a level down, position and list size on every row. j, k and the
arrows move the focus with the selection, Space ticks a row, Enter opens
it, Shift+F10 or the menu key opens its actions, and after a delete the
focus lands on the next row. With the actions button setting on, each
row shows a button for the same menu, for pointers that can't hover or
right-click.
2026-10-29 18:53:05 +01:00
Linus Rath
8b85f63c75
fix: label the value a locked setting gives users
2026-10-29 18:28:32 +01:00
Linus Rath
38f7edf02f
fix: give the help links in the account menu icons like the other rows
2026-10-29 18:28:32 +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
48a2b596d5
feat: name the locks and defaults a policy file import changes
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
4aa8d09198
fix: keep glossary buttons out of heading names
2026-10-29 18:10:29 +01:00
Linus Rath
bc60638c17
test: cover plain language in the Lite export
2026-10-29 18:10:29 +01:00
Linus Rath
5e188998a7
feat: explain technical terms next to their labels in Settings and the admin area
2026-10-29 18:10:29 +01:00
Linus Rath
724c45d6e3
feat: add short explanations for technical terms that work with keyboard, touch and screen readers
2026-10-29 18:07:46 +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
b4483b8739
test: give the mail app tests the category tab panel props
2026-10-29 18:03:01 +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
f73643bbbd
fix: name the template, advanced search and admin server fields
2026-10-29 18:03:00 +01:00
Linus Rath
0e2a05e0ea
fix: name the event editor's title, date, time and select fields
2026-10-29 18:03:00 +01:00
Linus Rath
dcc21acd07
fix: name the security settings fields and let a settings row's label name its field
2026-10-29 18:03:00 +01:00
Linus Rath
2038054b0b
fix: tie the setup wizard's labels and hints to their fields
2026-10-29 18:02:59 +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
6143aaa80d
fix: move the focus into the batch tag menu and make the full-screen compose window a dialog
2026-10-29 18:02:59 +01:00
Linus Rath
9c913d4d79
fix: hold and return the focus in file previews, the document editor and other full-screen overlays
2026-10-29 18:02:59 +01:00
Linus Rath
b96d875776
fix: make the account picker and the admin OAuth and plugin code dialogs proper modals
2026-10-29 18:02:58 +01:00