mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 08:04:45 +00:00
Mirrors the web-app load-recovery fix to the napplet/nsite path and fixes a layer bug that kept the overlay from ever showing. The embedded surface (SandboxedSdkView) is drawn by EmbeddedTabLayer, which sits *above* the nav screens in the shell. So a loading/error overlay placed in the favorite screen was covered by the surface's opaque pre-first-frame background — the black void persisted. Move the overlay into EmbeddedTabLayer, drawn over the active tab's bounds (where the chrome sheet already lives), so it actually covers the surface. Also fixes the overlay sizing (fillMaxSize, not matchParentSize, which collapsed to zero inside the reserved Box). - Promote load state to the EmbeddedSurfaceController interface (loadStatus / onLoadStatusChanged / retry), so EmbeddedTabLayer renders one overlay for both the browser and napplet controllers. Shared EmbeddedLoadStatus + EmbeddedLoadOverlay. - NappletHostService now reports main-frame load state (start/finish/error) over a new MSG_LOAD_STATE; EmbeddedNappletController relays it and exposes retry() (= reload the verified content). - The web-app path keeps its about:blank → canonical-URL self-heal; the napplet path has no client-supplied URL to drop, so retry = reload. Verified on device: with the network cut, the brainstorm tab shows "Couldn't load this app." + Retry; restoring the network and tapping Retry loads the page. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>