ReviewOS

craft-native/craft

fix(android): CraftNative.deliver drops a script silently when no deliverer is installed

#231
Closed glennmichael123 opened this 9 days ago ·
9 days ago

CraftNative.deliver(script) is runCatching { deliverer?.invoke(script) }. While no deliverer is installed, a script Zig asks it to evaluate is silently dropped. Zig's emitEvent still reports success, so the native returns JNI_TRUE, and no "fell through", "failed with no fallback" or "could not reach the page" line is logged.

The runtime E2E leg's androidDeclines scan is how the suite knows Zig answered, and it cannot see this drop. #215 relies on deep links being dispatched only after installNativeDeliverer() has run, which is true today because the flush happens in the injection callback. A future change that dispatches earlier would lose links with no log line at all.

Suggested: when there is no deliverer, return false from deliver, so Zig can report it through undelivered. Or at least log a decline-style line the scan can match.

Sign in to comment on this issue.