Linus Rath
1331a3767c
Revert "chore: update version to 1.6.1"
...
This reverts commit cb200330e7 .
2026-05-06 20:10:08 +02:00
Linus Rath
cb200330e7
chore: update version to 1.6.1
2026-05-06 20:09:08 +02:00
Linus Rath
178922323d
chore: update version to 1.6.2
2026-05-06 20:07:36 +02:00
Linus Rath
91cf125a5d
chore: remove experimental tags from themes, plugins, and sender favicons settings
2026-05-06 20:03:19 +02:00
Linus Rath
f4b7ef8117
i18n: add missing translation keys across 15 locales
2026-05-06 19:59:14 +02:00
Linus Rath
d175fc2983
feat: restrict plugin and theme install/uninstall to admin dashboard
2026-05-06 19:34:21 +02:00
Linus Rath
2f8bbdc636
fix: open plugin card on first click of a setting sub-result
2026-05-06 19:18:07 +02:00
Linus Rath
b1573aada1
feat: surface plugin settings as search sub-results
2026-05-06 19:14:47 +02:00
Linus Rath
1cd6cde77c
fix: highlight plugin and theme cards in settings search
2026-05-06 19:10:12 +02:00
Linus Rath
802a30508a
fix: drop ghost sub-results from account and language search
2026-05-06 19:06:59 +02:00
Linus Rath
70c1ddd48c
fix: improve settings search highlight
2026-05-06 18:58:06 +02:00
Linus Rath
2dc8537780
feat: add sub-result rows and highlight to settings search
2026-05-06 18:36:00 +02:00
Linus Rath
128d7d0401
feat: add fulltext search to settings sidebar
2026-05-06 18:29:02 +02:00
Linus Rath
d3d79be64c
feat: multi-server JMAP support
2026-05-06 17:33:55 +02:00
Linus Rath
43475945bf
fix: update comment for external-mail warning
2026-05-06 01:54:28 +02:00
Linus Rath
09302684da
fix: propagate settingsSchema
2026-05-06 01:48:49 +02:00
Linus Rath
e68fcb4aec
feat: redesign external banner above attachments
2026-05-06 01:37:29 +02:00
Linus Rath
ded13f02cc
fix: show notification banners above attachments
2026-05-06 01:14:01 +02:00
Linus Rath
cfdee5e5c1
refactor: rework S/MIME banner to match calendar invitation
2026-05-06 01:05:40 +02:00
Linus Rath
e7648eb1ac
fix: close PDF preview on Escape before email viewer
2026-05-06 00:58:43 +02:00
Linus Rath
e7be3d1e0c
fix: render PDF previews via <object> with blob: in object-src CSP #253
2026-05-06 00:54:46 +02:00
Linus Rath
9639a6bb75
feat: expand calendar invitation banner on row click
2026-05-06 00:51:16 +02:00
Linus Rath
904a62ce79
feat: make calendar invitation banner collapsible
2026-05-06 00:49:09 +02:00
Linus Rath
2903e56cf6
fix: align calendar invitation icon with sender avatar column
2026-05-06 00:45:37 +02:00
Linus Rath
b5e0189938
fix: adjust toast item border radius and progress bar styles
2026-05-05 21:57:56 +02:00
Linus Rath
a44bd7c3e6
fix: add missing body type assertion in createPluginAPI fetch options
2026-05-05 21:52:58 +02:00
Linus Rath
0885d3c13e
feat: http:fetch permission + httpOrigins manifest field
2026-05-05 21:50:04 +02:00
Linus Rath
ef8eb1d73b
fix: read activeAccountId from authStore in account selectors
2026-05-05 21:20:45 +02:00
Linus Rath
9f67bc078a
feat: ingest icon/banner/screenshots from source repo
2026-05-05 21:12:23 +02:00
Linus Rath
da411af6d3
feat: project EmailReadView for email-banner slot, expose auth results
2026-05-05 20:31:11 +02:00
Linus Rath
265908b05b
fix: resolve PLUGIN_DEV_DIR plugins in admin config route
2026-05-05 20:17:45 +02:00
Linus Rath
2a769c2b0a
feat: run onBeforeEmailSend hook before send, expose fromEmail on OutgoingEmail
2026-05-05 20:04:00 +02:00
Linus Rath
28054c81ea
fix: inline plugin configure panel to avoid dev-mode hang
2026-05-05 19:04:29 +02:00
Linus Rath
e7264f521c
fix: collapse admin panel into single tabbed page
2026-05-05 18:50:57 +02:00
Linus Rath
1b0ca8967e
feat: bundle plugin src/ on demand via esbuild
2026-05-05 18:35:22 +02:00
Linus Rath
3e336d459c
feat: plugin hot-reload + dev-folder loading
2026-05-05 18:05:17 +02:00
Linus Rath
94f55afd1f
fix: remove fly-in animation from context menu submenus
2026-05-05 17:21:46 +02:00
Linus Rath
7b058ed0ac
fix: calendar invitation picker clipping #250
2026-05-05 17:17:01 +02:00
Luis Felipe Marzagao and Linus Rath
853b0eb855
fix: add missing Czech flag icon
2026-05-05 08:59:28 +02:00
Linus Rath
41a458d872
fix: add Grafana badge to README for dashboard access
2026-05-04 23:56:55 +02:00
Linus Rath
d1c5dba7d7
chore: update version to 1.6.1
1.6.1
2026-05-04 12:34:53 +02:00
Linus Rath
8c50abe221
fix: synchronize mobile submenu view with browser history for better navigation
2026-05-04 12:31:51 +02:00
Linus Rath
07367a8a5d
fix: update email viewer styles to improve overflow handling
2026-05-04 12:27:44 +02:00
Linus Rath
1a50788c91
fix: ensure cookieSlot consistency during account updates in auth store
2026-05-04 12:09:58 +02:00
Linus Rath
0e06bfe273
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-05-04 11:25:49 +02:00
Linus Rath
f68e41d81a
fix: enhance sharing functionality by renaming state
2026-05-04 11:24:05 +02:00
Maxwell and Linus Rath
8b164c556e
fix: thread per-account cookie slot through OAuth flows
...
The multi-account refresh-token cookie slot wiring was half-implemented:
every account's refresh token ended up on slot 0, so "+ Add Account"
silently clobbered the previous account's `jmap_rt` cookie. On page
refresh, only the most-recently-added account had a working refresh
token; the others bounced to login.
Three coordinated changes:
1. `app/[locale]/login/page.tsx` (handleOAuthLogin): write the next-free
cookie slot to `sessionStorage['oauth_cookie_slot']` before redirecting
to the IdP. `loginWithOAuth` already reads this key but it was never
written, so it always defaulted to 0.
2. `stores/auth-store.ts` (loginWithOAuth): distinguish "no value set"
(`rawSlot === null`) from "value is 0". Previously
`parseInt(getItem(...) || '0')` collapsed both cases, making the
`getNextCookieSlot()` fallback unreachable.
3. `stores/auth-store.ts` (loginWithServerSso) +
`app/api/auth/sso/complete/route.ts`: pass the slot through the body of
the POST and use it for `refreshTokenCookieName(slot)`. Same pattern as
the existing `/api/auth/token POST` that already accepts a slot. The
server defaults to 0 for back-compat with any caller that omits it.
After the fix, signing in with multiple accounts produces distinct
`jmap_rt`, `jmap_rt_1`, `jmap_rt_2`, ... cookies (matching the cookieSlot
field in account-store) and all accounts survive a page refresh.
Repro before the fix:
- Sign in with one account, refresh — works.
- Click "+ Add Account", sign in with a second account, refresh — second
account vanishes from the dropdown; switching to the first account in
the dropdown still shows the second account's identity in the From box.
2026-05-04 11:22:45 +02:00
Linus Rath
2e1f53c899
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-05-03 20:07:20 +02:00
Linus Rath
a6d2efaf74
feat: sanitize identity display name to prevent invalid From headers
2026-05-03 20:06:41 +02:00
Luis Felipe Marzagao and Linus Rath
01cd9644ed
i18n: update mailbox context menu across 12 locales
2026-05-03 11:01:39 +02:00