Linus Rath
|
ca0d6805cf
|
feat: add Downloads settings tab with template editor for .eml and attachment filenames
|
2026-05-22 14:46:25 +02:00 |
|
Linus Rath
|
4269d0589c
|
feat: collapse empty viewer pane and hide placeholder in Pro mode
|
2026-05-22 12:19:34 +02:00 |
|
Linus Rath
|
2b1b06abd6
|
fix: collapse empty viewer pane so mail list fills the space
|
2026-05-22 12:16:49 +02:00 |
|
Linus Rath
|
66b2036e37
|
feat: expose PWA branding fields in admin Branding tab
|
2026-05-22 11:22:07 +02:00 |
|
Linus Rath
|
63efd724d2
|
fix: trust directory version on marketplace install/update
|
2026-05-22 00:20:00 +02:00 |
|
Linus Rath
|
ba4781910d
|
feat: marketplace update flow for installed plugins/themes
|
2026-05-22 00:11:10 +02:00 |
|
Linus Rath
|
fc5f6f43d6
|
feat: expose PWA, app identity, and extension directory keys in JSON config #312
|
2026-05-21 23:35:58 +02:00 |
|
Linus Rath
|
9b22ef810e
|
fix: allow adding contacts from mail recipient popover on mobile #306
|
2026-05-21 23:23:45 +02:00 |
|
Linus Rath
|
e80412b6fd
|
feat: show contacts from all logged-in accounts in Pro shell
|
2026-05-21 22:32:17 +02:00 |
|
Linus Rath
|
7076f1ded8
|
feat: show calendars from all logged-in accounts in Pro shell
|
2026-05-21 18:48:55 +02:00 |
|
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 |
|