rejourney 0.2.1
rejourney: ^0.2.1 copied to clipboard
Privacy-first Flutter session replay for iOS and Android with masking, crash and ANR reporting, network timing, and product analytics.
0.2.1 #
- Fix Android replays that remained black when a small native toast or overlay made a failed whole-window Flutter readback look valid.
- Find Flutter's render surface by its typed view hierarchy instead of its release-obfuscated class name so minified Android builds use surface capture.
- Capture Flutter's retained layer tree on affected renderers so complex
Impeller and Flame scenes are recorded without replacing the live
FlutterSurfaceViewor requiring a host render-mode change. - Reduce compatibility readback resolution, space periodic fallback captures, and let explicit visual changes settle before capture to limit work on software and low-end renderers.
- Use a 15-second retained-layer heartbeat on affected Android renderers while capturing settled Navigator transitions on demand, avoiding a heavy fallback readback every five seconds during otherwise idle scenes.
- Preserve capture-only privacy masking on compatibility frames and add a forced retained-layer integration test that verifies real Android delivery.
- Report a
RejourneyMaskwidget's measured bounds on its first painted frame instead of briefly masking the complete replay viewport. - Close every Android registration, presign, upload, completion, and session-end HTTP response to prevent connection-pool leaks during long recordings.
- Add high-density retained-layer pixel tests, sparse-overlay black-frame tests, capture-source metrics, and performance diagnostics for the compatibility path.
0.2.0 #
- Fix black Android Flutter replay frames on renderer/device combinations where
PixelCopyreports success but returns an emptyFlutterSurfaceViewbitmap. - Detect false-success black frames and switch active recording to Flutter's supported image-backed render view, restoring the original surface when recording stops.
- Preserve renderer and activity ownership across applications that create more than one Flutter engine, including background engines.
- Add capture-source, fallback, and readback timing fields to
RejourneySdkMetricsfor integration and performance diagnostics. - Correct the Flutter error-capture setup guidance so bindings and
runAppremain in the same Dart zone. - Add Android black-frame analyzer coverage and validate replay upload on Impeller-backed Android and iOS simulator builds.
0.1.1 #
- Correct the package, examples, and documentation to use the repository's Apache-2.0 client SDK license.
- Replace the package showcase with the Rejourney Replay Workbench view of a captured iOS session and synchronized diagnostic evidence.
0.1.0 #
- Initial Flutter SDK for Android and iOS.
- Session replay, remote recording configuration, lifecycle rollover, upload, identity, screen tracking, custom events, metadata, crash and ANR capture, network markers, SDK metrics, and explicit visual-change markers.
- Flutter Navigator observer, privacy-mask widget, guarded error capture, and
an instrumented
package:httpclient. - Bounded offline stop/finalization behavior with background best-effort
persistence and configurable
stopTimeout. - Example app, automated tests, integration tests, and benchmarks.
