Linus Rath
6632834767
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-09-01 23:25:30 +02:00
Linus Rath
b5b18371a4
fix: drop unused symbols left by the search dedupe change
2026-09-01 22:16:58 +02:00
Linus Rath
bc3b6a0eb6
fix: collapse search hits for the same server object reached through several logins #641
2026-09-01 22:15:49 +02:00
Linus Rath
c73f90eb35
Merge pull request #852 from shukiv/feat/clear-search-on-folder-change
...
feat(search): add "clear search when switching folders" setting
2026-09-01 21:53:00 +02:00
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
Shuki Vaknin
12f01409a6
feat(search): add "clear search when switching folders" setting
...
Switching folders currently keeps an active search applied and re-runs
it in the newly selected folder — deliberate behavior from #553 , where
users wanted the query to follow them across folders. Others expect the
opposite: clicking Inbox/Sent should drop the search and just browse the
folder.
Add an opt-in setting (Settings → email behavior) that reconciles both.
Default is off, so #553 's search-follows-you behavior is unchanged for
everyone. When on, any folder click clears the text query and advanced
filters and browses the folder instead of re-running the search.
Applied uniformly across the four folder-entry paths in MailApp — normal
mailboxes, per-account (Pro sidebar) folders, unified views, and cross
views — via one helper so no path diverges.
2026-09-01 21:26:08 +03:00
Linus Rath
f2415d266c
Merge pull request #948 from shukiv/fix/batch-toolbar-top-of-list
...
fix(list): stop the batch toolbar hiding the message you just selected
2026-09-01 20:18:28 +02:00
Shuki Vaknin
71dd5f4fed
fix(list): stop the batch toolbar hiding the message you just selected
...
Opening the toolbar feeds its height back into scrollTop so rows keep
their position on screen. At the top of the list there are no rows above
to hold steady, so that scroll instead slides the first message under the
toolbar — select the top message and it disappears behind the bar acting
on it.
Skip the compensation when the list is already at the top and let the
content move down there, which is what the toolbar taking up space
should do. Mid-list behaviour is unchanged, and the scroll is clamped at
zero so collapsing the toolbar cannot drive it negative.
2026-09-01 19:05:35 +03:00
Michael Richter
494adb9b53
fix: set default addressbook to selected one
2026-09-01 15:08:12 +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