From 256d3540484c0169530872840926246fbdee3b88 Mon Sep 17 00:00:00 2001 From: archipelago Date: Tue, 23 Jun 2026 04:11:25 -0400 Subject: [PATCH] =?UTF-8?q?docs(master-plan):=20tick=20off=20=C2=A78=20P1?= =?UTF-8?q?=20mobile=20app-launch=20UX=20(code-complete)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mobile launch UX is code-complete on branch `companion-mobile-ux` (store-driven panel, no interstitial, in-app WebView footer + loader, mesh 100dvh, ElectrumX icon, companion v0.4.7 + shared debug keystore). Marked code-complete pending on-device/mobile-web verification and merge to main. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/PRODUCTION-MASTER-PLAN.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/PRODUCTION-MASTER-PLAN.md b/docs/PRODUCTION-MASTER-PLAN.md index 03b0f00d..1943db5d 100644 --- a/docs/PRODUCTION-MASTER-PLAN.md +++ b/docs/PRODUCTION-MASTER-PLAN.md @@ -147,7 +147,9 @@ Beta Live (public). Hardening priorities feeding the gate: - **P1** LUKS2 full-partition encryption for `/var/lib/archipelago/` (AES-256-XTS, Argon2id, key from setup password + hardware salt). - **P1** Meshtastic plug-and-play parity with MeshCore. -- **P1** Mobile app-launch UX — drop the "this app opens in a tab" interstitial. +- **P1 ✅ CODE-COMPLETE** (branch `companion-mobile-ux`, 2026-06-23; needs + on-device + mobile-web verification before merge to `main`) — Mobile app-launch + UX — drop the "this app opens in a tab" interstitial. Two surfaces (both: no interstitial screen, launch the app directly): - **Companion app (Android):** open **every** app in the **in-app WebView** (not just non-iframeable ones) — *and* carry the current mobile-iframe footer @@ -157,6 +159,20 @@ Beta Live (public). Hardening priorities feeding the gate: the Android in-app WebView bridge, and the mesh-mobile iframe footer controls. (Reference prior work: `b5a9deb8` in-app webview for non-iframeable apps, `d1fbcd9b` "open in browser" via native bridge.) + - **✅ Done (branch `companion-mobile-ux`):** mobile launches now use the + store-driven panel (no route push) so the background tab no longer changes and + closing returns you where you launched; tab-only apps open directly (in-app + WebView on companion via `openInApp`, new browser tab on PWA) with **no + interstitial**; the Android `InAppBrowser` (`WebViewScreen.kt`) gained a bottom + footer bar (back/forward/reload/open-in-browser/close) + a centered loading + screen (favicon + progress); a shared `AppLoadingScreen` (icon + progress) + replaced the black/spinner loaders on the app session **and** legacy iframe + overlay; the dashboard is pinned to `100dvh` on mobile so the mesh chat/tools + panes stop sliding under the tab bar in mobile browsers (no-op in companion); + ElectrumX shows its real icon in My Apps. Companion APK bumped to **v0.4.7** + (versionCode 11) with a committed shared debug keystore so updates install + without an uninstall. **Not yet:** merge to `main`; publish the 0.4.7 companion + download (deferred until the gate work lands so they ship together). **Post-beta (deferred — do not start until gate is green):** P2P encrypted voice/video (WebRTC over federation via Tor); watch-only wallet + mesh BTC