pulse_ops 1.1.0 copy "pulse_ops: ^1.1.0" to clipboard
pulse_ops: ^1.1.0 copied to clipboard

Flutter-native developer toolkit for in-app network inspection, cURL export, log sharing, shake-to-open, and crash diagnostics with breadcrumbs.

Changelog #

All notable changes to PulseOps will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

1.1.0 — 2026-05-16 #

🛠 Debug Overlay #

  • Shake-to-open: shaking the device launches the inspector. Tunable via PulseOpsConfig.enableShakeToOpen and shakeThreshold. Powered by sensors_plus and silently no-ops when an accelerometer is unavailable.
  • Expandable bottom sheet: the inspector now slides up as a draggable bottom sheet with 40 / 70 / 95 % snap points instead of a full-screen route. Switch back via PulseOpsConfig(inspectorPresentation: InspectorPresentation.fullScreen).

✨ Developer Experience #

  • Log export: new export menu in the inspector (JSON / plain text / cURL) that opens the platform share sheet via share_plus and falls back to clipboard. Programmatic exports available via NetworkLogExporter.

Migration #

  • PulseOps.openInspector now respects inspectorPresentation. Existing callers continue to work unchanged.

1.0.0 — 2026-05-16 #

Initial public release.

🌐 Network Inspector #

  • Dio interceptor (PulseDioInterceptor) capturing request, response, headers, query params, timing, sizes, and errors.
  • In-memory ring-buffer store (InMemoryNetworkStore) with configurable capacity and reactive stream API.
  • Beautiful dark Material 3 inspector UI:
    • Newest-first timeline with method, status, host, duration, timestamp.
    • Live search and filter chips (GET / POST / PUT / PATCH / DELETE, plus "failed only").
    • Per-request detail screen with Overview, Headers, Request, Response, and cURL tabs.
    • Syntax-highlighted JSON viewer with copy-to-clipboard.
  • One-tap cURL export via CurlBuilder with proper shell escaping.
  • One-tap retry using a host-provided Dio instance.
  • Multipart (FormData) request description, including filenames + sizes.
  • Header / body sanitization for sensitive keys.

💥 Crash Diagnostics #

  • Backend-agnostic PulseCrashReporter interface with shipped NoopCrashReporter and a documented Firebase Crashlytics adapter.
  • BreadcrumbTrail ring buffer with debug / info / warning / error levels.
  • Automatic non-fatal reporting for failed Dio requests, with recent request summary attached as context.
  • Manual breadcrumb + error APIs: PulseOps.instance.log(...), PulseOps.instance.recordError(...).
  • Optional global FlutterError.onError and PlatformDispatcher.onError installation.

Developer Experience #

  • Single-call PulseOps.initialize(...) with shorthand crashlytics, enableInRelease, and sanitizeKeys named args.
  • PulseOps.instance.wrap(child:) to mount the draggable floating overlay launcher around any widget tree.
  • PulseOps.instance.openInspector(context) to push the inspector from a debug menu without the overlay.
  • Production-safe: inspector and overlay are disabled in release builds unless enableInRelease is explicitly set.
  • Comprehensive test suite covering sanitizer, cURL builder, store, breadcrumb trail, interceptor, and facade.
1
likes
0
points
137
downloads

Publisher

verified publisherhimanshulahoti.is-a.dev

Weekly Downloads

Flutter-native developer toolkit for in-app network inspection, cURL export, log sharing, shake-to-open, and crash diagnostics with breadcrumbs.

Repository (GitHub)
View/report issues

Topics

#networking #debugging #inspector #crashlytics #developer-tools

Funding

Consider supporting this project:

github.com

License

unknown (license)

Dependencies

dio, flutter, flutter_riverpod, intl, meta, sensors_plus, share_plus

More

Packages that depend on pulse_ops