docs(session-replay): document isSessionReplayActive and pausing replay on sensitive Flutter screens - #20099
Open
lukas-roqqu wants to merge 1 commit into
Open
Conversation
…ay on sensitive Flutter screens
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)