docs(master-plan): tick off §8 P1 mobile app-launch UX (code-complete)
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) <noreply@anthropic.com>
This commit is contained in:
parent
2afd18c6de
commit
256d354048
@ -147,7 +147,9 @@ Beta Live (public). Hardening priorities feeding the gate:
|
|||||||
- **P1** LUKS2 full-partition encryption for `/var/lib/archipelago/`
|
- **P1** LUKS2 full-partition encryption for `/var/lib/archipelago/`
|
||||||
(AES-256-XTS, Argon2id, key from setup password + hardware salt).
|
(AES-256-XTS, Argon2id, key from setup password + hardware salt).
|
||||||
- **P1** Meshtastic plug-and-play parity with MeshCore.
|
- **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):
|
Two surfaces (both: no interstitial screen, launch the app directly):
|
||||||
- **Companion app (Android):** open **every** app in the **in-app WebView**
|
- **Companion app (Android):** open **every** app in the **in-app WebView**
|
||||||
(not just non-iframeable ones) — *and* carry the current mobile-iframe footer
|
(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.
|
the Android in-app WebView bridge, and the mesh-mobile iframe footer controls.
|
||||||
(Reference prior work: `b5a9deb8` in-app webview for non-iframeable apps,
|
(Reference prior work: `b5a9deb8` in-app webview for non-iframeable apps,
|
||||||
`d1fbcd9b` "open in browser" via native bridge.)
|
`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
|
**Post-beta (deferred — do not start until gate is green):** P2P encrypted
|
||||||
voice/video (WebRTC over federation via Tor); watch-only wallet + mesh BTC
|
voice/video (WebRTC over federation via Tor); watch-only wallet + mesh BTC
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user