System bars & deep links

Optional waid.config.json blocks that tune how your app sits on the screen and how it responds to links.

systemBars: status & navigation bars (Android)#

Your app runs edge-to-edge and its content is inset into the safe area (like Flutter's SafeArea). Tune the bars with systemBars:

json
"systemBars": {
"mode": "edge-to-edge",
"appearance": "light",
"statusBarColor": "#0a1410"
}
KeyValuesWhat it does
modeedge-to-edge | overlay | immersiveedge-to-edge: bars as transparent overlays, content inset. overlay: content behind the status bar. immersive: bars hidden.
appearancelight | darkIcon contrast for both bars (light = light icons).
statusBarColor / navBarColor#RRGGBBBar background colors.
statusBarStyle / navBarStylelight | darkPer-bar icon-style override.

Register a custom URL scheme so links like myapp://open launch your app:

json
"deeplink": { "scheme": "wildlife", "host": "sighting" }
KeyWhat it is
schemeThe URL scheme (e.g. wildlife). Empty → no deeplink handler.
hostOptional host component. Empty matches any host for the scheme.

env: non-secret values#

Pass non-secret configuration into your app, readable at runtime via window.host.env:

json
"env": { "llm.provider": "openai" },
"host": { "env": true }

The env block requires host.env: true or the build fails. Only put non-secret values here. Secrets belong in the runtime vault (window.host.vault).