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
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
87d9f89238
fix: update moved bookings in place and keep user edits when updating calendar events
2026-10-30 05:39:01 +01:00
Linus Rath
916434924c
fix: show an arrives-by date on parcel cards only when the mail gives a latest date
2026-10-30 05:34:55 +01:00
Linus Rath
90d7afc349
fix: keep event cards whose last day ends after a daylight saving change
2026-10-30 05:27:46 +01:00
Linus Rath
1d4cae961e
fix: place UTC pass times in the local zone and drop delayed or unclear pass times
2026-10-30 05:21:18 +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
b9b26e03a7
fix: give a boarding pass leg the same calendar uid as its booking mail
2026-10-30 05:10:33 +01:00
Linus Rath
972e5f6217
feat: add cards for booking, parcel and order mail
2026-10-30 05:06:17 +01:00
Linus Rath
f3e0b6c451
fix: merge a flight written as LX0072 with its boarding pass for LX72
2026-10-30 05:02:08 +01:00
Linus Rath
be87454eb7
feat: turn booking cards into calendar events with stable uids
2026-10-30 04:58:03 +01:00
Linus Rath
63830d4033
feat: read Apple Wallet boarding passes and tickets
2026-10-30 04:57: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
fa324170a2
feat: merge booking parts into one card per booking
2026-10-30 04:33:57 +01:00
Linus Rath
76b0c2fba2
feat: read schema.org booking markup from mail bodies
2026-10-30 04:27:25 +01:00
Linus Rath
a529e6e57c
feat: add an airport time zone table for flight cards
2026-10-30 04:18:53 +01:00
Linus Rath
3945d38bbd
test: commit the bimi certificate fixtures the gitignore dropped
2026-10-30 01:03:55 +01:00
Linus Rath
1da4f41f43
Merge branch 'feat/e-invoice-host'
2026-10-30 00:41:54 +01:00
Linus Rath
0fa206025c
fix: tint unread rows and mark them with a bar beside the avatar in flat fields
2026-10-30 00:40:05 +01:00
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
392d17ab71
fix: show plugin badges on message rows drawn before the plugin started
2026-10-30 00:23:11 +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
fb751a30df
feat: add a table to the plugin UI kit for line items and totals
2026-10-29 23:33:25 +01:00
Linus Rath
23767b9c80
feat: let plugins print a page they made, such as a readable invoice
2026-10-29 23:30:43 +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
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