bugban_flutter library

Bugban for Flutter.

Wires the framework-agnostic bugban core into Flutter's four separate error paths. They really are four, and missing any one of them leaves a whole class of crash unreported:

  1. FlutterError.onError — errors inside build/layout/paint
  2. PlatformDispatcher.instance.onError — uncaught async errors (Flutter 3.3+)
  3. runZonedGuarded — everything else on the zone, incl. older Flutter
  4. Isolate.current.addErrorListener — crashes on a background isolate

It also adds what a phone needs and a browser does not: a real screenshot (there is no DOM to serialize), start-up and screen-transition timing (there is no LCP), and an offline queue (the network goes away).

Classes

A step the user or the app took before the error.
Bugban
Process-wide client.
BugbanClient
The Bugban client.
BugbanFlutter
BugbanHttpClient
HTTP call tracking.
BugbanMask
Wrap anything that must not appear in a screenshot.
BugbanNavigatorObserver
Tracks which screen the user is on, and how long each transition took.
BugbanOptions
Configuration for the Bugban client.
BugbanScreenshot
Real screenshots at error time.
EventStore
Where the offline queue lives between app launches.
PrefsEventStore
Offline queue backed by shared_preferences.

Exceptions / Errors

BugbanHttpError
The error object a failed HTTP call is reported as.