DevPul Open DevPul

Using the UI

Tabs

Tab Shows
HTTP Requests from the HTTP adapters, newest first, with live pending rows.
Errors Devpul.error, Flutter errors and uncaught platform errors.
Logs Devpul.log and captured debugPrint. Appears once there are logs.
Events Everything else sent with Devpul.emit.
Plugin tabs Events claimed by a plugin.

The header shows the latest Devpul.session fields; pick which ones in Settings.

Filtering

Type in the filter box. Plain words must all match; -word excludes. In HTTP, words match the URL, id, status, bodies and error messages.

Fields narrow further. A comma means any of them, and a leading - negates.

Field Tab Examples
status: HTTP status:4xx,5xx, status:>=400, status:404, status:err, status:pending
method: HTTP method:post, -method:options
host: HTTP host:api.example.com, -host:cdn
ms: HTTP ms:>500, ms:<=100
size: HTTP size:>100k, size:<1mb
tag: all tag:env=qa, tag:user (any value)
kind: lists kind:cart, -kind:route
source:, type: Errors source:flutter, type:StateError
level:, name: Logs level:warn,error, name:auth

Chips do the same for values seen in the data: status classes, methods, hosts, tags, app runs, sources, levels and kinds. Filters are remembered per tab.

Sorting

Click a column header in HTTP to sort by it; click again to flip the direction. Rows without a value, such as pending requests when sorting by duration, go last either way. Sorting by time, newest first, shows a divider between app runs.

Details

Select a row to see it on the right. Headers and params show as tables, bodies as a JSON tree; switch to raw JSON with the Raw button. Copy the URL, any section, a curl command or a fetch() call for the browser console.

In Errors, Group repeats folds identical errors into one row with a count, and each error lists the requests made in the 10 seconds before it. Click one to open it in HTTP.

Pause freezes which rows are listed; rows already shown still update. Resume shows how many arrived meanwhile.

Keyboard

Key Does
/ Focus the filter
j k or arrows Move the selection
Esc Close the detail or leave the filter
1 to 9 Switch tabs
? Shortcut list

Actions

Code the app registers with Devpul.action shows in the Actions menu. Clicking one runs it in the app and shows the result. See Core API.

Export and import

Export offers:

Exports contain whatever the app sent, tokens included. Use redaction before sharing.

History

Events are kept in the browser (IndexedDB, 20,000 events and 200 MB by default, oldest dropped first), so a reload keeps them. Change the limit, turn it off or clear it in Settings. Nothing leaves the browser.