Skip to main content

Hosanna DevTools Extension

The Hosanna DevTools extension is the interactive debugger UI for Hosanna apps. It connects through the Hosanna command debugger WebSocket proxy and can target either a web app or a Roku/device app.

Hosanna DevTools using management and extension endpoints to reach dynamically assigned app WebSockets, with separate Roku host controlsHosanna DevTools using management and extension endpoints to reach dynamically assigned app WebSockets, with separate Roku host controls

DevTools uses the command debugger for app discovery and protocol routing. Roku ECP, screenshots, and developer logs remain host-side transports.

The extension is available from the Chrome Web Store:

https://chromewebstore.google.com/detail/hosanna-devtools/epghgnobcajmnhkcablhcghiljopploj

For extension development, ../hosanna-ui-browser-extension runs the panel at http://localhost:3000 with:

cd ../hosanna-ui-browser-extension
npm run dev

Required Services

A useful debugging session has three pieces running:

# App repo
npx hst debugger:start
npx hst run web dev browser

hst debugger:start opens configurable proxy endpoints used by the extension and MCP. These values are defaults and bases; a registering app can receive a different per-app WebSocket port through the management API.

Default/base portEndpoint
59150management HTTP API
59151web-app WebSocket base/legacy endpoint
59152device-app WebSocket base/legacy endpoint
59153DevTools extension WebSocket

Some applications wrap this in package scripts, but hst run is the portable command. If the selected build-config environment does not enable remote debugging, add the project's debug profile with --profile <name>.

Connecting

Open browser DevTools on an http://, https://, or localhost page. The Hosanna tab only appears on real pages, not browser settings or blank tabs.

Use the app selector at the top of the extension to choose the connected app. The selector lists apps discovered by the debug proxy, including web apps, device apps, and debug-app targets.

In Settings, choose the target type and device/app details:

  • Web: sends remote keys and inspection commands through the debugger proxy.
  • Device: sends Roku ECP commands to the configured device IP and uses the device app WebSocket for view inspection.
  • Debug app: targets a debugger-managed app instance exposed by the proxy.

Main Panels

The extension panels map to the remote debug protocol:

ShortcutPanelPrimary use
1Hosanna ViewsInspect Hosanna view hierarchy, state, errors, and mapped properties
2Scene Graph ViewsInspect rendered SG node hierarchy and update SG fields
3Collection ViewInspect CollectionView rows/cells, focused indices, slices, recordings, and diagnostics
4FragmentInspect fragment mappings and data-bound child properties
5IoC ContainerInspect registered services and selected service state
6Instance PoolInspect reusable instance pools
7RegistryRead, add, update, remove, import, export, or clear registry data
8EventsSend custom app events
9Text to SpeechInspect speaking state, queue, completed items, and control playback
lLogsFilter, export, copy, and clear app logs
0SettingsConfigure highlighting, logging, editor links, device IP, and target selection

The top toolbar also exposes scene overflow, mouse inspection, the remote control, and the device simulator.

Keyboard Shortcuts

Open the help screen with ?.

KeyAction
rToggle remote control
sToggle device simulator
aFocus the app selector
0-9Change main tab
lOpen Logs
?Open help
hRemote Home
*Remote Info
HomeRemote Rewind
EndRemote Fast forward
tFocus remote text entry
EscClear remote text
EnterSend remote text or Select
Arrow keysRemote navigation
BackspaceRemote Back

Shortcuts are ignored while focus is inside an input, textarea, select, contenteditable area, or the remote text entry field.

Settings That Matter

  • Highlight elements on hover: highlights views as you move through debugger trees.
  • Highlight selected element: keeps a sticky highlight around the selected element on device/app.
  • Auto hide generated ids: reduces noise from generated view IDs.
  • Auto-scroll to corresponding item on tab switch: keeps HS/SG/CV trees aligned as you move between panels.
  • Device IP: Roku device target for ECP commands and screenshots.
  • Logging Configuration: set global level and optionally disable individual trace, debug, info, log, warn, or error channels.
  • Editor Integration: controls stack trace links for Cursor or VS Code and the source path used to resolve files.
Talk to us