docs(android-test): as-is survey GOA+stage stable/master/inference
Record dual-stack overview: landings OK, all app variants ANR-blocked on low-RAM emulator; older F-Droid APKs missing; local master+inference branch built but not greener (not pushed).
This commit is contained in:
parent
8f42306db7
commit
57cf9aa2a1
2 changed files with 60 additions and 33 deletions
|
|
@ -8,3 +8,4 @@ out-source-gui/
|
|||
out-gui-chain/
|
||||
out-matrix-*/
|
||||
out-stack-run-*/
|
||||
out-survey-*/
|
||||
|
|
|
|||
|
|
@ -264,50 +264,76 @@ Scripts **today** implement Android only; they should honour:
|
|||
| **GOA** | explorer mint / `demo-withdraw.json` @ bank.hacktivism.ch | goa-shop templates / Paivana pay-template |
|
||||
| **stage** | explorer / demo-withdraw @ stage.bank… | fermes / jardin public templates |
|
||||
|
||||
### Dual-stack run result (2026-07-17 · headless AVD)
|
||||
### Lageübersicht GOA + stage (as-is survey · 2026-07-17 ~22:05–22:18)
|
||||
|
||||
**What ran:** published F-Droid wallet **1.6.1** (`net.taler.wallet.fdroid`),
|
||||
`run-android-pay-smoke.sh` with **Abheben + Bezahlen**, `SMOKE_STRICT=1`,
|
||||
per-stack wall **480 s** (no full matrix / no Gradle — time-bounded).
|
||||
Device: `emulator-5554` (TalerWallet34, headless, SwiftShader).
|
||||
Host RAM ~**3.7 GiB** (~150 MiB free during run) — under recommended ≥6–8 GiB.
|
||||
**Device:** headless `emulator-5554` · host ~3.7 GiB RAM (often <300 MiB free) · timeout per leg ≤420 s.
|
||||
**Legs:** Abheben + Bezahlen (`DO_WITHDRAW=1 DO_PAY=1`). Artefakte: `out-survey-20260717-220527/` (gitignored).
|
||||
|
||||
| Stack | Bank / pay entry | Exit | Elapsed | Withdraw URI | Pay URI | wallet-core withdraw | wallet-core pay | ANR | Overall |
|
||||
|-------|------------------|------|---------|--------------|---------|----------------------|-----------------|-----|---------|
|
||||
| **goa** | bank.hacktivism.ch · paivana pay-template | **10** | ~106 s | delivered | delivered | **NO** | **NO** | **YES** (System UI) | **FAIL** |
|
||||
| **stage** (*lefrancpaysan*) | stage.bank… · fermes `panier-legumes` order | **10** | ~176 s | delivered | delivered | **NO** | **NO** | **YES** (Android System) | **FAIL** |
|
||||
#### Varianten
|
||||
|
||||
Neither stack hit the 480 s timeout; both finished under 3 min with hard fail.
|
||||
| Variante | Quelle | Bemerkung |
|
||||
|----------|--------|-----------|
|
||||
| **stable (published)** | F-Droid `net.taler.wallet.fdroid` **1.6.1 / 854** | as-is |
|
||||
| **master as-is** | rebuild `origin/master` @ `f65a976c` → `.fdroid.debug` | as-is, no patches |
|
||||
| **ältere Releases** (3/6/9/12 mon) | F-Droid APKs für `1.5.0`/`1.3.0`/`1.1.0`/`1.0.8` | **nicht auffindbar** (HTTP miss) → **SKIP** (kein Selbstbau älterer Tags) |
|
||||
| **master + inference** (extra) | local branch `local/master-with-inference` @ `3ebe8b09` | merges `fix-bank-withdraw-auto-exchange` + `fix-withdraw-spinner-fallback` · **not pushed** |
|
||||
|
||||
**What worked (infra / landings):**
|
||||
#### Ergebnis-Matrix
|
||||
|
||||
- adb install F-Droid APK
|
||||
- GOA + stage **demo-withdraw.json** returned usable `taler://withdraw/…`
|
||||
- GOA **pay-template** paivana URI built
|
||||
- stage merchant **template POST** → `taler://pay/…/fermes-des-collines/…`
|
||||
- Intent delivery (`am start VIEW`) for withdraw and pay
|
||||
- Artifacts under `out-stack-run-20260717-215934/{goa,stage}/` (gitignored)
|
||||
| Variant | Stack | Install / deep-link | Withdraw URI | Pay URI | wallet-core Abheben | wallet-core Pay | ANR | Exit |
|
||||
|---------|-------|---------------------|--------------|---------|---------------------|-----------------|-----|------|
|
||||
| stable published | **goa** (hacktivism) | OK | OK bank.hacktivism.ch | OK paivana template | **NO** | soft/YES once* | **YES** | **10** |
|
||||
| stable published | **stage** (*.lefrancpaysan) | OK | OK stage.bank… | OK fermes order | **NO** | **NO** | **YES** | **10** |
|
||||
| master as-is | **goa** | OK | OK | OK paivana | **NO** | **NO** | **YES** | **10** |
|
||||
| master as-is | **stage** | OK | OK | OK fermes | **NO** | **NO** | **YES** | **10** |
|
||||
| master+inference | **goa** | OK | OK | OK | **NO** | **NO** | **YES** | **10** |
|
||||
| master+inference | **stage** | OK | OK | OK | **NO** | **NO** | **YES** | **10** |
|
||||
|
||||
**What failed (app/GUI on this host):**
|
||||
\*stable-goa console once reported pay wallet-core YES mid-run; final score still ANR-dominated / not reliable settlement.
|
||||
|
||||
- **System UI / Android System ANR** → only Close/Wait; no Confirm/Abheben/Pay taps
|
||||
- **wallet-core** never showed `prepareBankIntegratedWithdrawal` / pay prepare in logcat
|
||||
- Chooser noise: **Taler Wallet** + **Taler Wallet Debug** both installed (“Open with”)
|
||||
- Unattended **Abheben + Bezahlen** not green on this emulator/RAM
|
||||
#### Was pro Stack **steht** (Infra)
|
||||
|
||||
**Interpretation:**
|
||||
| Check | **goa / hacktivism** | **stage / \*.lefrancpaysan** |
|
||||
|-------|----------------------|------------------------------|
|
||||
| Bank `…/intro/demo-withdraw.json` → `taler://withdraw/…` | **OK** | **OK** |
|
||||
| Pay entry | paivana `pay-template` **OK** | fermes `panier-legumes` POST → `taler://pay/…` **OK** |
|
||||
| adb `VIEW` Intent delivery | **OK** | **OK** |
|
||||
| Unattended Confirm/Abheben/Pay GUI | **FAIL (ANR)** | **FAIL (ANR)** |
|
||||
| wallet-core prepare/accept withdraw in logcat | **not seen** | **not seen** |
|
||||
|
||||
| Layer | GOA | stage |
|
||||
|-------|-----|-------|
|
||||
| HTTP / bank / merchant reachability for smoke inputs | OK | OK |
|
||||
| Deep-link plumbing | OK | OK |
|
||||
| Unattended GUI Confirm → settled | **blocked (ANR)** | **blocked (ANR)** |
|
||||
| Strict smoke (`SMOKE_STRICT=1`) | fail rc=10 | fail rc=10 |
|
||||
**Fazit as-is:** Beide Stacks liefern die **Eingänge** (Withdraw- + Pay-URIs). Die **GUI/wallet-core-Strecke** ist auf diesem Emulator für **alle** getesteten App-Varianten (stable, master, inference) **gleich tot** — System UI / Android System ANR, keine brauchbaren Taps. Das ist **kein Stack-Unterschied** GOA vs stage und **kein** belastbarer App-Versions-Vergleich.
|
||||
|
||||
**Not a stack-specific regression** between GOA and stage in this run — same failure mode (host/emulator).
|
||||
Settlement proof remains **host CLI e2e/ladder**, not this Android GUI path, until a device with enough RAM is used.
|
||||
#### Inference-Patch-Versuch (lokal, **kein Push**)
|
||||
|
||||
**Retry when:** physical phone or host with more free RAM; ideally uninstall one of fdroid / fdroid.debug to avoid “Open with”; optional `WINDOWED=0` stays default (headless).
|
||||
Weil **nichts** der as-is-Varianten wallet-core-grün war, wurde zusätzlich gebaut:
|
||||
|
||||
```text
|
||||
taler-android branch: local/master-with-inference # NOT pushed
|
||||
base: origin/master
|
||||
merged: origin/dev/hernani-inference/fix-bank-withdraw-auto-exchange
|
||||
origin/dev/hernani-inference/fix-withdraw-spinner-fallback
|
||||
commit: 3ebe8b091379
|
||||
APK: apks/wallet-master-inference-3ebe8b091379.apk (local)
|
||||
```
|
||||
|
||||
| Stack | Inference smoke | Besser als master/stable? |
|
||||
|-------|-----------------|---------------------------|
|
||||
| goa | exit 10, ANR, no withdraw core | **Nein** |
|
||||
| stage | exit 10, ANR, no withdraw core | **Nein** |
|
||||
|
||||
**Kein grünes Inference-Signal** auf diesem Host → wir können **nicht** belegen, dass die Patches Withdraw/Pay „retten“.
|
||||
Ebenso können wir **nicht** belegen, dass master ohne Patches „schuld“ ist: die Umgebung erreicht wallet-core gar nicht.
|
||||
|
||||
> **Wenn später auf Gerät/mehr RAM die Inference-APK plötzlich grün und master/stable rot ist:**
|
||||
> das ist der **klare Fix-Hinweis** — Patches aus `dev/hernani-inference/*` upstreamen / in master holen.
|
||||
> **Heute:** noch **nicht** der Fall; primärer Blocker = **Emulator/RAM/ANR**.
|
||||
|
||||
#### Nächste sinnvolle Schritte (später)
|
||||
|
||||
1. Physisches Gerät oder Host ≥6–8 GiB free RAM
|
||||
2. Nur **eine** Wallet-Package-ID installiert (kein Open-with)
|
||||
3. Survey wiederholen: stable · master · `local/master-with-inference` auf **goa + stage**
|
||||
4. Ältere F-Droid-APKs nur wenn wieder gehostet; kein Selbstbau alter Tags
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue