Commit Graph
2140 Commits
Author SHA1 Message Date
Linus Rath d3fecae85f feat: hide the contacts directory when the server refuses it, and let users or admins turn it off #1457 2026-10-31 16:22:24 +01:00
Linus Rath 6c5a727a59 fix: let an identity be saved without a display name #1462 2026-10-31 16:22:22 +01:00
Linus Rath d381144c99 feat: put reply and reply all at the top of the open message on the phone in mountain view #1475 2026-10-31 16:21:40 +01:00
Linus Rath 7c88fb8c5b fix: shrink the mail body to its content when it gets shorter after opening #1474 2026-10-31 16:21:35 +01:00
Linus Rath c13b87c0e8 fix: keep the undo toast off the header on phones #1472 2026-10-31 16:15:58 +01:00
Linus Rath a0da9eb6c2 fix: show the results when searching with a message open in mountain view #1468 2026-10-31 16:15:57 +01:00
Linus Rath 8a4d9e36c9 fix: hide the account dot in the unified view with only one account 2026-10-31 15:57:34 +01:00
Linus Rath 3bdbdb1364 docs: move the mobile hand-off contract to the website 2026-10-31 14:32:39 +01:00
Linus Rath fb3ba0275a feat: hand the mobile app a one-time code instead of the sign-in in its link 2026-10-31 14:06:44 +01:00
Linus Rath 4887ed457c fix: stop list toolbar timers from firing after the toolbar is gone 2026-10-31 02:28:55 +01:00
Linus Rath b11139887d fix: stop the hearing preset card from looking selected 2026-10-31 02:06:19 +01:00
Linus Rath fe65ab528b fix: keep a one-digit unread folder count next to its total 2026-10-31 02:01:16 +01:00
Linus Rath 5340499520 fix: give quick reply the composer's placeholder, attachment and send confirmation checks 2026-10-31 02:00:51 +01:00
Linus Rath 8a09ba5734 fix: leave a bounce's delivery report out of list chips and forwards 2026-10-31 01:50:03 +01:00
Linus Rath d4682890ab fix: hide the quick actions on the open message once the pointer leaves it 2026-10-31 01:47:00 +01:00
Linus Rath c166651d14 fix: leave the preview line out of the density sample while show preview is off 2026-10-31 01:41:35 +01:00
Linus Rath 5f1d03f19c fix: stop the message list from jumping back while scrolling 2026-10-31 01:38:17 +01:00
Linus Rath b9d795b2cc fix: show demo mode as a plain sidebar row instead of a tinted box 2026-10-31 01:37:42 +01:00
Linus Rath 3bb9f7df84 fix: lead with the address when two accounts share a name in the account switcher 2026-10-31 01:37:06 +01:00
Linus Rath 7ecde89fc6 fix: keep the sidebar header gear and plus buttons from running into the folder row below 2026-10-31 01:36:08 +01:00
Linus Rath 99aff47d6e fix: label the search filter panel's button search instead of done 2026-10-31 01:31:04 +01:00
Linus Rath 8b29254a61 fix: hide reply on drafts and scheduled messages in mountain view conversations #1404 2026-10-31 01:26:58 +01:00
Pasquale 3b4b6b9e77 feat: add reply all to expanded mountain view message headers #1404 2026-10-31 01:23:22 +01:00
Linus Rath dafdda5347 fix: let search results move into the open folder #1452 2026-10-31 01:16:34 +01:00
Linus Rath 9af0304616 fix: return to the list after moving or reporting the open message as spam #1458 2026-10-31 01:03:08 +01:00
Linus Rath 3406580a3f fix: return to the list after archiving the open message #1458 2026-10-31 00:56:03 +01:00
Linus Rath dee2c07ce9 Merge branch 'main' of https://github.com/bulwarkmail/webmail 2026-10-30 11:05:11 +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 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 66351e0d31 feat: show admins the changelog of every plugin version an update brings or a rollback undoes 2026-10-30 02:02:40 +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