Linus Rath
b1550f143b
feat: offer the code of sign-in and verification mails for copying in the list and the reader
2026-10-29 03:15:09 +01:00
Linus Rath
cc21317b5a
feat: warn about unverified senders in the reader and stop offering Always trust for them
2026-10-29 03:09:04 +01:00
Linus Rath
855d304b4f
fix: stop a crafted winmail.dat from freezing the app
2026-10-29 03:05:04 +01:00
Linus Rath
942f45179c
fix: send a mailto unsubscribe to one address only and show what it sends
2026-10-29 03:02:33 +01:00
Linus Rath
ef9561f16b
fix: stop senders from faking a DKIM or DMARC pass in the authentication chips
2026-10-29 02:59:27 +01:00
Linus Rath
f5e997ba92
fix: drop event handlers that follow a slash and run no inline handlers in the reader and composer
2026-10-29 02:54:23 +01:00
Linus Rath
388f46b5b9
fix: let the composer send and save again in the account it was opened in
2026-10-29 02:36:09 +01:00
Linus Rath
867ef20e51
Merge branch 's10/mail' into feat/stalwart-1.0
2026-10-29 02:34:22 +01:00
Linus Rath
3047d5c495
Merge branch 's10/push' into feat/stalwart-1.0
2026-10-29 02:22:54 +01:00
Linus Rath
8893a9e21e
Merge branch 's10/auth' into feat/stalwart-1.0
2026-10-29 02:22:07 +01:00
Linus Rath
9daa3441c8
fix: keep a composer left open across an account switch from saving or deleting drafts in the other account
2026-10-29 02:15:14 +01:00
Linus Rath
7c495d03ab
fix: let files in a shared folder be renamed and deleted on Stalwart 1.0, which sends rights for folders only
2026-10-29 02:11:28 +01:00
Linus Rath
15171637cd
fix: keep the own and a group's scheduled mail apart when their ids are the same
2026-10-29 02:10:26 +01:00
Linus Rath
9804b49979
fix: keep push working when the app isn't opened for a week
2026-10-29 02:08:10 +01:00
Linus Rath
1456e15d5c
fix: keep accounts signed in when Stalwart 1.0 rotates the refresh token
2026-10-29 02:07:46 +01:00
Linus Rath
6ffd0473e5
fix: sign in through the server's own sign-in page on Stalwart 1.0
2026-10-29 02:07:46 +01:00
Linus Rath
96ef85159b
fix: sign in with password and two-factor code on Stalwart 1.0
2026-10-29 02:07:36 +01:00
Linus Rath
4ec2ccac11
fix: say the mail server refuses push relays that are not on a public domain
2026-10-29 02:03:24 +01:00
Linus Rath
18b8aa096f
fix: send writes in shared folders to the account that holds them and offer the ones its rights allow
2026-10-29 02:01:47 +01:00
Linus Rath
20be110537
fix: keep the device sync push types when a subscription write fails for another reason
2026-10-29 02:00:50 +01:00
Linus Rath
913b37661f
fix: send the quoted inline images along with replies and forwards
2026-10-29 01:53:59 +01:00
Linus Rath
d2bb479ac6
fix: keep inline images of drafts and sent mail on Stalwart 1.0
2026-10-29 01:53:57 +01:00
Linus Rath
df4cb7688d
fix: offer only the vacation and favicon settings the app has in the settings search
2026-10-29 01:37:46 +01:00
Linus Rath
f1db6b488a
Merge branch 'main' into feat/stalwart-1.0
2026-10-29 01:30:03 +01:00
Linus Rath
f358d60584
fix: place calendar events at their clock time on DST change days
2026-10-25 14:18:45 +01:00
Linus Rath
b4331a9bf9
feat: sign in with an access token
2026-10-25 12:14:30 +01:00
Linus Rath
8303ff769f
feat: let the iOS notification extension reach the active account without push setup
2026-10-22 22:53:42 +02:00
Linus Rath
f62849d1fe
feat: turn on push notifications on iOS through the relay's APNs transport
2026-10-22 22:53:42 +02:00
Linus Rath
2618680b21
feat: keep iOS credentials where a notification extension can read them
2026-10-22 22:53:42 +02:00
Linus Rath
533f176e88
test: time each module's evaluation at start-up in builds made for the performance harness
2026-10-22 22:04:29 +02:00
Linus Rath
0109273037
fix: start typing in the message body when the empty space under it is tapped
2026-10-22 22:04:29 +02:00
Linus Rath
e06d92d88f
fix: open the photo, camera and file pickers from the compose attach sheet on ios
2026-10-22 22:04:28 +02:00
Linus Rath
42e89122bd
test: mark where the time goes when a message opens
2026-10-22 22:04:28 +02:00
Linus Rath
bdade8503d
test: mark how long each persisted cache takes to load
2026-10-22 22:04:28 +02:00
Linus Rath
57ca1c8083
test: log timing marks for the performance harness when launched with -perfMarks
2026-10-22 22:04:28 +02:00
Linus Rath
341cdb0e61
feat: build a Google Play bundle alongside the GitHub APK
...
The app now has two product flavors. `github` is the sideloaded APK as
before, with the same package name and its in-app updater. `play` is a
bundle for Google Play as `org.bulwarkmail.mobile`, without the updater
or the installer permission, since Play forbids apps updating themselves.
- `release-android.yml` builds the Play bundle in a second job, checks
its signer, package name and permissions, and keeps it as an artifact.
With `PLAY_SERVICE_ACCOUNT_JSON` set it uploads it to internal testing.
- The Play flavor uses the new Firebase project; the GitHub flavor keeps
the old one until the app re-registers its token when it changes.
- Widget clicks and the device-sync account type follow the package name.
- Photos come from the system picker without asking for media access,
and the unused microphone permission from expo-camera is removed.
- A manual workflow run without a tag no longer replaces the APK of the
latest release.
2026-10-20 12:56:44 +02:00
Linus Rath
5f5ffdaddb
feat: mute notifications for single folders or whole accounts #78
2026-10-19 13:11:12 +02:00
Linus Rath
2b486cb1ef
fix: show tags with no local definition in the message header, as the list does #79
2026-10-19 13:02:29 +02:00
Linus Rath
d22fb8d5d0
feat: open the files inside ZIP archives and attached messages
2026-10-16 19:39:57 +02:00
Linus Rath
56d826c508
test: cover how the PDF preview reports protected and unreadable files
2026-10-16 19:24:19 +02:00
Linus Rath
e5492b89c8
feat: show PDFs in the app on Android
2026-10-16 19:23:17 +02:00
Linus Rath
11e74042e2
fix: hand files with a generic type to other apps by the type their name implies
2026-10-16 19:11:50 +02:00
Linus Rath
95580b84ea
feat: play video and audio, and show SVG, HTML and Markdown files in the preview
2026-10-16 19:11:24 +02:00
Linus Rath
3aca2d80c0
fix: preview .eml attachments that carry attachments of their own
2026-10-16 18:48:26 +02:00
Linus Rath
7c534301ee
refactor: open files from mail, the list, Files and compose through one preview
2026-10-16 18:48:26 +02:00
Linus Rath
14dc5ff2d4
Merge pull request #76 from lucletoffe/feat/calendar-sort-order
...
feat(calendar): order calendars by sortOrder and move them from the drawer
2026-10-15 23:37:37 +02:00
Linus Rath
14ba28c79c
Merge pull request #74 from lucletoffe/fix/compose-visual-viewport
...
fix(composer): stop the body's first lines hiding under To/Cc/Subject on Android
2026-10-15 23:23:40 +02:00
Linus Rath
598adc154d
Merge pull request #72 from lucletoffe/fix/draft-part-blobids
...
fix(drafts): keep a re-opened draft's attachments on live blobs across saves and sends
2026-10-15 23:23:26 +02:00
lucletoffe and Claude Opus 5.5
3c0af52c4e
feat(calendar): order calendars by sortOrder and move them from the drawer
...
Calendars were listed in the order the server returns them (creation
order on Stalwart) and sortOrder was never read. Sort them like the
webmail now does and as JMAP Calendars asks: lower sortOrder first,
equal sortOrder by name (case- and accent-insensitive, numbers by
value), each account's calendars kept together. The store keeps the list
sorted, so the drawer, the event editor and the other pickers agree.
The drawer's long-press panel gains Move up / Move down for the user's
own calendars. A move renumbers that account's calendars 1, 2, 3... and
writes sortOrder only where it changes; the panel stays open so a
calendar can be moved several places.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-15 22:07:33 +02:00
Linus Rath
c07b39a070
fix: keep device sync free of expo by registering device locales from i18n #75
2026-10-15 15:19:18 +02:00