Overview
Qora's debugging tool is the in-app overlay: a panel rendered inside your running app, in debug builds only. It shows what the cache holds, what each query is doing, and every mutation with its variables and rollback context, as it happens.
In-App Overlay
QoraInspector, and tap the Q button. Works on simulators, emulators and physical devices.What you can see and do
| Area | Contents |
|---|---|
| Queries | Every cached key with its status, searchable. The inspector shows the cached data and the state machine, with actions: Refetch, Invalidate, Mark Stale, Remove, Simulate Error |
| Mutations | Pending and settled mutations. The inspector shows variables, result or error, and the rollback context returned by onMutate, with Retry and Cancel |
| Timeline | Fetches, mutations, optimistic updates and cache clears, in order |
| Data Diff | For a mutation: the variables sent next to the server's result, and the cache snapshot taken for an optimistic update |
Actions require passing the client to QoraInspector; without it the overlay is read-only.
How it works
QoraClient reports what it does to a QoraTracker. The overlay provides one, OverlayTracker, which keeps the recent events in memory (200 per channel) for the panel to display.
QoraClient
│
├── NoOpTracker default, and in release: no events, no cost
└── OverlayTracker debug builds: events kept in memory for the panel
In release builds you pass null as the tracker, so the client uses NoOpTracker, and QoraInspector builds nothing. See Production safety.
To send the same events to more than one tracker (the overlay and your own logging, for example), combine them with MultiTracker from qora.
IDE extension
A Flutter DevTools extension is in development and is not published. The overlay is the supported tool; this page will link to the extension when it ships.
Next Steps
- In-App Overlay: installation and setup
- Data Serialization: make your models readable in the inspector
Infinite Query
Full API reference for InfiniteData, InfiniteQueryState, InfiniteQueryOptions, InfiniteQueryObserver, InfiniteQueryBuilder, InfiniteQueryController, and the QoraClient infinite-query methods.
In-App Overlay
A floating debug panel rendered inside the Flutter app. Inspect queries, mutations, and optimistic updates without an external tool.