mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 16:14:40 +00:00
Captures JavaScript console output (log/warn/error/debug) from embedded WebViews and surfaces it via a bottom pull-up sheet, triggered by a new "Console (N)" row in the existing top pull-down control sheets. Embedded browser (Compose): - NappletBrowserService: attaches WebChromeClient to intercept console messages and forwards them to the client process via new MSG_CONSOLE_LOG IPC message in NappletBrowserContract - EmbeddedBrowserController: implements new ConsoleBridge interface, stores up to 200 entries in a SnapshotStateList observable by Compose, handles the incoming IPC message - TopControlSheet: adds optional consoleCount/onConsole params; shows a "Console (N)" row when onConsole is provided - BottomConsoleSheet: new Compose pull-up panel anchored at the bottom, with level-coloured monospace log entries and a Clear button - EmbeddedTabLayer: wires ConsoleBridge → TopControlSheet → BottomConsoleSheet Full-screen activity browser (native Views): - NappletBrowserActivity: attaches WebChromeClient, wires NappletConsolePanel and updates the control sheet count label on each new entry - NappletControlSheet: adds optional onConsole callback and updateConsoleCount() - NappletConsolePanel: new native-View bottom pull-up panel with scrollable log entries, grab-to-open gesture, and Clear button; capped at 200 entries Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014QXpdfwj2cujnEa7HPzQXj