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