Skip to main content

flawsnap 0.4.0 copy "flawsnap: ^0.4.0" to clipboard
flawsnap: ^0.4.0 copied to clipboard

In-app bug reports for Flutter: shake or tap, annotate a screenshot and send it with device details, logs and network calls. Plus Insights: user flow, API timing and errors.

0.4.0 (breaking: the package is renamed) #

First release of the Flawsnap SDK as flawsnap on pub.dev (0.0.1 and 0.0.2 were early test uploads of 0.3.x).

  • The package is now flawsnap (was snaplog_flutter), and the Dart API is the Flawsnap class: Flawsnap.init, wrap, navigatorObserver, httpClient, track, screen, resetUser, consent, and the rest, plus FlawsnapTrigger, FlawsnapHttpClient, FlawsnapNavigatorObserver, FlawsnapLogEntry and FlawsnapNetworkEntry.
  • The old names (Snaplog, SnaplogTrigger, ...) are still exported as deprecated aliases that behave identically.
  • Snaplog is now Flawsnap: docs, the sign-in screen ("Approve this device in Flawsnap", "Open Flawsnap") and log messages ([flawsnap]). The production API is https://backend.flawsnap.com/api/v1; team sign-in opens https://app.flawsnap.com.
  • Unchanged, so users stay recognised across the upgrade: stored keys (snaplog.uid.<project key>, the saved sign-in, unsent Insights events), the API calls and what's sent.

Migrating from snaplog_flutter #

  1. pubspec.yaml: replace the snaplog_flutter: dependency with flawsnap: ^0.4.0 (from pub.dev; snaplog_flutter 0.3.0 on pub.dev gets no more releases): flutter pub remove snaplog_flutter, then flutter pub add flawsnap.
  2. Imports: package:snaplog_flutter/snaplog_flutter.dart → package:flawsnap/flawsnap.dart (replacing the prefix package:snaplog_flutter/ with package:flawsnap/ also works).
  3. Code: Snaplog → Flawsnap, SnaplogTrigger → FlawsnapTrigger, and so on. The old names keep working as deprecated aliases, but flutter analyze reports each use and exits with an error code, so rename them, or run flutter analyze --no-fatal-infos meanwhile.

0.3.0 #

  • Insights user journeys: when the project turns on "Recognise returning visitors", the SDK keeps a random id (u_ + 26 characters) in shared_preferences and sends it with Insights events. It isn't your account id; Snaplog.identify() stays bug-report only. consent(false) deletes it, consent(true) starts a fresh one.
  • Snaplog.track(name) records an action on the current screen.
  • Snaplog.resetUser() forgets the id.
  • Snaplog.init(..., consentPending: true): nothing is sent and no id kept until Snaplog.consent(true).
  • The id is stored per project (snaplog.uid.<project key>).

0.2.0 #

  • Insights (opt-in with Snaplog.init(..., insights: true) and the project's Insights switch): user flow (screen views from the navigator observer, back-outs, time on screen, visits), API timing from SnaplogHttpClient, and Dart errors. Snaplog.screen(name) names a screen. Snaplog.consent(bool) stops it and deletes unsent events, or turns it back on.
  • Team sign-in: Snaplog members sign in with a code approved in the browser, and their reports are filed under their account.
  • The floating button follows the project's settings in the portal (shown or hidden, label, position, colour).
  • Requires Dart 3.13 / Flutter 3.47 or newer.

0.1.0 #

  • Not released separately: the version reported in bug reports' metadata while the SDK was still marked 0.0.1. 0.2.0 follows 0.0.1.

0.0.1 #

  • Initial release: shake or floating button, annotated screenshot, device details, logs and network calls.
3
likes
160
points
853
downloads

Documentation

Documentation
API reference

Publisher

verified publisherflawsnap.com

Weekly Downloads

In-app bug reports for Flutter: shake or tap, annotate a screenshot and send it with device details, logs and network calls. Plus Insights: user flow, API timing and errors.

Homepage
View/report issues

Topics

#bug-reporting #feedback #debugging #screenshot #analytics

License

MIT (license)

Dependencies

device_info_plus, flutter, http, package_info_plus, sensors_plus, shared_preferences, url_launcher

More

Packages that depend on flawsnap