333 Commits
Author SHA1 Message Date
Linus Rath 50b3ddccec feat: let admins keep the refresh token valid on sign-out so Stalwart keeps the consent #1388 2026-10-29 20:47:18 +01:00
Linus Rath 0b4e501142 feat: make the login email placeholder configurable #1423 2026-10-29 20:24:26 +01:00
Linus Rath d875714f35 feat: offer remember me on the sso-only login and apply it to every sso path #1437 2026-10-29 20:06:44 +01:00
Linus Rath 623c9e1792 feat: let operators set accessibility statement, barrier report, help, Easy Read and sign language links 2026-10-29 18:27:35 +01:00
Linus Rath f12a13e1fd feat: create documents in the formats the document editor can edit from New file #1393 2026-10-29 00:01:13 +01:00
Linus Rath d10d6b60ce fix: tell admins the OAuth setup needs a webmail sign-in and disable it until there is one 2026-10-28 17:40:26 +01:00
Linus Rath 9e809a31db Merge branch 'feat/org-features' into feat/org-thirdparty 2026-10-28 05:27:58 +01:00
Linus Rath 1a747ac9dd feat: limit the page's CSP to the configured hosts with no third-party traffic #903 2026-10-28 04:30:41 +01:00
Linus Rath 031d94635c refactor: keep the outgoing host descriptions out of the browser bundle and scan every URL form #903 2026-10-28 04:30:23 +01:00
Linus Rath defe4e93f3 fix: bind the sign-in time to the refresh token and count unstamped sessions from a fixed time 2026-10-28 03:42:19 +01:00
Linus Rath cefb20db4e test: give the plugin proxy route test the config reader the mode needs #903 2026-10-28 03:10:14 +01:00
Linus Rath 6e5d8faec6 feat: refuse to restore or renew sessions older than the admin-set maximum length 2026-10-28 02:30:32 +01:00
Linus Rath 92c9110f3c feat: show the third-party traffic switch and what stays reachable in Organisation > Security #903 2026-10-28 02:24:13 +01:00
Linus Rath 553f1e9149 feat: add a switch that stops all third-party traffic #903 2026-10-28 02:19:06 +01:00
Linus Rath 084cf3cf3a fix: fetch the policy again only for an account of a domain it doesn't cover 2026-10-28 01:08:56 +01:00
Linus Rath 4004b9be7c feat: let admins export and import the whole user policy as one file 2026-10-28 00:44:31 +01:00
Linus Rath 4b69f1307f feat: let admins scope the user policy per domain or group 2026-10-28 00:29:02 +01:00
Linus Rath 67982b19bf fix: register the webmail as a first-party OAuth client on Stalwart 1.0 so SSO users keep full access 2026-10-26 20:25:43 +01:00
Linus Rath 004f0948d5 fix: ask Stalwart 1.0 for mail, contacts, calendar and file access when signing in with SSO 2026-10-26 20:25:42 +01:00
Linus Rath 8860dde005 fix: sign in with password and TOTP on Stalwart 1.0 2026-10-26 20:25:42 +01:00
Linus Rath 8a3351bbc9 fix: refuse an oversized plugin approval upload before reading it 2026-10-26 15:15:58 +01:00
Linus Rath 42117da498 fix: stop replaying a stored credential the mail server refused, so a stale session cannot get the webmail banned (GHSA-g6c7-r7wq-xrm2) 2026-10-26 15:00:56 +01:00
Linus Rath ae897b42a4 fix: make the impersonation handoff really clear the previous account list and ignore ?impersonated=1 links from elsewhere 2026-10-26 14:58:31 +01:00
Linus Rath eb2787bcc9 fix: end admin sessions on sign-out and when the admin password changes 2026-10-26 14:52:04 +01:00
Linus Rath 121d2d5e31 fix: stop buffering up to 100 MB of every unauthenticated request body before routing 2026-10-26 14:52:04 +01:00
Linus Rath 08969fde67 fix: stop reading a mail server's answer past a size limit in the JMAP, WebDAV, push preview and agenda routes 2026-10-26 14:52:04 +01:00
Linus Rath 07e6ecce1a fix: show a plain new-mail notification instead of another login's message when two signed-in logins have the same account id 2026-10-26 14:52:04 +01:00
Linus Rath 885ecdaa07 fix: keep the server's path prefix in the CalDAV addresses shown in calendar settings 2026-10-26 14:52:04 +01:00
Linus Rath e6c911899c fix: refuse a session secret under 32 characters in the setup wizard, which broke admin sign-in afterwards 2026-10-26 11:48:39 +01:00
Linus Rath fa3e76652f fix: keep plugin credentials of a bare-name token sign-in under the account it resolved to 2026-10-26 11:36:57 +01:00
Linus Rath 5bd03d175d fix: show all-day events on their own day in the Calendar Agenda for viewers west of the server's time zone 2026-10-26 11:33:38 +01:00
Linus Rath b9fc9bc9c0 fix: stop synced settings from piling up a new file for every extra slash after the server address 2026-10-26 11:33:38 +01:00
Linus Rath 01a1dc47a6 fix: load push notification previews when the webmail reaches the mail server on an internal address 2026-10-26 11:33:37 +01:00
Linus Rath 1fc44b4813 fix: show the push notification for mail in an account shared into another signed-in login 2026-10-26 11:33:37 +01:00
Linus Rath 9ed3354550 fix: send a password and TOTP sign-in to the server the user typed, not the default one 2026-10-26 11:33:37 +01:00
Linus Rath 680742c3ef fix: end a password and TOTP sign-in without remember me with the browser session 2026-10-26 11:33:37 +01:00
Linus Rath ec0fed19cc fix: stop reading a marketplace bundle download once it passes the package size limit 2026-10-26 11:29:37 +01:00
Linus Rath cb51847ab3 fix: refuse plugin approval requests while user plugins or their review are turned off (GHSA-qc44-275p-gqw9) 2026-10-26 11:29:36 +01:00
Linus Rath cf2c27157d Merge branch 'main' into feat/stalwart-1.0
# Conflicts:
#	components/contacts/contacts-app.tsx
#	components/email/__tests__/composer-discard.test.tsx
#	components/email/calendar-invitation-banner.tsx
#	components/email/email-composer.tsx
#	components/mail/mail-app.tsx
#	components/pro/pro-compose-tab-body.tsx
#	components/pro/pro-email-tab-body.tsx
#	components/ui/__tests__/avatar.test.tsx
#	components/ui/avatar.tsx
#	hooks/use-mailbox-drop.ts
#	lib/__tests__/calendar-alerts.test.ts
#	lib/__tests__/jmap-calendar-tasks.test.ts
#	lib/__tests__/jmap-send-threading.test.ts
#	lib/demo/demo-client.ts
#	lib/demo/fixtures/calendars.ts
#	lib/jmap/client-interface.ts
#	lib/jmap/client.ts
#	lib/web-push.ts
#	stores/__tests__/contact-store.test.ts
#	stores/__tests__/email-store-thread-key.test.ts
#	stores/calendar-store.ts
#	stores/contact-store.ts
#	stores/email-store.ts
2026-10-26 10:14:12 +01:00
Linus Rath 391ed6c018 Merge branch 'fix/security-audit-2026-10' 2026-10-19 12:58:50 +02:00
Linus Rath 9f3441c783 fix: accept both fetch response types in the capped feed reader 2026-10-19 01:36:16 +02:00
Linus Rath 546f34f47e fix: cap concurrent upstream favicon fetches 2026-10-19 01:32:29 +02:00
Linus Rath d13aada077 fix: bound how many CalDAV probes one discovery request can make 2026-10-19 01:32:29 +02:00
Linus Rath 703a15663f fix: keep the extension directory URL off private addresses 2026-10-19 01:32:25 +02:00
Linus Rath 71036c1812 fix: validate the marketplace version and refuse a silent downgrade on update 2026-10-19 01:32:24 +02:00
Linus Rath 5632097971 fix: type the capped feed reader and the invitation sender lookup 2026-10-19 01:32:23 +02:00
Linus Rath 0b01a2d066 fix: ask before handing a sign-in to the mobile app and only to its own callback link 2026-10-19 01:22:19 +02:00
Linus Rath 044c98e6d2 fix: cap the size of a synced settings blob 2026-10-19 01:15:04 +02:00
Linus Rath c0b6519136 fix: stop reading a calendar feed at the size cap instead of buffering it whole 2026-10-19 01:15:04 +02:00
Linus Rath e6064f3476 fix: only connect and proxy plugin credentials that a plugin known to the server declares 2026-10-19 01:07:50 +02:00