Linus Rath
7f35d792b2
fix: load globals.css and Geist font in plugin sandbox iframe
2026-05-21 18:15:00 +02:00
Linus Rath
33e655bcce
feat: narrow-pane sidebars and cross-account file picker in Pro shell
2026-05-21 17:54:03 +02:00
Linus Rath
b48eef2189
feat: hide files back button in Pro shell
2026-05-21 17:25:01 +02:00
Linus Rath
1756f5ac1c
feat: enable search in unified mailbox in pro mode
2026-05-21 17:12:06 +02:00
Linus Rath
c9435f7580
feat: always show unified mailbox in Pro shell
2026-05-21 17:01:34 +02:00
Linus Rath
426d344aa8
feat: multi-account mail sidebar and client routing for Pro shell
2026-05-21 16:52:03 +02:00
Linus Rath
eca837962c
fix: hide "Back to Mail" in settings when Pro mode is on
2026-05-21 15:49:09 +02:00
Linus Rath
b75bbaa517
feat: auto-redirect to Pro shell when proInterface is on
2026-05-21 15:47:05 +02:00
Linus Rath
d854b903e0
fix: anchor unmatched URLs into main so 404 renders
2026-05-20 23:59:10 +02:00
Linus Rath
628966d3b5
fix: split app into (main)/(sandbox) route groups so plugin iframe hydrates properly
2026-05-20 23:41:49 +02:00
Linus Rath
d45c8ef511
feat: list and reorder logged-in accounts in settings #282
2026-05-20 19:22:44 +02:00
Linus Rath
ba90ec1f7a
feat: warn when setup JMAP URL points at a local-only host
2026-05-20 19:11:46 +02:00
Linus Rath
5023d31202
fix: defer setup wizard HTTP detection to avoid hydration mismatch
2026-05-20 19:05:11 +02:00
Linus Rath
1c44f59ba1
feat: allow setup wizard over plain HTTP with dismissable warning gate
2026-05-20 19:01:46 +02:00
Linus Rath
9a92271f6f
fix: prevent mobile dual-scroll and use full width for mail content
2026-05-19 14:38:28 +02:00
Linus Rath
97ddf935a8
fix: mobile handoff flow for OAuth authentication
2026-05-19 00:45:35 +02:00
Linus Rath
973ce1e5bd
feat: add mobile handoff page and JMAP authentication verification
2026-05-19 00:05:40 +02:00
Linus Rath
5cdc5997af
feat: pro: pane-aware responsiveness, scoped sidebar overlay, stable pane keys
2026-05-18 20:42:21 +02:00
Linus Rath
c3b4707f85
feat: pro: drop top/bottom split, keep side-by-side only
2026-05-18 19:51:43 +02:00
Linus Rath
2b3094a4ef
feat: pro: unify split panes under a single tab bar
2026-05-18 19:39:57 +02:00
Linus Rath
ecd0467ffa
fix: stop pulling node:dns into client bundle via OAuth discovery
2026-05-18 19:31:38 +02:00
Linus Rath
43ac0725ce
feat: pro: drag tabs to reorder, drag to edge to split
2026-05-18 19:30:54 +02:00
Linus Rath
98879802ae
feat: add Pro interface
2026-05-18 19:17:39 +02:00
Linus Rath
cf9292262d
feat: pluggable reply/forward quote header #295
2026-05-18 17:53:23 +02:00
Linus Rath
dcd2f4b079
fix: wire orphaned admin policy gates and surface OAuth scope settings
2026-05-18 16:47:20 +02:00
Linus Rath
c2eb2c081b
fix: gate admin routes against cross-origin CSRF
2026-05-18 13:21:01 +02:00
Linus Rath
b299a0b602
fix: validate plugin/theme id in marketplace install to block path traversal
2026-05-18 13:03:49 +02:00
Linus Rath
f275fbe2e4
fix: bind stalwart auth context to credential, not cookie-claimed username
2026-05-18 13:00:40 +02:00
Linus Rath
48aa607b56
feat: lock down plugin runtime in sandbox + signing + approval
2026-05-18 12:44:23 +02:00
Linus Rath
088810bd20
feat: harden plugin sandbox and migrate in-tree plugins
2026-05-18 12:17:54 +02:00
Linus Rath
9f312aa556
feat: sandbox plugins in null-origin iframes with postMessage RPC
2026-05-18 10:50:49 +02:00
Linus Rath
c5ac68e137
fix: prevent plugin config leak to non-admin users
2026-05-18 10:24:29 +02:00
Linus Rath
bb7e1c4538
fix: per-account push subscriptions so multi-account notifications work #298
2026-05-16 22:50:01 +02:00
Linus Rath
356abcfc2d
fix: redact sensitive config secrets from admin API response
2026-05-16 22:48:06 +02:00
Linus Rath
fc641e94ac
fix: carry configSchema + settingsSchema through marketplace install
2026-05-16 19:51:59 +02:00
Linus Rath
8c93941d8d
feat: render app-top-banner slot on every authenticated page
2026-05-16 19:39:45 +02:00
Linus Rath
3a559479bd
fix: make impersonation cookies session-only
2026-05-16 18:59:46 +02:00
Linus Rath
349406723c
fix: use relative Location header in redirect
2026-05-16 18:33:44 +02:00
Linus Rath
997bedc91b
feat: allow admin password overwrite during setup recovery
2026-05-16 18:21:48 +02:00
Linus Rath
307e6d5d34
fix: warn + block install when app version is below plugin's minAppVersion
2026-05-16 18:11:52 +02:00
Linus Rath
ca1108f455
feat: master-user impersonation route + app-top-banner plugin slot
2026-05-16 17:59:07 +02:00
Linus Rath
0ff88f36ed
Merge branch 'main' of https://github.com/bulwarkmail/webmail
2026-05-16 16:35:43 +02:00
Linus Rath
2b4ebb1fbb
feat: add HTTPS requirement warning in setup wizard
2026-05-16 16:31:12 +02:00
Timo Streule and Linus Rath
a829c2818f
fix: pad safe-area-inset-top
2026-05-16 00:55:24 +02:00
Timo Streule and Linus Rath
c54cf73c3a
fix: respect safe-area insets on mobile bottom bars
2026-05-15 23:50:29 +02:00
Timo Streule and Linus Rath
c45ef86924
fix: add viewport export with 'initialScale: 1'
2026-05-15 23:01:39 +02:00
Linus Rath
f39366b470
fix: read OAUTH_SCOPES at runtime instead of build time
2026-05-15 20:37:00 +02:00
Timo Streule and Linus Rath
d0d6632b24
chore: drop redundant '-- ' prefix from dev identity signatures
...
The signature separator is already controlled by the
signatureSeparatorEnabled setting (lib/email-composer), which prepends
'-- ' at compose time when enabled. Baking it into the fixture
double-prefixed it.
2026-05-15 14:46:43 +02:00
Linus Rath
d5dddba6df
fix: hide Files settings/nav when filesEnabled policy is off #291
2026-05-15 14:41:57 +02:00
Linus Rath
fae15f073e
fix: honor cookieSameSite admin config override #284
2026-05-14 21:49:37 +02:00