diff --git a/docker/frontend/src/engine/inpaint.ts b/docker/frontend/src/engine/inpaint.ts index 80ff5d1..03ffd42 100644 --- a/docker/frontend/src/engine/inpaint.ts +++ b/docker/frontend/src/engine/inpaint.ts @@ -554,6 +554,14 @@ export async function inpaintCrop( height: number, hole: Uint8Array ): Promise { + // On mobile browsers (iOS WebKit and Android), compiling the 27MB ONNX model and + // executing WASM tensors alongside CanvasKit exceeds tab memory limits (~384MB ceiling), + // causing iOS Jetsam process termination and browser page reload. + // On mobile, fast local inpaint provides instantaneous (<5ms) Poisson rim relaxation + // and grain synthesis using <1MB RAM, ensuring 100% reliable repair without tab crashes. + if (isIOS() || isMobile()) { + return fastLocalInpaint(rgba, width, height, hole); + } const maxSide = isMobile() ? 256 : INPAINT_MAX_SIDE; let w = Math.max(8, Math.round(width));