fix: suppress ghost screen events when app is in background#355
Merged
marandaneto merged 5 commits intomainfrom Apr 8, 2026
Merged
fix: suppress ghost screen events when app is in background#355marandaneto merged 5 commits intomainfrom
marandaneto merged 5 commits intomainfrom
Conversation
Member
Author
|
@didyk i think this approach would be better? |
5 tasks
ioannisj
approved these changes
Apr 8, 2026
Contributor
ioannisj
left a comment
There was a problem hiding this comment.
Makes sense, just a couple of comments around implementation
This reverts commit f73c03c.
|
@marandaneto thanks! |
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.
💡 Motivation and Context
When a Flutter app goes to the background (
AppLifecycleState.pausedorinactive), the OS or certain plugins can trigger widget tree rebuilds. This causes the router to reconstruct routes, which firesPosthogObservercallbacks (didPush,didPop,didReplace), resulting in ghost$screenevents even though the user isn't looking at the app.This was reported in #352 with an MRE. Rather than requiring users to work around this with a
propertiesExtractor, this fix handles it built-in withinPosthogObserver.Fixes the issue described in #352 (comment)
💚 How did you test it?
didPush,didPop,didReplace) with paused/inactive/resumed lifecycle states📝 Checklist
If releasing new changes
pnpm changesetto generate a changeset filereleaselabel to the PR