Lucas Gaitzsch
f45b67fe19
fix
2026-05-08 22:37:16 +02:00
Lucas Gaitzsch
37cd5ca635
Merge remote-tracking branch 'origin/main' into feature/scheduled-send
...
# Conflicts:
# app/[locale]/page.tsx
# components/email/email-composer.tsx
# components/email/email-viewer.tsx
2026-05-07 18:01:41 +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
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
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
da411af6d3
feat: project EmailReadView for email-banner slot, expose auth results
2026-05-05 20:31:11 +02:00
Lucas Gaitzsch
154ae84247
Scheduld Send
2026-05-05 20:11:11 +02:00
Linus Rath
8c50abe221
fix: synchronize mobile submenu view with browser history for better navigation
2026-05-04 12:31:51 +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
f970fd1822
feat: add plugin hooks for compose, attachments, search, lifecycle, and routing
2026-05-02 21:27:56 +02:00
Linus Rath
bc97a1ac10
feat: make update notice non-dismissible
2026-05-02 13:07:34 +02:00
Linus Rath
5319562c94
feat: add update-available detection
2026-05-02 01:58:30 +02:00
Linus Rath
231a9017d2
refactor: make settings panel mobile friendly
2026-05-01 20:30:15 +02:00
Linus Rath
eecf16daa2
fix: stop silently destroying emails when trash mailbox isnt found #195
2026-05-01 20:01:13 +02:00
Linus Rath
e9c9be84ad
fix: preserve list scroll position when tagging an email
2026-05-01 17:18:11 +02:00
Linus Rath
841513e510
feat: support subpath deployment with NEXT_PUBLIC_BASE_PATH environment variable
2026-05-01 14:57:49 +02:00
Linus Rath
31d17098d6
feat: open mail from push notification clicks
2026-05-01 02:13:25 +02:00
Linus Rath
7188abc9bc
fix: set In-Reply-To and References on replies #234
2026-04-30 01:25:04 +02:00
Linus Rath
0f6e4f995f
fix: prevent iframe flash on Load images or Trust sender
2026-04-29 18:29:48 +02:00
Linus Rath
2c419cc4fe
feat: add right-click context menu on empty calendar space
2026-04-28 01:56:15 +02:00
Linus Rath
68f1fabc4b
fix: batch shortcuts act on multi-selection when present #228
2026-04-28 00:04:29 +02:00
Linus Rath
3e1de10213
feat: add JMAP sharing for calendars and address books
2026-04-26 20:10:04 +02:00
Linus Rath
29197ea355
feat: replace folder prompt() calls with proper modal dialog
2026-04-25 16:30:18 +02:00
Linus Rath
4788e8a91a
feat: add right-click context menu to mail folders sidebar
2026-04-25 16:26:05 +02:00
Linus Rath
df8d04e233
fix: restore broken viewer toolbar actions and improve mobile menu #220
2026-04-24 19:31:38 +02:00
Linus Rath
c30c38a7af
chore: update version to 1.5.0
2026-04-23 00:07:34 +02:00
Linus Rath
dd1f3e11e6
fix: retry mailbox fetch on first login to handle lazy provisioning #217
2026-04-22 22:45:49 +02:00
Linus Rath
39a228b20e
feat: streamline mobile email viewer header layout
2026-04-22 20:50:12 +02:00
Linus Rath
3ade1c6473
fix: update mailbox retrieval logic in archive handling to use fresh state
2026-04-22 00:00:43 +02:00
Linus Rath
40982bc37b
fix: align hover styles and selection-toggle target with focused item
2026-04-21 23:50:55 +02:00
Linus Rath
f9aa5cbaee
fix: skip checkAuth on route change when already authenticated
2026-04-21 22:54:02 +02:00
Linus Rath
3f36045990
feat: reorganize settings into 6 groups with clearer tabs
2026-04-21 22:22:02 +02:00
Linus Rath
f032758303
feat: revamp contact detail, filters, and add photo/print/duplicate
2026-04-21 21:16:54 +02:00
Linus Rath
92c7f74420
feat: add right-click context menu to contacts
2026-04-21 19:33:00 +02:00
Linus Rath
89d8282846
fix: include original attachments when forwarding an email #214
2026-04-21 13:58:02 +02:00
Linus Rath
44eb5fced2
fix: stop birthday calendar from re-showing after manual hide #204
2026-04-19 15:04:27 +02:00
Linus Rath
f162f1e3d4
feat: refresh JMAP on reload gestures, fix mobile bottom nav spacing
2026-04-19 13:43:44 +02:00
Linus Rath
6fa0029d0b
feat: add right-click context menu on calendar events
2026-04-18 13:46:49 +02:00
Linus Rath
440a4e919a
Revert "perf: make root HTML cacheable by dropping per-request CSP nonce"
...
This reverts commit 522bf6a019 .
2026-04-18 13:10:42 +02:00
Linus Rath
522bf6a019
perf: make root HTML cacheable by dropping per-request CSP nonce
2026-04-18 13:01:12 +02:00
Linus Rath
d4f7ae522e
fix: use cid references for inline images #163
2026-04-18 00:57:46 +02:00
Linus Rath
8bdadc7ba3
fix: standardize punctuation
2026-04-16 19:07:42 +02:00
Linus Rath
d31b30ba4a
Merge branch 'dev'
2026-04-16 18:51:01 +02:00
Linus Rath
ad175d20e3
feat: enhance email deletion and spam handling with improved parameterization
2026-04-16 16:50:42 +02:00