Skip to content
This repository was archived by the owner on Nov 4, 2021. It is now read-only.
This repository was archived by the owner on Nov 4, 2021. It is now read-only.

Don't process $snapshot via plugins #280

Description

@macobo

Provocative title, I know.

Currently $snapshot events are treated like any other and processed by plugins. However:

  1. Modifying the payload data could easily break the session recording feature or display misleading information on the screen.
  2. The data payload is chunked and compressed - making it hard to make anything out of it.
  3. The payload data contains pretty large data that we need to serialize to send back-and-forth from consumer to worker to VM and back again - this hurts performance.
  4. Plugin authors might not know about treating $snapshot events in a special way.

The only usecase for plugins is syncing it to other data sources and playing back via rrweb there.

I'd propose ignoring snapshot events for now and in the future perhaps add a processSnapshotBatch or similar function to plugins if the syncing scenario comes up. This function would not be allowed to modify the data though.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions