record and replay the web
20
stars
1,581
commits
TypeScript
primary language
Sep 11, 2026
updated
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/rrweb (corresponds to the original rrweb package)@sentry/rrdom (corresponds to the original rrdom package)@sentry/rrweb-player (corresponds to the original rrweb-player package)@sentry/rrweb-snapshot (corresponds to the original rrweb-snapshot package)@sentry/rrweb-types (corresponds to the original @rrweb/types package)@sentry/rrweb-worker (new 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.
(top 30 of 130)
TypeScript
87.1%
JavaScript
6.1%
HTML
4.8%
Svelte
1.7%
record and replay the web
20
stars
1,581
commits
TypeScript
primary language
Sep 11, 2026
updated
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/rrweb (corresponds to the original rrweb package)@sentry/rrdom (corresponds to the original rrdom package)@sentry/rrweb-player (corresponds to the original rrweb-player package)@sentry/rrweb-snapshot (corresponds to the original rrweb-snapshot package)@sentry/rrweb-types (corresponds to the original @rrweb/types package)@sentry/rrweb-worker (new 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.
(top 30 of 130)
TypeScript
87.1%
JavaScript
6.1%
HTML
4.8%
Svelte
1.7%