Linus Rath
|
bc4c57e734
|
feat: set a default address book from settings and guard it from deletion
|
2026-08-29 18:04:47 +02:00 |
|
Linus Rath
|
358bdb93ea
|
feat: bucket the contact index by any letter, add select-all/export, a shared-from drawer section and category rename
|
2026-08-29 18:04:47 +02:00 |
|
Linus Rath
|
8bf48f6465
|
docs: tick settings-store and updater items in the parity checklist
|
2026-08-29 18:04:44 +02:00 |
|
Linus Rath
|
431facef0b
|
feat: add update severity, quiet rate-limit backoff and lazy checksum fetch to the updater
|
2026-08-29 18:04:21 +02:00 |
|
Linus Rath
|
3d0d440673
|
refactor: drop dead mail layout, S/MIME and plugin controls from settings
|
2026-08-29 18:04:21 +02:00 |
|
Linus Rath
|
8deff66274
|
feat: validate settings on hydrate, align defaults with the webmail and add export/import/reset
|
2026-08-29 18:04:21 +02:00 |
|
Linus Rath
|
a071d0581c
|
feat: refetch filters and vacation on push and fan state changes out to screens
|
2026-08-29 18:03:24 +02:00 |
|
Linus Rath
|
6f747db858
|
fix: resolve redirects in JS for client-certificate requests and pass blob deadlines to the native path (#627)
|
2026-08-29 18:03:24 +02:00 |
|
Linus Rath
|
69bedf0b26
|
feat: manage public keys and encryption at rest through the Stalwart API
|
2026-08-29 18:03:23 +02:00 |
|
Linus Rath
|
ce97232eb2
|
fix: allow cleartext server URLs only on local hosts, name the mail domain as TOTP issuer and guard external links
|
2026-08-29 18:03:23 +02:00 |
|
Linus Rath
|
516c9c931a
|
fix: only drop exact role-folder name duplicates from the folder tree (#771)
|
2026-08-29 18:02:37 +02:00 |
|
Linus Rath
|
c8be383c05
|
fix: page the viewer over the list a unified-inbox message was opened from
|
2026-08-29 18:01:53 +02:00 |
|
Linus Rath
|
9ae91a6ab6
|
docs: tick the filters, vacation and files parity items
|
2026-08-29 18:00:36 +02:00 |
|
Linus Rath
|
c0e1d6b0a8
|
feat: files screen with search, sort, move/duplicate, multi-file upload progress, batch download, thumbnails and localization
|
2026-08-29 17:59:44 +02:00 |
|
Linus Rath
|
a0ce9258cd
|
feat: files API reads modified dates, decodes WebDAV names, copies/moves nodes and streams uploads (#700, #869, #563)
|
2026-08-29 17:59:44 +02:00 |
|
Linus Rath
|
1cef53af5a
|
feat: add contacts to groups from the detail sheet, dedupe group recipients and drop the UID when duplicating
|
2026-08-29 17:59:11 +02:00 |
|
Linus Rath
|
9800ad07c2
|
feat: rebuild the contact form around PartialDate, org cards, group editing and cleared-field patches (#224, #307, #701)
|
2026-08-29 17:58:54 +02:00 |
|
Linus Rath
|
3fd5f10afe
|
fix: gate event editing on calendar rights and keep read-only calendars out of the pickers (#762)
|
2026-08-29 17:57:54 +02:00 |
|
Linus Rath
|
edc26ce1ca
|
fix: reconnect live updates after network blips, token refresh, account switch and app resume
|
2026-08-29 17:57:33 +02:00 |
|
Linus Rath
|
032732cea1
|
fix: check the account-level Stalwart capability and keep the stored password in step after a change (#47)
|
2026-08-29 17:57:33 +02:00 |
|
Linus Rath
|
b52768e6fb
|
fix: keep the live session on a failed add or switch, recover from revoked sessions, refresh display names and sign in with a TOTP code (#900)
|
2026-08-29 17:57:32 +02:00 |
|
Linus Rath
|
e70e57bf47
|
docs: tick push notification items in the parity checklist
|
2026-08-29 17:54:17 +02:00 |
|
Linus Rath
|
f6f26f7950
|
feat: add push device list, re-register, onboarding prompt and an i18n key harvester
|
2026-08-29 17:53:59 +02:00 |
|
Linus Rath
|
00faceb25f
|
fix: subscribe to EmailDelivery only, use the relay's email ids and route pushes per account (#45)
|
2026-08-29 17:53:53 +02:00 |
|
Linus Rath
|
7f956d60f7
|
fix: reply to Reply-To, drop own addresses on reply-all, thread with the Message-ID and keep attachments on forward (#234, #703)
|
2026-08-29 17:52:34 +02:00 |
|
Linus Rath
|
5dc40706fa
|
fix: send invitations with a server-scheduled organizer and match RSVPs against identities and aliases (#731)
|
2026-08-29 17:52:26 +02:00 |
|
Linus Rath
|
26a34d5900
|
feat: list shared address books, gate first-touch contact loads and add recent-recipient autocomplete data (#907)
|
2026-08-29 17:50:44 +02:00 |
|
Linus Rath
|
580e010b33
|
fix: check ContactCard/set results, re-fetch created cards, assign UIDs and paginate contact queries (#644)
|
2026-08-29 17:50:44 +02:00 |
|
Linus Rath
|
ccbe67c1bc
|
fix: check JMAP method errors in every mail call, split requests to server limits and file sent mail through Drafts (#188, #234, #850)
|
2026-08-29 17:49:23 +02:00 |
|
Linus Rath
|
506a4b1a84
|
feat: port the reply-recipient, subject-prefix, threading and mailbox-parsing helpers from the webmail
|
2026-08-29 17:49:23 +02:00 |
|
Linus Rath
|
b538a0e53d
|
feat: vacation responder sends UTC dates, edits an HTML body and is fully localized
|
2026-08-29 17:48:18 +02:00 |
|
Linus Rath
|
58a6f45c15
|
fix: save all-day events with the right length, a time zone and explicit nulls for cleared fields (#805)
|
2026-08-29 17:45:43 +02:00 |
|
Linus Rath
|
feb4affea6
|
docs: tick i18n locale items in the parity checklist
|
2026-08-29 17:44:22 +02:00 |
|
Linus Rath
|
3ffcef2ec1
|
feat: actionable vacation banner, expanded IF/THEN rule view and capability-gated filter tabs
|
2026-08-29 17:44:14 +02:00 |
|
Linus Rath
|
990cd84ee3
|
feat: add ICU interpolation, all 27 webmail locales and a key-parity test to i18n
|
2026-08-29 17:44:03 +02:00 |
|
Linus Rath
|
0b1c240802
|
fix: harden the JMAP client with request deadlines, retries, rate-limit state and method-error helpers (#702, #780, #907)
|
2026-08-29 17:42:32 +02:00 |
|
Linus Rath
|
2c0dbd15d1
|
fix: use a CSPRNG for OAuth state, TOTP secrets and UUIDs and validate handoff endpoints
|
2026-08-29 17:42:31 +02:00 |
|
Linus Rath
|
161baf1708
|
fix: edit or delete a single occurrence or the rest of a series instead of the whole series
|
2026-08-29 17:42:22 +02:00 |
|
Linus Rath
|
1c6aa680c5
|
feat: port the extended Sieve rules (attachment field, multi-value conditions) from the webmail
|
2026-08-29 17:39:43 +02:00 |
|
Linus Rath
|
e650cb2d0a
|
fix: import vCard dates as RFC 9553 PartialDate and map vendor X- extensions (#224, #701)
|
2026-08-29 17:37:44 +02:00 |
|
Linus Rath
|
eb1dd6c844
|
feat: sort the mail list oldest-first or newest-first (#5)
|
2026-08-29 17:31:16 +02:00 |
|
Linus Rath
|
fb4796e188
|
ci: run typecheck and unit tests on push and pull request
|
2026-08-29 17:31:00 +02:00 |
|
Linus Rath
|
b84d4d8e9e
|
fix: mock netinfo in the vitest setup so the auth-store suite loads
|
2026-08-29 17:30:59 +02:00 |
|
Linus Rath
|
eaa8249e76
|
docs: add webmail parity checklist
|
2026-08-29 17:30:37 +02:00 |
|
Linus Rath
|
82b97fada4
|
chore: update version number to 0.1.58
0.1.58
|
2026-08-02 20:55:51 +02:00 |
|
Linus Rath
|
428a1bf03d
|
chore: update version number to 0.1.57
0.1.57
|
2026-08-02 20:54:30 +02:00 |
|
Linus Rath
|
09350dd1f0
|
refactor: polish sign-in flow UI and theme-aware QR scanner
|
2026-08-02 20:54:21 +02:00 |
|
Linus Rath
|
d2d13a37c9
|
fix: only say "Found your mail server" when discovery found it
|
2026-08-02 20:17:57 +02:00 |
|
Linus Rath
|
be82bfe814
|
feat: show shared mailboxes (group accounts) in the sidebar #37
|
2026-08-02 20:17:29 +02:00 |
|
Linus Rath
|
5c775ad82e
|
Merge pull request #31 from arnauda-gh/fix/swipe-action-desync
fix(ui): synchronize swipe action gesture handlers with latest props
|
2026-08-02 16:29:07 +02:00 |
|