Linus Rath
ad9db5cbff
ci: tap undo at once, search for every settings page and scroll message rows clear of the ios tab bar
2026-10-22 21:57:31 +02:00
Linus Rath
99e4bd9614
ci: let ios runs with different legs on one branch run side by side
2026-10-22 20:19:48 +02:00
Linus Rath
239bf618b5
ci: search for ipad settings pages, tap the attachment chip by name and move to the body with return in the ios flows
2026-10-22 20:12:59 +02:00
Linus Rath
58e52421e9
ci: report the ios start-up timeline and cache load times in the perf leg
2026-10-22 18:16:33 +02:00
Linus Rath
96ffeaa0e2
ci: pick a photo in the ios compose flow, settle settings rows before tapping, answer prompts in portrait and tap undo sooner
2026-10-22 17:11:21 +02:00
Linus Rath
81a0723abd
ci: report the first ios launch after install apart from the cold starts after it
2026-10-22 16:19:03 +02:00
Linus Rath
6103df86a5
ci: wait longer for the sign-in link prompt after a sign-out on ios
2026-10-22 14:18:30 +02:00
Linus Rath
b97a877fce
ci: let the first ios push banner go before tapping the next
2026-10-22 14:04:11 +02:00
Linus Rath
663f6f0007
ci: push and tap the ios banner again when the first tap misses
2026-10-22 13:56:52 +02:00
Linus Rath
5477cc039a
ci: wait for the message toolbar instead of reply all when opening a message on ios
2026-10-22 13:51:07 +02:00
Linus Rath
ab8e8d7e1e
ci: answer the notification prompt, retry server continue and file delete, and accept a starred row in the ios flows
2026-10-22 13:50:35 +02:00
Linus Rath
49e57482cc
ci: scroll ios settings pages to their check text and steady the calendar reminder and compose body steps
2026-10-22 13:49:11 +02:00
Linus Rath
5f06c3918c
ci: tap the ios push banner right after the push
2026-10-22 13:38:54 +02:00
Linus Rath
96471cf13b
ci: scroll to the seeded inbox row when checking the ios sign-in
2026-10-22 13:20:23 +02:00
Linus Rath
3575ed9450
ci: tap the ios notification again until the app opens
2026-10-22 13:04:59 +02:00
Linus Rath
f181c73a56
ci: tap the ios push notification in notification center, not the fading banner
2026-10-22 12:56:58 +02:00
Linus Rath
c85e32c9f4
ci: test the ios push banner and tap without the service extension under simctl
2026-10-22 11:58:19 +02:00
Linus Rath
f2b98c6dba
ci: erase and retype web sign-in fields instead of selecting their text
2026-10-22 11:52:00 +02:00
Linus Rath
653d5965ed
ci: scroll the ipad settings column to sign out and retry simctl pbcopy
2026-10-22 11:43:34 +02:00
Linus Rath
01d15fd24f
ci: retry the ios maestro warm-up once when the driver dies
2026-10-22 11:28:15 +02:00
Linus Rath
35e44318b9
ci: check the ipad message pane and scroll to rows before long-press in the ios flows
2026-10-22 11:27:29 +02:00
Linus Rath
3bdafefb65
ci: close the ios photo picker without losing the composer and focus the body first
2026-10-22 11:26:36 +02:00
Linus Rath
982a23cafd
ci: fix the ios settings, calendar and swipe flow steps
2026-10-22 11:22:51 +02:00
Linus Rath
c39e977de5
ci: catch the ios push banner and the extension's log
2026-10-22 10:36:14 +02:00
Linus Rath
24948cb717
ci: keep the app's js log and pin the sign-out dialog button
2026-10-22 10:30:39 +02:00
Linus Rath
6b434346ff
ci: give the ios test legs more time
2026-10-22 10:17:49 +02:00
Linus Rath
1827f8eb34
ci: run the ios perf flows in one maestro process and report every round
2026-10-22 10:17:17 +02:00
Linus Rath
9c549c9d00
ci: keep the notification logs and settings of the ios push test
2026-10-22 10:16:34 +02:00
Linus Rath
f00cd6a259
ci: check and retype web sign-in fields in the ios flows
2026-10-22 09:54:21 +02:00
Linus Rath
62931bcc53
ci: grant notification permission before the ios push test
2026-10-22 09:43:20 +02:00
Linus Rath
5622d732e9
ci: steady the ios flows around transitions, pickers and covered fields
2026-10-22 09:32:11 +02:00
Linus Rath
db3c6b5ba1
ci: test ios push notifications on the simulator with simctl push
2026-10-22 09:04:27 +02:00
Linus Rath
680d4745ed
ci: run each ios perf measurement as its own flow
2026-10-22 08:29:55 +02:00
Linus Rath
8533bd4f99
ci: fix ios feature flow steps for the drawer, search, selection, calendar and contacts
2026-10-22 08:20:49 +02:00
Linus Rath
52975bd715
ci: test the webmail hand-off with a webmail session left in the browser
2026-10-22 04:45:29 +02:00
Linus Rath
bf226c3794
ci: fix ios sign-out, scanner and add-account flow steps
2026-10-22 04:44:23 +02:00
Linus Rath
ca09708fd1
ci: match ios drawer rows by their joined label and keep failed-step hierarchies
2026-10-22 04:40:42 +02:00
Linus Rath
96d9d54cc9
ci: type the first character alone in ios flows and answer the webmail hand-over prompt
2026-10-22 03:55:43 +02:00
Linus Rath
02bd714afd
ci: add an ios performance leg that compares two simulator builds
2026-10-22 03:11:39 +02:00
Linus Rath
e57ee3d446
ci: sign the ios simulator build ad hoc so the keychain has its entitlements
2026-10-22 03:05:51 +02:00
Linus Rath
08e2f47187
ci: sign the ios simulator app ad hoc so the keychain works, and fix flow selectors
2026-10-22 02:54:00 +02:00
Linus Rath
de414f7ed6
ci: run each ios flow in its own maestro process and add the feature flows
2026-10-22 02:15:35 +02:00
Linus Rath
273051e5f5
ci: run sign-in flows for every method on iphone and ipad simulators
2026-10-22 01:54:03 +02:00
Linus Rath
fa68b2eb53
ci: type a test value in the ios warm-up flow and log what the driver does
2026-10-22 01:28:13 +02:00
Linus Rath
3748a64b10
ci: turn off the ios slide-to-type tip that swallows typed text in simulator tests
2026-10-22 01:15:24 +02:00
Linus Rath
2078388e6f
ci: log why the maestro ios driver fails to start and allow reusing a built app
2026-10-22 00:49:38 +02:00
Linus Rath
ea9bad7cff
ci: run maestro flows on the ios simulator
2026-10-22 00:28:41 +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
1c9bbcc383
chore: update version number to 0.1.83
0.1.83
2026-10-19 13:16:57 +02:00