docs(session-replay): document isSessionReplayActive and pausing replay on sensitive Flutter screens - #20099
docs(session-replay): document isSessionReplayActive and pausing replay on sensitive Flutter screens#20099lukas-roqqu wants to merge 2 commits into
Conversation
ioannisj
left a comment
There was a problem hiding this comment.
Thanks for this! Checked it against posthog-flutter main and the stop/start part is right: both native SDKs skip touch capture while replay isn't active, so pausing does keep the taps out of the recording.
One thing though, captureTouches from PostHog/posthog-flutter#575 is actually out now (5.41.0), so I think the docs should mention it. Left a couple of comments inline.
|
Thanks for the review 🤝 Both points addressed in 5e38641: captureTouches documented as the app-wide fix (with the version floors) next to stop/start as the per-screen one, and the pause example now checks isSessionReplayActive() itself. |
|
@lukas-roqqu please sign your commits before this can be merged? |
…ay on sensitive Flutter screens
…le check isSessionReplayActive
Head branch was pushed to by a user without write access
5e38641 to
1cc19f2
Compare
|
Done — commits are signed now, should show verified. Ready for another look whenever you get a chance 🤝 |
Changes
Documents what is still missing from the Flutter session replay docs after #20094.
The issue overstated the gap:
startSessionRecording({resumeCurrent})andstopSessionRecording()were already documented in the Flutter tab of programmatic start and stop controls, and the installation page links there. What was missing isisSessionReplayActive()(in posthog-flutter since 4.7.0, PostHog/posthog-flutter#123), and any guidance that masking alone is not enough on keypad-style screens.session-replay/_snippets/flutter-manual-replay-control.mdx– addsisSessionReplayActive()to the methods list, plus a "Pause recording on a sensitive screen" subsection with a minimalStatefulWidgetthat callsstopSessionRecording()ininitStateandstartSessionRecording()indispose. Masking hides the pixels of a PIN, passcode, or card keypad, but the native SDKs still record tap coordinates, so with a known keypad layout the entered value can be reconstructed (feat(replay): allow disabling touches without stopping screenshots posthog-flutter#575 describes this). The existingNavigatorObserverexample stays as the route-based alternative.session-replay/_snippets/flutter-privacy.mdx– new "Pausing recording on sensitive screens" section in the Flutter tab of/docs/session-replay/privacy, after "Masking in Flutter": masking hides pixels, not touch positions, so stop recording while a keypad screen is shown and resume afterwards. Links to the programmatic controls rather than repeating the example.session-replay/_snippets/flutter-installation.mdx– the "Manually control session recordings" paragraph now also mentionsisSessionReplayActive().captureTouchesfrom PostHog/posthog-flutter#575 is unreleased, so it is intentionally not documented here; stop/start is the mitigation available today.Closes #20094
Checklist
/docs/session-replay/how-to-control-which-sessions-you-record,/docs/session-replay/privacy, and/docs/session-replay/installation/flutterin the preview)vercel.json(no pages moved)