rrweb-io / rrweb

record and replay the web
https://www.rrweb.io/
MIT License
15.9k stars 1.38k forks source link

[Feature] Include takeFullSnapshot function in rrweb #1527

Closed arredgroup closed 2 days ago

arredgroup commented 1 week ago

Added takeFullSnapshot function to allow retake a snapshot if user decide pause recording (avoid emit function) and after resume with an updated screen

changeset-bot[bot] commented 1 week ago

🦋 Changeset detected

Latest commit: 3ac0ad7babe38aafbf68001c45e50ed381ee4c74

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 18 packages | Name | Type | | ---------------------------------------- | ----- | | rrweb | Patch | | rrweb-snapshot | Patch | | rrdom | Patch | | rrdom-nodejs | Patch | | rrweb-player | Patch | | @rrweb/all | Patch | | @rrweb/replay | Patch | | @rrweb/record | Patch | | @rrweb/types | Patch | | @rrweb/packer | Patch | | @rrweb/web-extension | Patch | | rrvideo | Patch | | @rrweb/rrweb-plugin-console-record | Patch | | @rrweb/rrweb-plugin-console-replay | Patch | | @rrweb/rrweb-plugin-sequential-id-record | Patch | | @rrweb/rrweb-plugin-sequential-id-replay | Patch | | @rrweb/rrweb-plugin-canvas-webrtc-record | Patch | | @rrweb/rrweb-plugin-canvas-webrtc-replay | Patch |

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Juice10 commented 1 week ago

Hi @arredgroup, thanks for the contribution. After reading your description I'm still not sure I fully understand the use case. Could you elaborate a bit on this topic?

Also maybe this is a better fit for @rrweb/record instead of rrweb itself, but that depends on the use case I guess.

arredgroup commented 1 week ago

Hi @arredgroup, thanks for the contribution. After reading your description I'm still not sure I fully understand the use case. Could you elaborate a bit on this topic?

Also maybe this is a better fit for @rrweb/record instead of rrweb itself, but that depends on the use case I guess.

Sure, we are using rrweb, but in some specific paths, for data security we need to pause the recording and continue, to do that, we decide to stop the emit event, with a return before data is enqueued, but we need to take a full snapshot to refresh the screen recording when pause is finished.

the idea is use this method to avoid stop the recording and start other.