Repository navigation
Conversation
Detect mobile projects from package.json or pubspec.yaml and hand the agent native SDK steps instead of the web snippet: the Babel and Expo config plugins, Gradle, Info.plist, and the Flutter entry point. The org id and (for EU orgs) server URL are interpolated into the build config snippets. The extras pass uses the mobile identify, session URL, and masking APIs, and analytics detection covers RN and Flutter SDKs. Also drops the old React Native instruction, which told agents to call a web-style init().
This branch has not been deployed
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.
Stacked on #54 (static snippet install). Review that first; this PR's diff is only the mobile changes.
What
Mobile projects are now detected and get Fullstory's native mobile SDK installed by the coding agent, instead of the web snippet.
src/platform.ts): Flutter frompubspec.yaml(only when it depends on the Flutter SDK), Expo or bare React Native frompackage.json. Mobile skips the snippet fetch and the static installer.org/host, Gradlefullstory { org, serverUrl }, and the plistFullstorydict (OrgId,ServerUrl).runFullstoryApp/FullstoryBinding, the required AndroidApplicationsubclass, version pairing between the Flutter package and the Android plugin, and notes on obfuscated builds.FullStory.identify/FS.identify, the session URL for analytics linkage, andfsClassvs.FSMask/FSExcludefor masking.llms.txt.pubspec.yamlpackages.init({ orgId }).Decisions worth a look
enabledVariants 'all'in Gradle so a debug build captures right away (Fullstory's default is release only). The agent tells the user they may want to narrow it later.project.pbxproj, or the agent hands it to the user if it can't do that safely. This is the step most worth testing on a real app.orgsmap).Testing
npm run typecheck,npm run build, andnpx vitest runpass (114 tests, including the newsrc/platform.test.tscovering detection, org id validation, US vs. EU prompt rendering, and analytics detection from pubspec).