The install prompt never showed up on Android
Android · ChromeRoot cause
The public domain sat behind a "coming soon" gate for client review before launch. The middleware enforcing that gate excluded images by file extension, but not .js — so /sw.js itself was being redirected for any visitor without the preview cookie. Service worker registration failed silently, and without an active service worker Chrome never offers to install.
Fix
// src/proxy.ts
export const config = {
matcher: [
"/((?!_next/static|_next/image|favicon.ico|icon|images/|sw.js|manifest.webmanifest|.*\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)",
],
};