-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(replay): Upgrade to rrweb 2.0 #8760
Conversation
4d167ee
to
975c421
Compare
size-limit report 📦
|
// maskInputSelector: maskSelector, | ||
// unmaskInputSelector: unmaskSelector, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't needed since it's just duplicate of maskSelector/unmaskSelector
f89dc8a
to
75d100f
Compare
@@ -5,8 +5,8 @@ | |||
"source": 2, | |||
"type": 1, | |||
"id": 12, | |||
"x": 41, | |||
"y": 90 | |||
"x": 41.810001373291016, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are we sure these do not flake 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will double check where these are even used, does seem sus
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok I assume rrweb updated something so we get more precision from a quick look at the code, the positions should be coming from the mouse event itself
hasn't flaked so 🤞
Overall looks great, left a few small comments. Bundle size increases are sad but I guess it is what it is - eventually we can take a look at potential savings by shaking out stuff (?) we don't need. I didn't look over the test changes in detail, I trust you that they make sense xD |
3c1626c
to
6cc8990
Compare
I skimmed over the rrweb codebase, there's some improvements that can be upstreamed. Looking at https://unpkg.com/rrweb@2.0.0-alpha.4/dist/rrweb.min.js some easy ones are to use terser and minify private class properties and convert some classes to objects. |
sessionInactive test is a bit flakey for webkit -- looks like the ids are off by 15, which is the number of nodes in the snapshot. https://github.com/getsentry/sentry-javascript/actions/runs/5834071494/job/15822830869?pr=8760#step:13:884 |
5d58230
to
238e185
Compare
Node IDs are flaking for this test: |
d271e0d
to
1ade2da
Compare
cf1c93a
to
b4b4a2b
Compare
be81bb0
to
53e33e0
Compare
be58ba9
to
76c513a
Compare
This reverts commit 76c513a.
c4024ed
to
640901c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Congrats on the ship @billyvg! |
This is fully backwards compatible with prior versions of the Replay SDK. The only breaking change that we will making is to not be masking `aria-label` by default. The reason for this change is to align with our core SDK which also does not mask `aria-label`. This change also enables better support of searching by clicks. Another change that needs to be highlighted is the 13% bundle size increase. This bundle size increase is necessary to bring improved recording performance and improved replay fidelity, especially in regards to web components and iframes. We will be investigating the reduction of the bundle size in [this PR](#8815). Here are benchmarks comparing the version 1 of rrweb to version 2 | metric | v1 | v2 | | --------- | ---------- | ---------- | | lcp | 1486.06 ms | 1529.11 ms | | cls | 0.40 ms | 0.40 ms | | fid | 1.53 ms | 1.50 ms | | tbt | 3207.22 ms | 3036.80 ms | | memoryAvg | 131.83 MB | 124.84 MB | | memoryMax | 324.8 MB | 339.03 MB | | netTx | 282.67 KB | 272.51 KB | | netRx | 8.02 MB | 8.07 MB |
This is fully backwards compatible with prior versions of the Replay SDK. The only breaking change that we will making is to not be masking
aria-label
by default. The reason for this change is to align with our core SDK which also does not maskaria-label
. This change also enables better support of searching by clicks.Another change that needs to be highlighted is the 13% bundle size increase. This bundle size increase is necessary to bring improved recording performance and improved replay fidelity, especially in regards to web components and iframes. We will be investigating the reduction of the bundle size in this PR.
Here are benchmarks comparing the version 1 of rrweb to version 2