Linus Rath
c84c9ddde7
test: check that a range read stops at an account switch
2026-10-29 03:03:21 +01:00
Linus Rath
c0c3429c75
fix: forget a shared calendar refusal that arrives after a new sign-in
2026-10-29 02:59:53 +01:00
Linus Rath
41e8f00509
fix: keep a calendar write that outlasts an account switch out of the next account
2026-10-29 02:57:07 +01:00
Linus Rath
e993540ae6
fix: load the calendar again after an account switch overtook its first load
2026-10-29 02:43:21 +01:00
Linus Rath
8a71495e1a
fix: apply subscribed feed changes to imported events and stop a feed sync when the account changes
2026-10-29 02:40:13 +01:00
Linus Rath
80962e3079
Merge branch 's10/cal' into feat/stalwart-1.0
2026-10-29 02:27:44 +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
f733a54777
test: check the calendar live on Stalwart 1.0.0 and 0.16 with series, overrides, invitations and shares #89
2026-10-29 02:13:04 +01:00
Linus Rath
b6c0cf1820
docs: say that Stalwart 1.0.0 answers the Metadata properties the calendar list leaves out
2026-10-29 02:12:16 +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
e03a38001d
test: check push subscriptions live on Stalwart 0.16 and 1.0
2026-10-29 02:11:09 +01:00
Linus Rath
2f43adbc07
test: check sign-in, token renewal, sign-out and account security live on Stalwart 0.16 and 1.0
2026-10-29 02:09:21 +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
1f190c9402
fix: keep one account's tasks and events out of another's calendar after an account switch
2026-10-29 02:07:52 +01:00
Linus Rath
c6eb02d4cd
fix: say why account security is unavailable when Stalwart 1.0 limits the app's sign-in
2026-10-29 02:07:47 +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
7c775571c9
fix: load the calendar on Stalwart 0.16 when a range starts or ends in the hour the clocks change
2026-10-29 01:58:24 +01:00
Linus Rath
7d8e073587
fix: list files on Stalwart 1.0 when the account holds more nodes than one get allows #1385
2026-10-29 01:54:55 +01:00
Linus Rath
f3e11d4c7c
fix: stop asking an account that shares only mail for its calendars on every load on Stalwart 1.0
2026-10-29 01:54:55 +01:00
Linus Rath
174c3fc8fa
fix: create folders and upload files on Stalwart 1.0 and tell its symlinks from folders
2026-10-29 01:53:51 +01:00
Linus Rath
24232bf2e9
test: seed the live Stalwart test's own mail so it runs on any account and on 1.0
2026-10-29 01:38:30 +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
470e7fc3ba
fix: keep the drawers' account header below the status bar and sheet rows above the home indicator on iPhone
2026-10-23 19:51:48 +02: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
da72415ef3
test: mark the steps of the start-up restore 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
33eb8f99e5
fix: show the undo button on the undo bar in dark mode
2026-10-22 22:04:29 +02:00
Linus Rath
721c2e34a1
fix: sign out of the last account instead of staying signed in
2026-10-22 22:04:28 +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
33fc33910a
test: add test ids to the contact form's name and email fields
2026-10-22 22:04:28 +02:00
Linus Rath
dde504f825
fix: let screen readers reach each option in sheets and menus
2026-10-22 22:04:28 +02:00
Linus Rath
f5f3637d01
fix: keep full-screen modal headers below the status bar on iPhones with a notch
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
ae0b76442a
test: add stable test ids to sign-in fields, tabs and message rows
2026-10-22 00:28:41 +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
c7eda4735c
feat: trust user-installed CAs and pick the TLS client certificate before the first sign-in #3
2026-10-19 13:16:47 +02:00