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
0c7437f67a
feat: open global search hits through the owning login on every surface #847
2026-09-01 20:55:13 +02:00
Linus Rath
0db6bfdc64
feat: global search core: query parser, ranking, cross-account providers #641
2026-09-01 20:55: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
1e9b6ac497
fix: FileNode + blob round-trip in dev mock JMAP, WOPI support for same-origin dev server
2026-08-31 23:45:27 +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
58ebf8d4c5
fix: paginate calendar event fetch so import UID dedup sees all events
2026-08-31 22:48:00 +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
5805a28e8c
feat: resolve pushes with Email/changes and Mailbox/changes deltas
2026-08-29 17:42:21 +02:00
Linus Rath
1807b2df6b
feat: allow setting an address book as default ( #924 )
2026-08-29 17:15:50 +02:00
Linus Rath
39dcc6b219
fix: invalidate persisted update status after an upgrade
2026-08-29 12:46:39 +02:00
Linus Rath
1e2409f8b9
fix: keep basePath when normalizing Chinese Accept-Language
2026-08-29 12:35:38 +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
f1736b63c9
fix(i18n): preserve locale cookie precedence
2026-08-29 13:04:25 +08:00
Kuan-Chieh Huang
9fab1d1f4a
fix(i18n): normalize Chinese proxy locale detection
2026-08-29 11:44:40 +08:00
Linus Rath
19756e4337
fix: pin resolved IP for stored custom JMAP endpoints and branding URLs
2026-08-26 23:02:19 +02:00
Linus Rath
3288589e52
fix: pin resolved IP at connect time to block DNS-rebinding SSRF (GHSA-24w9-8r42-8jwm)
2026-08-26 22:11:06 +02:00
Linus Rath
4bf3a3f8bb
feat: re-sync existing push registrations on app start
2026-08-26 21:56:58 +02:00
Linus Rath
a1ed482a6e
test: type expected emailPush fixture so urgency matches EmailPushConfig
2026-08-26 21:47:39 +02:00
Linus Rath
63fa2d2d93
fix: stop notifying for spam by using the JMAP emailPush delivery filter
2026-08-26 21:45:12 +02:00
Linus Rath
ccf199f7ed
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-08-26 19:29:48 +02:00
Linus Rath
67be0446e3
fix: forward every request header from the proxy so Next 16.3's RSC hash check stops 307-looping navigations #919
2026-08-26 19:28:31 +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
67f1790299
fix: close IPv6 transition-address and redirect bypasses in endpoint guard
2026-08-25 20:50:35 +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
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
af5fac6baa
fix: flip $junk/$notjunk keywords on spam and not-spam #850
2026-08-25 19:36:52 +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