Linus Rath
5ddb2acfc7
fix: category dropdown blocking Save button in contact form #177
2026-04-10 18:40:32 +02:00
Linus Rath
5f150f039d
feat: warn on send when attachment keyword found but no file attached #172
2026-04-10 18:24:52 +02:00
Linus Rath
4f54f768e8
Feat: enable keyword reordering #174 and multi-tag support per email #173
2026-04-10 17:31:13 +02:00
Linus Rath
89d580b90d
feat: add don't remind me again option to install prompt for PWA
2026-04-10 14:20:48 +02:00
Davi Maciel and Linus Rath
ae793551ba
fix(email-list): show recipient in Sent and Drafts folders
...
When viewing the Sent or Drafts mailbox, the list items always
displayed the sender (email.from[0]) — which is always the logged-in
user — instead of the recipient. This makes it impossible to
identify messages by who they were sent to.
This change detects the current mailbox role from the store and
swaps the displayed person to email.to[0] when the role is 'sent'
or 'drafts'. For multi-email threads, participant names are
computed from the collected recipients of the thread's emails.
Affected components:
- EmailListItem (flat list, threading disabled)
- SingleEmailItem (single-email thread)
- ThreadListItem (multi-email thread header + avatar)
This matches the behaviour of Gmail, Outlook, Apple Mail, and
every other mainstream mail client.
2026-04-09 19:52:09 +02:00
Linus Rath
f19aaf6207
fix: embed dropped images as data URLs and prevent duplicate attachment #163
2026-04-09 19:50:42 +02:00
Linus Rath
d0cc439fd1
feat: add automatic identity synchronization ( #167 )
2026-04-09 19:39:04 +02:00
Linus Rath
6a725dde58
feat: add Latvian (lv) locale support
2026-04-08 22:42:15 +02:00
Linus Rath
b2379fb03f
fix: align shared account folders with primary folders #151
2026-04-08 13:45:31 +02:00
Linus Rath
ffad3ea78b
feat: Ability to rename address book #152
2026-04-08 13:05:42 +02:00
lingxh and Linus Rath
05d3f0b469
add zh_cn
2026-04-07 01:11:04 +02:00
p.kwiatkowski and Linus Rath
523711cca3
feat: add Polish language support
2026-04-06 23:20:25 +02:00
Linus Rath
bcb487810a
feat: add Korean language support
2026-04-05 16:46:17 +02:00
Linus Rath
4aac65d7d2
feat: add birthday calendar feature with settings and localization
2026-04-03 22:45:07 +02:00
Linus Rath
14ecae61dc
feat: enhance error handling in Stalwart API responses
2026-04-03 15:10:11 +02:00
Linus Rath
5aad97d64e
feat: add PWA support with service worker and install prompt
2026-04-03 04:39:19 +02:00
Linus Rath
081c865018
fix: guard against undefined trigger in calendar event alert popover #143
2026-04-03 03:15:55 +02:00
Linus Rath
bbf724d9e1
fix: correct logic for marking email as read in EmailViewer component
2026-04-02 22:50:04 +02:00
Linus Rath
9d8c6044e3
fix: optimize htmlToPlainText function using DOMParser
2026-04-02 17:32:53 +02:00
Linus Rath
2d17ca71e3
fix: replace random ID generation with generateUUID()
2026-04-02 17:29:00 +02:00
Linus Rath
9d97b74684
fix: adjust max width of calendar invitation banner for better layout
2026-04-02 14:56:04 +02:00
Linus Rath
c4673acb65
fix: replace unguarded crypto.randomUUID() with safe generateUUID() utility
2026-04-02 14:51:21 +02:00
Linus Rath
1bdc51dcc7
feat: implement version badge and easter egg in settings
2026-04-02 14:31:25 +02:00
Linus Rath
6ee0f6a40a
feat: disable plugins by default, require admin approval
2026-04-02 13:50:02 +02:00
Linus Rath
1b2c70a90b
fix: de-namespace addressBookIds for shared contacts in create and update operations #133
2026-04-02 11:34:26 +02:00
Linus Rath
cdea876992
fix: fetch mailboxes on mount in FolderSettings when store is empty
2026-04-02 11:26:21 +02:00
Linus Rath
16557830ae
fix: mailbox deletion error handling
2026-04-02 11:24:11 +02:00
Linus Rath
26bfe9cb6c
fix: extend file drop zone to fill remaining viewport height
2026-04-02 11:14:38 +02:00
Linus Rath
aa40c8be26
fix: harden proxy auth and SSRF defenses
2026-03-31 17:47:09 +02:00
Linus Rath
34dd5122b3
feat: logging to include categories for better log management
2026-03-31 16:31:27 +02:00
Linus Rath
0f7638055c
fix: auto-focus input fields in email composer for improved user experience #126
2026-03-31 16:10:14 +02:00
Linus Rath
7102add194
fix: add self-signed certificate detection and update status messages for S/MIME signatures
2026-03-31 15:13:48 +02:00
Linus Rath
a3d894730b
fix: hardened security, CSP enforcement, SSRF redirect validation, reenabled S/MIME chain verify, IP spoofing prevention, PDF iframe sandbox
2026-03-31 15:11:38 +02:00
Linus Rath
aaa283357e
feat: implemented plugin configuration UI and calendar event action slot
...
- Add configSchema support to plugin manifest and ServerPlugin registry
- Add schema-driven admin config page (string, secret, boolean, number, select fields)
- Add per-plugin config storage backend (JSON files + REST API)
- Add calendar-event-actions and admin-plugin-page slot names to plugin store
- Add registerCalendarEventAction and registerAdminPage to plugin API
- Add calendarFormHooks (onCalendarEventFormOpen/Save) to hook bus
- Add PluginSlot in calendar event modal for plugin action buttons
- Style calendar event action buttons to match Bulwark outline button design
- Add Configure link per plugin in admin plugins dashboard
- Add Jitsi Meet plugin with tests (repos/plugins/jitsi-meet)
- Exclude data/admin/plugins from ESLint (deployed plugin bundles)
2026-03-30 21:12:05 +02:00
Linus Rath
066ab1bc32
debug: add diagnostic logging to 3DES S/MIME decrypt path
...
Log legacy key import success/failure, CMS algorithm OIDs (content
encryption + key transport), legacy key availability during decrypt
attempts, and detailed error messages from both RSA-OAEP and
RSAES-PKCS1-v1_5 decrypt paths.
2026-03-30 19:15:02 +02:00
Linus Rath
4c804d5d2b
fix: align tag counts with mailbox folder counts in sidebar
2026-03-30 17:31:26 +02:00
Linus Rath
67210c9924
fix: handle 2FA/TOTP session expiry with basic auth #117
2026-03-30 16:37:07 +02:00
Linus Rath
8937777bcd
fix: support 3DES S/MIME decryption by importing legacy RSAES-PKCS1-v1_5 keys #35
2026-03-30 16:00:27 +02:00
Linus Rath
c512352f77
fix: add replyToAddresses to email composer
2026-03-30 15:27:50 +02:00
Linus Rath
c859230862
feat: add virtual location input #121
2026-03-30 15:19:47 +02:00
Linus Rath
0fb8b81acd
fix: deduplicate UIDs during iCal import to prevent mass failures #113
2026-03-30 15:06:28 +02:00
Linus Rath
1eebec292a
fix: enhance email loading and deduplication logic in email store #119
2026-03-30 08:32:46 +02:00
Linus Rath
2d983c9853
fix: improve mailbox tree logic #118
2026-03-29 23:47:52 +02:00
Linus Rath
4c853f176b
feat: add iCal subscription editing and batch event import
2026-03-29 18:27:16 +02:00
Linus Rath
02577c7502
feat: add calendar hover preview settings and functionality
2026-03-29 14:10:28 +02:00
Linus Rath
60b2cf5911
fix: adjust account list spacing and remove push connection indicator
2026-03-28 23:33:44 +01:00
Linus Rath
8d7cd26fa9
feat: enhance compose functionality with button integration and translations
2026-03-28 22:53:10 +01:00
Linus Rath
1ba8e2fd47
feat: add folder expansion state management and settings navigation
2026-03-28 22:32:01 +01:00
Linus Rath
c7c22bd210
fix: account isolation, auto-import signer certs, and no-key error handling #35
2026-03-28 17:32:06 +01:00
Linus Rath
9140110435
feat: add options to hide account switcher and show account avatars on navigation rail
2026-03-28 15:20:25 +01:00