flog_flow 0.5.0 copy "flog_flow: ^0.5.0" to clipboard
flog_flow: ^0.5.0 copied to clipboard

Observability for Flutter — structured logs plus session replay. Records the real user journey (screens, taps, network, logs, errors) and replays it in a web viewer.

Changelog #

0.5.0 #

  • New: FlogFlow.instance.setUser(id, name:, email:) (also FlogCloud.setUser) identifies the end user of a recording — call it after login, setUser(null) on logout; it can be called before or after start() and persists across sessions. The identifier travels in the upload's unencrypted meta, so the dashboard can search "sessions of this user" even without a managed key. Prefer an internal id over an email unless you're OK with it being visible there.
  • Platform (deployed separately, no SDK changes needed): frustration signals (rage taps and dead taps) with badges, a search filter and heatmap layers; a navigation-flow explorer per screen (where users come from / go next / drop off); public share-by-link for session replays (7-day expiry, revocable); and team invites by link.
  • Web viewer: opens shared replays (/viewer/?share=…) and shows the real server message when a link has expired or been revoked.

0.4.8 #

  • Web viewer: new "🔥 Heatmap" toggle — replaces the numbered tap markers with a heat layer (taps + sampled scroll paths) for the loaded session. Works for every project, including those without a managed key.
  • Platform (site/dashboard, deployed separately): aggregated per-screen heatmaps across all sessions, for projects with a managed key.
  • No changes to the SDK's public API.

0.4.7 #

  • Documentation is now in English. The README.md shown on pub.dev was rewritten in English (same content and structure as before, nothing removed), and the full Spanish version now ships alongside it as README.es.md.
  • The website (flog-flow.com) and the guide are bilingual: an EN|ES switch that remembers your choice, follows your browser language on the first visit and can be shared with ?lang=es.
  • No code changes: the SDK's public API is identical to 0.4.6.

0.4.6 #

  • README screenshots now use a versioned URL (?v=046) so pub.dev's image proxy re-downloads them. 0.4.5 shipped with unversioned URLs and the proxy kept serving the previously cached 404. No code changes.

0.4.5 #

  • Re-publish to refresh the README screenshots on pub.dev. In 0.4.4 the images were added before the site (flog-flow.com/img/docs/) was serving them, so pub.dev's image proxy cached a 404. The images are online now; this version forces a fresh render. No code changes.

0.4.4 #

  • Documentation updated with screenshots.

0.4.3 #

  • Domain: changed domain.

0.4.2 #

  • README: network capture is now highlighted in the quickstart (Path B) — it's the most common trip-up: it requires FlogDioInterceptor() on the Dio client and CaptureConfig(captureNetwork: true) at the same time; with only one of the two, nothing is recorded. Includes the alternative for apps that use http instead of Dio (recordEvent(type: 'network', …)).
  • README: new rule 6 — the logs ↔ session link is automatic when FlogLogs and FlogCloud.start run together in the same app.

0.4.1 #

  • Logs ↔ session link restored: every FlogLogs log carries the sessionId of the recording in progress again (new FlogFlow.instance.currentSessionId), and logs queued before the recording started are completed when they are sent. This is what lets the dashboard link "View session" from a log and "View logs" from a session.
  • Warning when network isn't being recorded: FlogDioInterceptor with captureNetwork: false (the default) used to drop traffic silently; it now warns in the console (debug) the first time.

0.4.0 #

Integration fixes based on feedback from the first users.

  • Multiple Navigators: new FlogFlow.instance.newNavigatorObserver() — creates one observer per Navigator (GetMaterialApp + nested MaterialApp, your own Navigators). Reusing navigatorObserver across two Navigators triggers a framework assert that's hard to trace; it's now documented and has a way out.
  • FlogCloud.start no longer blocks startup: recording is wired up first (cheap) and pending uploads drain in the background. Previously a slow or offline upload delayed the first frame and the start of the session was lost. awaitPendingUploads: true restores the old behaviour.
  • Timeouts on every upload (FlogCloud, FlogHttpUpload, FlogLogs): connect 15 s / send 1–2 min / receive 30 s. Without them, a flaky mobile network could hang the request indefinitely.
  • Upload failures are no longer silent: debugPrint with the status in debug, plus optional FlogCloud.onUploadError / FlogHttpUpload(onError:) hooks to tell 401 (token), 402 (quota), 413 (size) and network drops apart.
  • Warning when two FlogFlogScopes are mounted: each scope shadows the previous one and screenshots come from the wrong RepaintBoundary with no error at all; it now warns loudly in the console (debug). The scope also unregisters itself when unmounted.
  • Warning about events emitted before start() (debug, once): they used to be dropped silently and the session came out empty with no clue why.
  • FlogCloud.start accepts initialRouteName: recording starts after the first frame, so the initial didPush has already happened; without this the first screen came out unnamed.
  • FlogFlow.instance.screenNameResolver: hook for naming anonymous routes (MaterialPageRoute/PageRouteBuilder with no settings.name), e.g. by runtimeType.
  • archive accepts 3.x and 4.x (>=3.3.0 <5.0.0): the narrow ^4.0.2 range clashed with apps pinning archive ^3.x and prevented installing the package.

0.1.0 #

Initial version.

  • Recording of screens (low-quality JPEG screenshots), taps, scrolls and navigation (FlogFlow + FlogFlowScope + navigation observer).
  • Optional capture of network (FlogDioInterceptor), logs (FlogLogCapture) and errors with stack trace and screenshot.
  • Breadcrumbs, session metadata and a unified timeline.
  • Redaction of sensitive data in screenshots (RedactedZone).
  • Always-encrypted export in a .flowx container (PBKDF2 + AES-256-GCM, packaged in an isolate).
  • Self-contained web viewer (viewer/viewer.html).
  • Automatic upload to the FlogFlow platform (FlogCloud) with recovery of pending uploads.
  • Automatic data deletion (cleanupOnStart, deleteAfterExport) and record-only-if-error mode.
9
likes
140
points
701
downloads

Documentation

Documentation
API reference

Publisher

verified publisheralecodeando.dev

Weekly Downloads

Observability for Flutter — structured logs plus session replay. Records the real user journey (screens, taps, network, logs, errors) and replays it in a web viewer.

Homepage

Topics

#logging #debugging #session-replay #monitoring #analytics

License

MIT (license)

Dependencies

archive, cryptography, dio, flutter, image, path, path_provider

More

Packages that depend on flog_flow