Commit Graph
3817 Commits
Author SHA1 Message Date
Linus Rath 28c2acccec docs: add booking and parcel cards to the changelog 2026-10-30 06:08:54 +01:00
Linus Rath 57a3b97b5e test: cover booking cards end to end on both test servers 2026-10-30 05:58:53 +01:00
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 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 551d8a79d5 fix: keep link hosts whole and drop stale arrival dates on order cards 2026-10-30 05:24:10 +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 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 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 66c73d0f4d feat: read Wallet passes attached to trusted booking mail 2026-10-30 05:01:02 +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 23e8cc0a01 fix: size the accessibility preset preview text in rem 2026-10-30 01:02:44 +01:00
Linus Rath a80083abd6 fix: let the lite build through with the gated bimi logo endpoint 2026-10-30 01:02:09 +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 9418d79208 fix: name the Add-ons page in the question before a plugin forwards mail 2026-10-30 00:18:23 +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 6b73b9253b fix: stop test runs from reloading the page under next dev 2026-10-30 00:04:04 +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 0731d24f65 feat: show a small picture of what each accessibility preset changes 2026-10-29 23:47:14 +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 06b18e1fa0 chore: release 1.19.0 1.19.0 2026-10-29 21:23: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 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