Console tab
Toolbar, filters, row anatomy, and the > prompt.
Mirrors console.log, .info, .warn, .error and .debug, plus output from wired-up WebView pages.
Holds the 500 most recent rows.
Toolbar
| Control | What it does |
|---|---|
| Record / Clear | As on the panel. The > prompt still answers while capture is paused. |
| Filter (⌕ list) | Opens the filters panel. |
| Warn/error counts | On the right: a live count of captured warnings and errors, each in its colour. |
Filters panel
| Field | What it does |
|---|---|
| Search box | Matches the rendered text of a message. |
| Level chips | All (n), Logs (n), Info (n), Warnings (n), Errors (n), Debug (n). Counts are live. |
| Source chips | One per source, shown only when more than one source has logged — that is, once a WebView reports in. |
A console row
| Element | Meaning |
|---|---|
| Level icon | Info, warning, error and debug get a glyph and colour; warnings and errors tint the whole row. |
| Arguments | One cell per logged argument, so a message and its object stay apart. Objects and arrays render as a collapsed JSON tree; tap to expand level by level. |
| Error | The message on the row; tap to expand the full stack. |
| Source | WebView::[name] for browser-view output; absent for your app's own. |
| ×n | Repeat count. Consecutive identical messages from the same source collapse into one row. |
| Time | Wall-clock time of the most recent occurrence. |
| Copy | Copies the row's text. |
The list follows the newest output and stops following the moment you scroll back, with a ⌄ button to jump to the newest again.
A row for an uncaught error links to its own crash report: tapping the message opens the report over the Console tab, while the disclosure arrow still expands the inline stack.
The > prompt
Present when the REPL is enabled through console.repl, which
defaults to true in every build.
- Type an expression and submit: your input appears as an
inputrow (›), the result as aresultrow (‹). Objects come back as the same explorable tree. - A returned promise shows as pending and fills in when it settles.
- Suggestions appear as chips above the prompt as you type, including members of whatever object you are inside. Tap one to complete.
- Tap any earlier input row to load that command back into the prompt.
$modules('auth')lists loaded Metro modules matching a string;$m('src/stores/auth')returns one. Both read Metro's module registry, which only a development bundle has, so in a release build they return nothing.- Anything passed in
console.contextis in scope by name.
Your app's own imports are not reachable by name: a bundled module is a private closure, so there is
nothing for an expression to resolve. context is how you hand over the objects you want to poke at,
and it is the only route that works in a release build.