Repository navigation
Description
Found during #65 / PR #66's emulator-only production-readiness pass. Related to #7.
The exact candidate APK 409088cb9879507454598038ea4f7dd3bc54a40a0facee48c376f95152f9908e (implementation 944aca80afbddd042d937058d649b01aa92fcc6c) installs and launches on the API26 ARM64 Google APIs image revision3. Its WebView provider is com.google.android.webview version 58.0.3029.125.
A two-item React/List fixture never publishes its native rows. Device Chromium logs report Uncaught SyntaxError: Unexpected token . and Unexpected token { while evaluating the unchanged adapter/runtime. The runtime has optional chaining/null-coalescing and modern APIs, while the host evaluates assets before it has a reliable capability failure path. A dedicated diagnostic records the native UI error as ReferenceError: __tinycast is not defined, with no rendered fixture row. The List test’s row wait times out; that is distinct from an app watchdog timeout. The existing desktop-API watchdog is not established as the result of this particular reproduction. This is a runtime compatibility finding, separate from API26 test-helper failures involving capture/clipboard APIs.
Acceptance criteria:
- Probe required parser syntax and runtime APIs before evaluating the unchanged vendored assets, using a probe that itself runs on legacy engines.
- Reject an incompatible engine promptly, naming the actual provider/version and giving specific WebView/Chrome update guidance inside the palette. Preserve native Back/Close and caller state, and prevent extension dispatch while blocked.
- Provide native recovery without forwarding extension-controlled intents or opening another app automatically.
- Demonstrate the actual old-engine path on API26 and normal List/Grid execution on a modern engine; include real Android before/after/error screenshots and exact binary/provider identities.
- Preserve all vendored assets/notices unchanged and obtain two independent sol6.1/high audits.
- Keep actual Android8 extension execution partial until tested with an adequate updated provider or a maintained embedded engine. A readable rejection is not extension-execution parity, a security certification, or production clearance.
Original failed runs and Chromium logs remain retained. Host screenshot/capture failures and API assumptions do not become passes because the compatibility problem is now identified.
The diagnostic also recorded a successful UiAutomation screenshot and a successful shell screencap at the AVD’s physical1080×1920 viewport. Earlier forced2340px capture failures are retained separately; a geometry relationship is under investigation, not an established cause.
Activity
moikdev commentedon Nov 5, 2026
Next prioritized slice after verified PR #106 merge
8ff8f4d0: reproduce the actual old-engine boundary, then add a legacy-safe parser/API probe before unchanged runtime assets, native provider/version and update guidance with explicit recovery actions, and current-owner dispatch prevention while blocked. Use the existing owned API26 environment and dedicated modern test AVD, with guarded data/settings/evidence preservation. Actual Android8 execution, native input #69, broader providers/accessibility and production readiness remain partial; readable rejection will not earn execution-parity credit. A separate implementation branch will retain the merged #106 checkout/evidence frozen.moikdev commentedon Nov 5, 2026
Implemented in PR #107, head
b417d94a, pending hosted CI and both independent audits. Actual API26 image revision1 / WebView58 now rejects before asset evaluation, names its real provider and supports explicit native provider settings/Return at 100% and 200% text. The final runtime also passes modern List/Grid and affected selected-input, no-view, handoff and paste probes: 29 positives across nine whole cohorts, plus an identical-instrumentation old-app control that fails the intended missing-recovery assertion. Existing assets/notices and the original diagnostic are unchanged. Android8 execution parity, #69 and production clearance remain open; the report preserves failed attempts and separate recoveries.moikdev commentedon Nov 5, 2026
PR #107 merged as
c4ca362e7f3efccc59eacc4fdcaa7184fe0507c1through the normal merge API with expected head86f1af0cabdb498e18bbe625f1334a0dc734dc23. Root verified both expected parents and treef77f2280ad3d5718293ea06148254da87c4ca45d, identical to the reviewed tree. Both fresh independent full-change gpt-6.1-sol/high audits cleared their scopes; conclusions are recorded in COMMENT review5779629264. Exact-head hosted Android run41962444788 and separate local/android58115208341 succeeded. #68 closed within detection/recovery scope; the PR watch is stopped. Current evidence remains29 candidate positives/nine cohorts/133 checks, separate old-app UI negative, four outer outcomes and separately scoped mutation calibration. This delivers native unsupported-engine recovery; Android8 extension execution, broader Store/platform/accessibility/OEM, #69/#71/#89 and signing/migration remain open.