This repo is a fork of rrweb. The purpose is to apply patches and bugfixes to rrweb and release Sentry-internal packages with our patches included. All credits and attribution for rrweb go to the original creators of the library and all its contributors.
From this monorepo, Sentry maintains and publishes the following NPM packages:
@sentry-internal/rrweb
(corresponds to the original rrweb
package)@sentry-internal/rrdom
(corresponds to the original rrdom
package)@sentry-internal/rrweb-player
(corresponds to the original rrweb-player
package)@sentry-internal/rrweb-snapshot
(corresponds to the original rrweb-snapshot
package)Apart from some small fixes/changes in this fork, these are the main relevant changes compared to the upstream rrweb repository:
hooks
related code, so passing hooks: myHooks
to record()
will have no effectplugins
related code, so passing plugins: myPlugins
to record()
will have no effectgetCanvasManager
into the record
method manually
Check out the original rrweb Repo
The rrweb documentary (in Chinese, with English subtitles)
I have joined Github Sponsors and highly appreciate your sponsorship.
rrweb refers to 'record and replay the web', which is a tool for recording and replaying users' interactions on the web.
📚 Read the rrweb guide here. 📚
📺 Presentation: Hacking the browser to digital twin your users 📺
rrweb is mainly composed of 3 parts:
Since we want the record and replay sides to share a strongly typed data structure, rrweb is developed with typescript which provides stronger type support.
yarn install
in the root to install required dependencies for all sub-packages (note: npm install
is not recommended).yarn dev
in the root to get auto-building for all the sub-packages whenever you modify anything.packages
folder) where you'd like to make a change.yarn test
to run the tests, make sure they pass before you commit anything. Add test cases in order to avoid future regression.yarn test:update
and carefully commit the changes in test output.Protip: You can run yarn test
in the root folder to run all the tests.
In addition to adding integration tests and unit tests, rrweb also provides a REPL testing tool.
Become a sponsor and get your logo on our README on Github with a link to your site.
Yuyz0112 |
Yun Feng |
eoghanmurray |
Juice10 open for rrweb consulting |
![]() |
![]() |
|
|
|
![]() |
![]() |
![]() |
|
|
![]() |
|