Commit Graph
1639 Commits
Author SHA1 Message Date
Linus Rath cc8d7d78ea Merge pull request #829 from larstobi/feat/norwegian-bokmal
feat(i18n): add Norwegian Bokmål locale
2026-08-28 19:56:01 +02:00
Lars Tobias Skjong-Børsting 1ab97b3eea fix(i18n): sync Norwegian locale with main 2026-08-28 19:33:55 +02:00
Lars Tobias Skjong-Børsting 7a80346dd1 fix(i18n): align Norwegian terminology 2026-08-28 19:31:22 +02:00
Lars Tobias Skjong-Børsting 65b50ea3e0 fix(i18n): normalize Norwegian ellipses 2026-08-28 19:31:22 +02:00
Lars Tobias Skjong-Børsting 54e71174d2 Apply suggestions from code review
Co-authored-by: Lars Tobias Skjong-Børsting <larstobi@relatime.no>
2026-08-28 19:31:22 +02:00
Lars Tobias Skjong-Børsting 8135ae076d fix(i18n): remove punctuation from Norwegian weekday abbreviations 2026-08-28 19:31:22 +02:00
Lars Tobias Skjong-Børsting a8ebd3fa8f fix(i18n): refine Norwegian Bokmål translations 2026-08-28 19:31:21 +02:00
Lars Tobias Skjong-Børsting 135d34d760 fix(i18n): polish Norwegian Bokmål translations 2026-08-28 19:31:21 +02:00
Lars Tobias Skjong-Børsting bf92885fc5 refactor(i18n): remove Norwegian locale alias 2026-08-28 19:31:21 +02:00
Lars Tobias Skjong-Børsting b34d22d78b fix(i18n): map Norwegian locale alias to Bokmål 2026-08-28 19:31:21 +02:00
Lars Tobias Skjong-Børsting a3ede003a1 feat(i18n): add Norwegian Bokmål locale 2026-08-28 19:31:21 +02:00
Linus Rath 5dcef717db Change vulnerability report email address
Updated the contact email for reporting vulnerabilities.
2026-08-26 23:32:29 +02: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 2f1192bb32 chore: update version to 1.9.2 1.9.2 2026-08-26 22:17:07 +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 b1271827e8 chore: update version to 1.9.1 1.9.1 2026-08-26 19:40:16 +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
Linus Rath ad5ea57565 Merge pull request #910 from hildebrandttk/fix/recurrence-drop-skip-omit
fix(calendar): drop default SKIP=OMIT from recurrence rules (DAVx5 sync)
2026-08-25 21:20:49 +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 e5d5847169 chore: update version to 1.9.0 1.9.0 2026-08-25 21:03:52 +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 2fd183c789 fix: add swipe-action and calendar-kind strings to all 24 locales 2026-08-25 20:42:20 +02:00
Linus Rath c4c402fbae chore: npm audit fix — bump next 16.3.3, pdfjs-dist 6.2.108, dompurify 3.4.14 2026-08-25 20:34:24 +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-AsgeirandCopilot 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 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
Linus Rath 46ccd2267d fix: pin supported-calendar-component-set on created calendars #760 2026-08-25 19:16:20 +02:00
Linus Rath 8cd5c00b06 fix: keep the folder tree when a refresh burst hits maxConcurrentRequests #780 2026-08-25 19:09:21 +02:00
Linus Rath 8a7f8b0493 fix: gate first-touch calendar/contacts requests to stop duplicate default calendars #907
Stalwart lazily creates an account's default calendar on the first request
that touches it. Bulwark's login fires Calendar/get and CalendarEvent/query
concurrently, and on multi-node servers each node can create its own default,
leaving users with two identical "Personal" calendars. Hold later calendar and
address-book requests per account until the first one settles.
2026-08-25 19:07:01 +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 5109aa059a fix: decode percent-encoded FileNode names from WebDAV-created nodes #869 2026-08-25 18:47:22 +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
Linus Rath c65da9d76a Merge branch 'main' of https://github.com/bulwarkmail/webmail 2026-08-25 18:40:00 +02:00