Linus Rath
d0c7e991ff
Merge branch 'main' into feature/scheduled-send
2026-05-28 18:43:13 +02:00
Shuki Vaknin and GitHub
e93dd44111
fix: report real upload progress; XHR with progress events #333
...
The Files page UI sat at 0% throughout an upload because uploadBlob()
uses fetch(), which does not surface upload progress events. The store
set loaded=0 before the call and loaded=file.size after it, so users
saw the progress bar jump from 0% straight to 100% on completion --
and on slow connections (or large files) it appeared frozen.
Switch uploadBlob() to XHR when the caller passes onProgress or an
AbortSignal, so progress events from xhr.upload.onprogress can drive
the UI. Callers that don't pass either keep the fetch path so we
preserve the existing 401-retry behaviour in authenticatedFetch().
Wire the file store to pass both onProgress (updates uploadProgress
in real time) and the existing AbortController's signal (so cancel
now actually aborts the network request, not just the post-upload
createFileNode step).
uploadBlob() is part of IJMAPClient so the signature change is also
applied to the demo client (synthesises 0% then 100%).
2026-05-28 18:20:22 +02:00
Lucas Gaitzsch
d1b2206aa0
fixes
2026-05-26 18:43:01 +02:00
Lucas Gaitzsch
0137a1a593
Merge branch 'main' into feature/scheduled-send
...
# Conflicts:
# app/(main)/[locale]/page.tsx
# components/email/email-list.tsx
# components/email/email-viewer.tsx
2026-05-26 18:30:45 +02:00
Linus Rath
3a8daf8bff
feat: allow drag-and-drop into shared mailboxes
2026-05-25 18:53:54 +02:00
Linus Rath
f8e7cce85a
fix: prevent empty main pane when reordering tabs across panes
2026-05-25 18:25:55 +02:00
Linus Rath
534894c38d
feat: locale-aware date format in email list with preset picker #331
2026-05-25 16:17:32 +02:00
Linus Rath
537707d9ed
feat: include group inboxes in unified mailbox view #328
2026-05-23 16:01:22 +02:00
Lucas Gaitzsch and GitHub
c4aa0c1772
Merge branch 'bulwarkmail:main' into feature/scheduled-send
2026-05-23 06:39:35 +02:00
Linus Rath
acc90eb455
feat: add "Move to Trash and mark as read" delete action #323
2026-05-22 19:08:02 +02:00
Linus Rath
58e4a3d117
feat: add post-export action setting (keep/archive/trash)
2026-05-22 15:36:15 +02:00
Linus Rath
e3f6ae874d
feat: add settings template for multi-email .zip filename
2026-05-22 15:30:15 +02:00
Linus Rath
3ac14ecf38
feat: add filename transform settings
2026-05-22 14:57:25 +02:00
Lucas Gaitzsch
e6d939ba43
fixes from review
2026-05-22 14:46:57 +02:00
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
d3778e6521
fix: handle malformed event dates in calendar route #316
2026-05-22 14:04:02 +02:00
Lucas Gaitzsch
5c1d59f38a
fixes from review
2026-05-22 13:13:13 +02:00
Lucas Gaitzsch
159706a683
Merge branch 'main' into feature/scheduled-send
...
# Conflicts:
# app/(main)/[locale]/page.tsx
# components/layout/sidebar.tsx
# stores/email-store.ts
# stores/settings-store.ts
2026-05-22 12:31:06 +02:00
Lucas Gaitzsch
7dccc2f432
fixes from review
2026-05-22 12:21:32 +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
e80412b6fd
feat: show contacts from all logged-in accounts in Pro shell
2026-05-21 22:32:17 +02:00
Linus Rath
4cfee4f672
feat: split owned vs shared calendars per account in sidebar in Pro shell
2026-05-21 18:54:09 +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
33e655bcce
feat: narrow-pane sidebars and cross-account file picker in Pro shell
2026-05-21 17:54:03 +02:00
Linus Rath
280f5bc675
feat: support cross-account email moves in Pro shell
2026-05-21 17:22:31 +02:00
Linus Rath
1756f5ac1c
feat: enable search in unified mailbox in pro mode
2026-05-21 17:12:06 +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
ed90e096b5
feat: add per-account mailbox cache for Pro shell data layer
2026-05-21 16:11:26 +02:00
Linus Rath
9763ffa2a3
fix: keep proInterface per-device instead of syncing it
2026-05-21 15:39:02 +02:00
Linus Rath
5008857880
fix: respect server-resolved locale on first visit #309
2026-05-20 23:53:44 +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
Lucas Gaitzsch
1e8bd40b93
fix draft duplicating
2026-05-20 19:58:41 +02:00
Lucas Gaitzsch
3dc1b4ceee
rework
2026-05-20 19:56:28 +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
433a63bf1a
fix: normalize malformed contact photo data URIs #307
2026-05-20 18:42:12 +02:00
Lucas Gaitzsch
1a3d359fee
fix bugs
2026-05-20 08:28:31 +02:00
Lucas Gaitzsch
891c3250be
Merge branch 'main' into feature/scheduled-send
2026-05-20 08:17:46 +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
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
b2d24670ff
fix: scope iCal subscriptions per JMAP account and fix refresh/clear
2026-05-18 16:39:02 +02:00
Linus Rath
40f36baf94
fix: iCal subscription refresh, rollback, and URL normalization
2026-05-18 16:31:16 +02:00
Linus Rath
313a1fcce9
fix: stop persisting S/MIME passphrases in sessionStorage
2026-05-18 15:32:04 +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
4221c9a50f
fix: strip Stalwart master-user '%' suffix from displayed account
2026-05-16 19:07:10 +02:00
Linus Rath
482493a10d
fix: register app-top-banner in plugin-store SLOT_NAMES
2026-05-16 18:53:06 +02:00
Linus Rath
0e1036eb49
fix: adopt orphan session cookie on first SPA load
2026-05-16 18:45:30 +02:00
Linus Rath
8dbb538c98
feat: sync onboarding status across devices #285
2026-05-15 15:09:42 +02:00
Linus Rath
c646c87030
fix: standardize punctuation in tooltips and comments across multiple locales and code files
2026-05-14 21:44:24 +02:00