fix: Android E2E aliceTile race + bundle deploy-android infra

The Android UI integration test failed at tap(aliceTile) with "0 widgets"
even though pumpUntil had just found the tile. On the slow software-rendered
emulator the route-pop animation finalises during pumpUntil's trailing 300 ms
settle, briefly leaving the tile out of the tree. Re-confirm with a second
pumpUntil before the tap.

Bundles the previously uncommitted infra changes that make task deploy-android
run end-to-end inside nix develop: Linux desktop runtime libs + GL software
rendering env in flake.nix, path_provider_android pin to <2.3 to avoid the
libdartjni SIGSEGV, deferred DB-path resolution after WidgetsFlutterBinding,
+iglx for xvfb-run, platform-tools on PATH, and a single pre-commit script
replacing the dart-format / task-check-fast pair.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Thomas Güttler
2026-04-28 12:36:30 +02:00
co-authored by Claude Opus 4.7
parent d2226388d7
commit 2e2b7c3d9f
14 changed files with 150 additions and 36 deletions
+4
View File
@@ -220,6 +220,10 @@ void main() {
// ── Navigate to mailboxes ──────────────────────────────────────────────
_log('navigate to mailboxes');
// On the slow Android emulator (software rendering), aliceTile can be
// briefly absent right after pumpUntil's trailing 300ms settle while the
// route-pop animation finalises. Re-confirm it's present before tapping.
await pumpUntil(tester, aliceTile, timeout: const Duration(seconds: 5));
await tester.tap(aliceTile);
await pumpUntil(tester, find.text('INBOX'));
_log('mailboxes settled');