Commit Graph
2112 Commits
Author SHA1 Message Date
Linus Rath 859d368a1c feat: offer add to calendar on booking cards 2026-10-30 05:46:11 +01:00
Linus Rath 4479df3bf5 Merge branch 'feat/structured-mail-calendar' into feat/structured-mail 2026-10-30 05:42:47 +01:00
Linus Rath df257c23ba Merge branch 'feat/structured-mail-cards' into feat/structured-mail 2026-10-30 05:40:44 +01:00
Linus Rath 3aac5a5c4c fix: show booking calendar state across cards, say when a plugin stops a change and make the calendar picker keyboard friendly 2026-10-30 05:40:19 +01:00
Linus Rath b0782af2d1 fix: keep routes and booking numbers in reading order in right-to-left languages 2026-10-30 05:40:17 +01:00
Linus Rath b429f25360 fix: load no product images on conversation cards in plain-text mode 2026-10-30 05:40:16 +01:00
Linus Rath 551d8a79d5 fix: keep link hosts whole and drop stale arrival dates on order cards 2026-10-30 05:24:10 +01:00
Linus Rath ba6d5e448b fix: read a booking from its markup alone when the mail has some, not from its Wallet pass 2026-10-30 05:21:18 +01:00
Linus Rath 521151b1f7 test: keep the booking calendar picker inside a phone screen 2026-10-30 05:17:29 +01:00
Linus Rath fe5f10a7ea feat: add, update and remove bookings from mail in the calendar 2026-10-30 05:11:51 +01:00
Linus Rath eb1859dbe3 feat: show booking, parcel and order cards in the reader 2026-10-30 05:10:59 +01:00
Linus Rath 972e5f6217 feat: add cards for booking, parcel and order mail 2026-10-30 05:06:17 +01:00
Linus Rath 66c73d0f4d feat: read Wallet passes attached to trusted booking mail 2026-10-30 05:01:02 +01:00
Linus Rath 8098039d69 feat: show booking cards only for mail from verified senders 2026-10-30 04:41:29 +01:00
Linus Rath 23e8cc0a01 fix: size the accessibility preset preview text in rem 2026-10-30 01:02:44 +01:00
Linus Rath 1da4f41f43 Merge branch 'feat/e-invoice-host' 2026-10-30 00:41:54 +01:00
Linus Rath 392d17ab71 fix: show plugin badges on message rows drawn before the plugin started 2026-10-30 00:23:11 +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 0731d24f65 feat: show a small picture of what each accessibility preset changes 2026-10-29 23:47:14 +01:00
Linus Rath f6b641c94e feat: let plugins forward a message with its attachments after the user allows the address once 2026-10-29 23:27:15 +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