[PANA-6704] Allow multiple formats in BrowserFullSnapshot records#373
Merged
sethfowler-datadog merged 2 commits intomasterfrom Apr 1, 2026
Merged
Conversation
simaoseica-dd
approved these changes
Apr 1, 2026
Contributor
simaoseica-dd
left a comment
There was a problem hiding this comment.
LGTM! And no ramifications to Mobile. 👌
Merged
5 tasks
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.
For better compatibility with older mobile SDKs, it would be helpful if
BrowserChangerecords were represented asBrowserFullSnapshotrecords when they represented a full snapshot. This would enable mobile SDKs which receive these records from webviews to set metadata accurately on the segments that include these records.This PR makes this possible by adding an optional
formatproperty toBrowserFullSnapshotrecords. Whenformatis unset, or has the valueSnapshotFormatV1, thedataproperty is interpreted as containing a snapshot in original V1 format. Whenformathas the valueSnapshotFormatChange, thedataproperty is interpreted as containing a snapshot in the new Change format.This change is backwards compatible from a data format perspective, since any
BrowserFullSnapshotwithout aformatproperty is interpreted in the same way it would be today, but code which interacts with thedataproperty may need changes to avoid triggering TypeScript errors. I'll make the necessary changes in downstream repos after this lands.