Skip to content
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: support recording canvas in iframe and shadow dom #168

Merged
merged 23 commits into from
May 29, 2024

Conversation

p-mazhnik
Copy link

Resolves getsentry/sentry-javascript#10758

rrweb PR: rrweb-io#1428

Before

Red square is on the main page;
Green is inside the shadow dom on the main page;
Blue one is within the iframe;
Pink is inside the shadow dom within the iframe.

canvas-iframe-before.mov
After
canvas-iframe-after.mov

@billyvg
Copy link
Member

billyvg commented Mar 20, 2024

@p-mazhnik This is great, I can take a look at this next week

@billyvg
Copy link
Member

billyvg commented May 21, 2024

@p-mazhnik Do you have "Allow edits by maintainers" enabled on this PR? I can't seem to push to your branch

@p-mazhnik
Copy link
Author

Do you have "Allow edits by maintainers" enabled on this PR?

I do. I've added you to my fork as well just in case

@billyvg
Copy link
Member

billyvg commented May 21, 2024

@p-mazhnik thanks, ah I think the perm issues were due to tags

Copy link
Member

@billyvg billyvg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Manually tested this a bit, works great. Doesn't add too much to bundle size either.

@billyvg
Copy link
Member

billyvg commented May 29, 2024

Thanks for the contribution @p-mazhnik! Sorry it took so long to merge.

@billyvg billyvg merged commit 6116ff5 into getsentry:sentry-v2 May 29, 2024
21 checks passed
@billyvg billyvg deleted the canvas-replay-iframe branch May 29, 2024 14:31
billyvg added a commit that referenced this pull request Oct 29, 2024
`reset()` gets called when we stop a recording in progress. There is no reason to re-initialize the worker in `reset()` as you would need to call `record()` to start recording again, which would start a new worker. This was introduced in #168.
billyvg added a commit that referenced this pull request Oct 31, 2024
`reset()` gets called when we stop a recording in progress. There is no
reason to re-initialize the worker in `reset()` as you would need to
call `record()` to start recording again, which would start a new
worker. This was introduced in
#168.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for iframes in Canvas Replay
2 participants