Isolate the AppBuild Android photo/camera crash boundary
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/128.0.0.0 Safari/537.36
isAppBuildWebView is true but there is no window.AppBuild.camera or mobileApp.takePhoto method, the app relies entirely on the WebView's <input type="file"> →WebChromeClient.onShowFileChooser(). No native camera plugin exists.Plain <input type="file" accept="image/*"> — no multiple, no preview, no compression, no R2. If this crashes, the WebView file chooser itself is broken.
Plain <input type="file" accept="image/*" multiple> — if A passes but this crashes, multiple is the trigger.
Plain <input type="file" accept="image/*" capture="environment"> — no multiple. If A passes but this crashes, capture is the trigger (camera intent incompatibility with the AppBuild WebView).
Persisted checkpoints from Bulk Photo Import. If the app crashed, the last checkpoint shows the crash boundary. Re-open this page after a crash to read it.
Test A crashes → The AppBuild WebView's onShowFileChooser / ActivityResult is broken. Fix requires an AppBuild binary update or a native camera plugin.
A passes, B crashes → multiple attribute triggers the crash. Remove multiple and use single-shot selection.
A passes, C crashes → capture="environment" triggers the crash (camera intent incompatible). Remove capture and let users pick from gallery.
A+B+C pass, Photo Import crashes → Read Test D. The last checkpoint shows whether the crash is in preview, compression, R2 upload, or entity save.