Linus Rath
96cdf3749f
feat: avatars, tinted icons and structured previews in global search results #641
2026-09-01 21:41:35 +02:00
Linus Rath
a9cd4ced60
feat: match the search tab chrome to the mail page sidebar #641
2026-09-01 21:30:16 +02:00
Linus Rath
1d8e4b9d8a
fix: duplicate calendar-app import and type errors the stale tsbuildinfo hid
2026-09-01 21:08:10 +02:00
Linus Rath
c075b79cbb
feat: global search palette and search tab in the Pro shell #641
2026-09-01 20:55:13 +02:00
Linus Rath
0c7437f67a
feat: open global search hits through the owning login on every surface #847
2026-09-01 20:55:13 +02:00
Linus Rath
a210b22e49
fix: set name.full on all contact write paths so vCards carry mandatory FN #430
2026-08-31 23:53:24 +02:00
Linus Rath
76d67aa1ee
feat: add office document fixtures to demo Files and a word-document icon (doc/docx/odt/rtf)
2026-08-31 23:25:05 +02:00
Linus Rath
ca7fbbe416
feat: WOPI office document editing in Files (Collabora/OnlyOffice/EuroOffice) #425
2026-08-31 23:16:19 +02:00
Linus Rath
d60eb59575
fix: pad attachment preview overlays for the iOS PWA safe area #936
2026-08-31 21:03:08 +02:00
Linus Rath
47dac6421e
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-08-31 20:43:24 +02:00
Linus Rath
a69b3651fd
fix: render plain-text-only mail as text in the mobile thread view #489
2026-08-31 20:41:45 +02:00
Michael Richter
84617d6186
feat: OAuth handler for plugins; extended contacts and addressbook API
2026-08-31 09:55:06 +02:00
Linus Rath
b11cf4b1a5
feat: offer deleting a non-empty folder with its messages
2026-08-29 18:23:09 +02:00
Linus Rath
03b588096d
feat: filter advanced search by message size
2026-08-29 18:20:21 +02:00
Linus Rath
cc90903f05
feat: request delivery notifications and REQUIRETLS when sending
2026-08-29 18:16:52 +02:00
Linus Rath
e54d179f32
feat: surface CalendarEventNotification invitations and updates
2026-08-29 18:11:50 +02:00
Linus Rath
14cdb2f6ff
feat: organize invitations as the default ParticipantIdentity
2026-08-29 18:07:47 +02:00
Linus Rath
e8c594001d
feat: show attendee free/busy via Principal/getAvailability
2026-08-29 18:03:26 +02:00
Linus Rath
0b39e43a4d
feat: surface ShareNotification changes as toasts
2026-08-29 17:59:04 +02:00
Linus Rath
6e5aca60a9
feat: share mail folders with other users via mail:share
2026-08-29 17:53:54 +02:00
Linus Rath
b408b2597a
feat: highlight search hits with SearchSnippet/get
2026-08-29 17:47:23 +02:00
Linus Rath
1859783a8b
fix: stop the mobile More menu flashing open when a message is opened
2026-08-29 17:29:03 +02:00
Linus Rath
3ea64b2ffe
fix: keep message rows in place when the batch toolbar opens
2026-08-29 17:21:02 +02:00
Linus Rath
40cbe82848
fix: drop duplicate selection checkbox in message list
2026-08-29 17:18:49 +02:00
Linus Rath
1807b2df6b
feat: allow setting an address book as default ( #924 )
2026-08-29 17:15:50 +02:00
Linus Rath
42f736b96d
Merge pull request #932 from kchuang1015/feat/zh-tw-locale
...
feat(i18n): add Traditional Chinese (Taiwan) locale
2026-08-29 12:32:02 +02:00
Linus Rath
4fe5701b3b
feat: default sidebar apps for all users #931
2026-08-29 12:31:17 +02:00
Linus Rath
d800689924
feat: use Stalwart synthetic ids for recurring occurrences #140
2026-08-29 11:03:48 +02:00
Kuan-Chieh Huang
5741e7bc65
feat(i18n): add Traditional Chinese (Taiwan) locale
2026-08-29 10:29:59 +08:00
Lars Tobias Skjong-Børsting
a3ede003a1
feat(i18n): add Norwegian Bokmål locale
2026-08-28 19:31:21 +02:00
Linus Rath
4bf3a3f8bb
feat: re-sync existing push registrations on app start
2026-08-26 21:56:58 +02:00
Stefan Hildebrandt
ced81835ef
fix(calendar): drop default SKIP=OMIT from recurrence rules (DAVx5 sync)
...
Recurring events defaulted skip:"omit"+rscale:"gregorian" on every rule,
which Stalwart serialises into the CalDAV RRULE as RSCALE=GREGORIAN;SKIP=OMIT.
DAVx5 rejects that ("Invalid recurrence rule"), breaking Android sync. Those
RFC 7529 fields only matter for non-Gregorian scales / invalid-date handling,
so stop emitting them for plain Gregorian rules.
- lib/recurrence-rule.ts: createRecurrenceRule() helper with no skip/rscale.
- CalendarRecurrenceRule.rscale/skip are now optional.
- event-modal + recurrence-editor build rules via the helper.
- demo fixture cleaned; unit test asserts no skip/rscale.
Closes #805 .
2026-08-25 21:13:34 +02:00
Linus Rath
a15af72296
fix: resolve shared-account identity and email on reschedule; isolate per-account scheduled-list failures
2026-08-25 20:26:48 +02:00
Linus Rath
1305d13a77
Merge pull request #874 from rotterp/fix/scheduled-send-shared-accounts
...
fix: route scheduled sends to the account that owns the submission
2026-08-25 20:23:58 +02:00
Linus Rath
819d3c78cc
Merge pull request #898 from French-Asgeir/feature/event-toolbar-overflow
...
fix: event toolbar overflow in edit mode
2026-08-25 20:22:17 +02:00
French-Asgeir and Copilot Autofix powered by AI
7046f2d557
fix: fix save and cancel button being unavailable when event is created
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-25 20:20:29 +02:00
Linus Rath
99daa53c8c
feat: search suggestions with recent searches and contact autocomplete #845
2026-08-25 20:09:18 +02:00
Linus Rath
55ef780342
fix: cap live SSE streams per tab so many logins can't starve JMAP requests #702
2026-08-25 20:03:29 +02:00
Linus Rath
0b20f60579
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-08-25 19:52:02 +02:00
Linus Rath
1ce1f9c918
Merge pull request #877 from dealerweb/fix/pro-draft-tab-attachments
...
fix: carry draft attachments in the Pro draft tab too
2026-08-25 19:51:22 +02:00
Linus Rath
3ef2e6946f
fix: embed the signature into re-opened drafts #848
2026-08-25 19:49:49 +02:00
Linus Rath
3472bc0419
fix: parse calendar invitations in directly viewed shared folders against the folder owner #867
2026-08-25 19:36:04 +02:00
Linus Rath
987ed75aaf
Merge pull request #861 from dealerweb/fix/fresh-compose-tab-title
...
fix: keep the fresh-compose tab title clear of the selected email subject
2026-08-25 19:26:54 +02:00
Linus Rath
1faa6f6900
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-08-25 19:22:50 +02:00
Linus Rath
3ef2b45fb4
feat: configurable message-list ordering #718
2026-08-25 19:20:48 +02:00
Linus Rath
9f32fc879b
feat: add custom time zone setting overriding browser detection #755
2026-08-25 19:18:16 +02:00
Linus Rath
46ccd2267d
fix: pin supported-calendar-component-set on created calendars #760
2026-08-25 19:16:20 +02:00
Linus Rath
e838794133
Merge pull request #895 from romanvru/feat/upload-progress
...
Real byte progress for attachment uploads, stock and plugin-offloaded
2026-08-25 18:55:07 +02:00
Linus Rath
a29cf27ff8
fix: route multi-account email lookups and invitation parsing by source account #847
2026-08-25 18:50:50 +02:00
Linus Rath
f189e0bab6
fix: refresh account display name from the Stalwart principal on login/restore/switch #900
...
Stalwart seeds the default identity name from the principal "Full name" only
once, and addAccount never rewrote displayName after first login, so an admin
rename never showed up in Bulwark. Read the live name via x:Account/get
through the passthrough (falling back to the identity name elsewhere) and
prefer the synced registry name in account settings.
2026-08-25 18:45:44 +02:00