ReviewOS

also looking at this

craft-native/craft

fix(android): resolve share() with whether the person picked an app

#210
Merged glennmichael123 wants to merge fix/android-share-outcome into main
12 files +399 -56
.github/workflows/README.mdmodified+8-2
Changes to .github/workflows/README.md
@@ -49,10 +49,16 @@ bun run test:mobile-e2e:android
4949```
5050
5151```
52ok android-shim — 4/4 cases, no zig
53ok android-runtime — 4/4 cases, zig served registered:103, declines:0
52ok android-shim — 6/6 cases, no zig
53ok android-runtime — 6/6 cases, zig served registered:103, declines:0
5454```
5555
56One Android case needs a person: `share.dismissed.resolvesFalse` opens the
57real share menu and expects `false` once it is dismissed. The harness plays
58that part. It waits until `dumpsys window` shows the chooser holding input
59focus, saves `share-menu.png`, presses Back, and fails the run if the page asked
60for a dismissal and no menu ever appeared.
61
5662The runtime leg fails on any line where a Zig native gave up — "fell through
5763to the shim", "failed with no fallback" or "could not reach the page" — because
5864Kotlin answering in its place is invisible to the page, and a runtime that has