docs(mobile-trackers): document isVisible on background-only launches [AISP-1653] - #1915
Draft
snowplow-claude-review[bot] wants to merge 2 commits into
Draft
docs(mobile-trackers): document isVisible on background-only launches [AISP-1653]#1915snowplow-claude-review[bot] wants to merge 2 commits into
snowplow-claude-review[bot] wants to merge 2 commits into
Conversation
|
Thanks for your pull request. Is this your first contribution to a Snowplow open source project? Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://docs.snowplowanalytics.com/docs/contributing/contributor-license-agreement/ to learn more and sign. Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks. |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
documentation | 2b0507b | Commit Preview URL Branch Preview URL |
Aug 21 2026, 08:14 AM |
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.
What
Documents the iOS/tvOS tracker fix that makes
application_lifecycle.isVisiblereflect real app state during background-only launches, and corrects the pages that assert the old behaviour.docs/events/ootb-data/mobile-lifecycle-events/index.md— expanded the lifecycle entity section: trackers hold visibility in memory, set it at tracker creation and update it on each foreground/background transition, and background-only launches (silent push, background refresh) are handled differently per platform. Adds a platform table forisVisibleduring a background-only launch — iOS and tvOSfalsefrom the fix version; macOS, watchOS and visionOStruebecause those platforms have no lifecycle observers; Androidtrue; React Nativefalse; Flutter matching the native tracker — and links to the mobile tracker page for detail.docs/sources/mobile-trackers/tracking-events/lifecycle-tracking/index.md— this page carried the same inaccurate claim, so it gets the detailed treatment: new H2s for configuring lifecycle autotracking and understanding the entity value, with H3s on background-only launches and platform coverage. Covers the trigger paths (silent push, background app refresh, backgroundURLSessionupload, push-to-start Live Activity), the pre-fix behaviour, and the app-state read at tracker creation. It documents the mapping the tracker actually implements — background is not visible, while both active and inactive are visible — and explains that a normal launch reports inactive atdidFinishLaunchingWithOptions, so normal launches are unaffected. A note covers the three knock-on effects: the foreground event is now tracked when a background-launched app is later opened (earlier versions tracked none and the foreground index did not increment), the session controller reportsisInBackgroundas true during the background launch, and session expiry uses the background timeout, which only matters where the two timeouts differ. Platform coverage states that only iOS and tvOS observe lifecycle transitions, and that the Android tracker still reportstruefor background-only launches.docs/sources/mobile-trackers/tracking-events/screen-tracking/index.md— one paragraph in the screen time section on the changedscreen_summaryattribution: time before the app first becomes visible now counts towardbackground_sec, where before it counted towardforeground_sec. It also states the remaining limitation honestly — a screen that both starts and ends in the background still counts towardforeground_sec.A style fix rides along on the lifecycle page: "since v6.0.0" becomes "since version 6.0.0", per the style guide rule against the v-prefix.
Scope
Two of the three pages were outside the original scope. They were changed because they assert the same behaviour the fix changes — the lifecycle page repeated the identical "conditioned by the internal state of the tracker" framing, and the screen tracking page documents the foreground/background attribution the session seed alters — so leaving either would have made the docs self-contradictory. The React Native lifecycle page is untouched (no defect there; it already reads
AppStateat init), and no previous-versions page was changed.Version number — confirm before merge
The tracker fix is not released yet, so the docs use 6.3.0 as a placeholder. It appears four times across the three files, and three non-rendering
{/* ... */}notes mark all four sites. Grep foriOS tracker version 6.3.0rather than the bare version string, which also matches unrelated RDB Loader and enrichment lines.6.3.0 is the next minor after the latest 6.2.5 release. Note that
src/componentVersions.jsstill records 6.2.1 and is stale, and that this is a plain bug fix, which could argue for 6.2.6 instead — so the real number is not determinable until the tracker ships.src/componentVersions.jsis deliberately not bumped, asCONTRIBUTING.mdties that to an actual release. Merge this after the tracker release, with the real version substituted at all four sites.Verification
yarn buildpasses against the currentmainwith these three files overlaid. The build fails on broken links and anchors, so the new internal links and the background-only-launches and screen-time anchors all resolve, and the generated HTML was inspected to confirm the platform table renders and the MDX comments do not appear in output. Prose was checked by hand against the style guide — Vale is not installed in this environment and is not invoked by any workflow.A toolchain note for anyone building locally:
package.jsonpinsyarn@4.12.0viapackageManager, socorepack enableis required before any yarn command works.Draft PR opened for review — please verify and run CI before merging.