rrweb
record and replay the web
File Explorer
Download Latest Version (.zip)- .gitkeep
- config.json
- README.md
- bug_report.yml
- feature_request.yml
- measure-bundle-sizes.js
- patch-changesets-github-info.cjs
- patch-changesets-github-info.test.cjs
- render-bundle-size-comment.js
- ci-cd.yml
- eslint-check.yml
- pr-checks-privileged.yml
- release.yml
- style-check.yml
- config.yml
- FUNDING.yml
- rrweb-monorepo.code-workspace
- yarn-1.23.0-20220130.1630.cjs
- 0001-record-source-boundary-resolver.md
- 0001-require-sandboxed-browser-rebuilds.md
- index.md
- coding-style.md
- canvas.md
- canvas.zh_CN.md
- console.md
- console.zh_CN.md
- cross-origin-iframes.md
- cross-origin-iframes.zh_CN.md
- custom-event.md
- custom-event.zh_CN.md
- customize-replayer.md
- customize-replayer.zh_CN.md
- dive-into-event.md
- dive-into-event.zh_CN.md
- export-to-video.md
- export-to-video.zh_CN.md
- index.md
- index.zh_CN.md
- interaction.md
- interaction.zh_CN.md
- live-mode.md
- live-mode.zh_CN.md
- network.md
- optimize-storage.md
- optimize-storage.zh_CN.md
- pagination.md
- pagination.zh_CN.md
- plugin-api.md
- plugin-api.zh_CN.md
- plugin.md
- plugin.zh_CN.md
- record-and-replay.md
- record-and-replay.zh_CN.md
- next-channel.md
- 2026-05-18-sandboxed-rebuild.md
- 2026-05-19-record-tree-shaking.md
- 2026-05-18-sandboxed-rebuild-design.md
- 2026-05-19-record-tree-shaking-design.md
- events.md
- events.zh_CN.md
- observer.md
- observer.zh_CN.md
- replay.md
- replay.zh_CN.md
- sandbox.md
- sandbox.zh_CN.md
- serialization.md
- serialization.zh_CN.md
- styleguide.md
- index.ts
- cross-origin-iframe-packer.test.ts.snap
- blank.html
- cross-origin-iframe-packer.test.ts
- package-css.test.ts
- utils.ts
- .gitignore
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- vitest.config.ts
- index.ts
- browser_client_integration_tests.can_record_events.json
- link.html
- autostart.html
- integration.test.ts
- load-diagnostics.test.ts
- record.html
- ssr-import.test.ts
- utils.ts
- .env.example
- buildMetadata.ts
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- vitest.config.ts
- package.json
- base.ts
- index.ts
- pack.ts
- unpack.ts
- packer.test.ts.snap
- packer.test.ts
- package.json
- .gitignore
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- index.ts
- simple-peer-light.d.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- index.ts
- simple-peer-light.d.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- error-stack-parser.ts
- index.ts
- stringify.ts
- index.test.ts.snap
- index.ts
- log.html
- index.test.ts
- stringify.test.ts
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- vitest.config.ts
- index.ts
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- index.ts
- index.test.ts
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- vitest.config.ts
- index.ts
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- index.ts
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- index.ts
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- index.ts
- record.test.ts
- .gitignore
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- vitest.config.ts
- index.ts
- replay.test.ts
- .gitignore
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- vitest.config.ts
- diff.ts
- document.ts
- index.ts
- style.ts
- virtual-dom.test.ts.snap
- dialog.test.ts
- iframe.html
- main.html
- shadow-dom.html
- diff.test.ts
- document.test.ts
- virtual-dom.test.ts
- .gitignore
- CHANGELOG.md
- jest.config.js
- package.json
- README.md
- tsconfig.json
- vite.config.js
- vitest.config.ts
- extensions.json
- launch.json
- document-nodejs.ts
- index.ts
- polyfill.ts
- document-nodejs.test.ts
- polyfill.test.ts
- .gitignore
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.js
- vitest.config.ts
- demo.gif
- cli.ts
- index.ts
- example.ts
- cli.test.ts
- tsconfig.json
- CHANGELOG.md
- jest.config.js
- package.json
- README.md
- README.zh_CN.md
- rrvideo.config.example.json
- tsconfig.json
- package.json
- package.json
- repl.js
- stream.js
- utils.js
- record.ts
- replay.ts
- 2d.ts
- canvas-manager.ts
- canvas.ts
- serialize-args.ts
- webgl.ts
- image-bitmap-data-url-worker.ts
- tsconfig.json
- cross-origin-iframe-mirror.ts
- error-handler.ts
- iframe-manager.ts
- index.ts
- mutation.ts
- observer.ts
- processed-node-manager.ts
- shadow-dom-manager.ts
- stylesheet-manager.ts
- 2d.ts
- deserialize-args.ts
- index.ts
- webgl.ts
- index.ts
- index.ts
- inject-style.ts
- style.css
- index.ts
- machine.ts
- smoothscroll.ts
- timer.ts
- index.ts
- types.ts
- utils.ts
- integration.test.ts.snap
- record.test.ts.snap
- replayer.test.ts.snap
- dom-mutation.test.ts
- replay-fast-forward.test.ts
- webgl-test-ts-test-e-2-e-webgl-test-ts-e-2-e-webgl-will-record-and-replay-a-webgl-image-1-snap.png
- webgl-test-ts-test-e-2-e-webgl-test-ts-e-2-e-webgl-will-record-and-replay-a-webgl-square-1-snap.png
- webgl.test.ts
- adopted-style-sheet-empty-replace.ts
- adopted-style-sheet-modification.ts
- adopted-style-sheet.ts
- bad-style.ts
- bad-textarea.ts
- canvas-in-iframe.ts
- custom-element-define-class.ts
- dialog-playback.ts
- document-replacement.ts
- hover.ts
- iframe-shadowdom-hover.ts
- iframe.ts
- input.ts
- nested-style-declaration.ts
- ordering.ts
- scroll-with-parent-styles.ts
- scroll.ts
- selection.ts
- shadow-dom.ts
- style-declaration-missing-rule.ts
- style-sheet-rule-events.ts
- style-sheet-text-mutation.ts
- video-playback-on-full-snapshot.ts
- video-playback.ts
- webgl.ts
- 1-minute-of-silence.mp3
- bunny-video.webm
- robot.png
- style.css
- webgl-utils.js
- audio.html
- benchmark-dom-mutation-add-and-move.html
- benchmark-dom-mutation-add-and-remove.html
- benchmark-dom-mutation-attributes.html
- benchmark-dom-mutation-deep-nested.html
- benchmark-dom-mutation-multiple-descendant-add.html
- benchmark-dom-mutation.html
- blank.html
- block.html
- blocked-unblocked.html
- canvas-webgl-image.html
- canvas-webgl-shader.html
- canvas-webgl-square.html
- canvas-webgl.html
- canvas.html
- dialog.html
- empty.html
- form.html
- frame-image-blob-url.html
- frame1.html
- frame2.html
- hello-world.html
- ignore.html
- image-blob-url.html
- link.html
- main.html
- mask-text.html
- monkey-patched-mutation.html
- move-node.html
- mutation-observer.html
- password.html
- polyfilled-shadowdom-mutation.html
- react-styled-components.html
- select2.html
- shadow-dom.html
- shuffle.html
- style.html
- video.html
- cross-origin-iframes.test.ts.snap
- cross-origin-iframes.test.ts.snap.extra
- dialog.test.ts.snap
- webgl.test.ts.snap
- cross-origin-iframes.test.ts
- dialog.test.ts
- error-handler.test.ts
- monkey-patched.test.ts
- serialize-args.test.ts
- webgl.test.ts
- dialog-test-ts-test-replay-dialog-test-ts-dialog-closed-dialogs-show-nothing-1-snap.png
- dialog-test-ts-test-replay-dialog-test-ts-dialog-should-add-an-opened-dialog-with-show-modal-in-incremental-snapshot-alternative.png
- dialog-test-ts-test-replay-dialog-test-ts-dialog-should-add-an-opened-dialog-with-show-modal-in-incremental-snapshot.png
- dialog-test-ts-test-replay-dialog-test-ts-dialog-should-close-dialog-again-when-open-attribute-gets-removed.png
- dialog-test-ts-test-replay-dialog-test-ts-dialog-should-open-dialog-with-show-in-full-snapshot.png
- dialog-test-ts-test-replay-dialog-test-ts-dialog-should-open-dialog-with-show-modal-in-full-snapshot.png
- dialog-test-ts-test-replay-dialog-test-ts-dialog-should-open-dialog-with-show-modal.png
- dialog-test-ts-test-replay-dialog-test-ts-dialog-should-switch-between-show-and-show-modal.png
- dialog-test-ts-test-replay-dialog-test-ts-dialog-should-switch-between-show-modal-and-show.png
- dialog-test-ts-test-replay-dialog-test-ts-dialog-show-the-dialog-when-open-attribute-gets-added.png
- hover-test-ts-test-replay-hover-test-ts-replayer-hover-should-trigger-hover-on-mouse-down-1-snap.png
- video-test-ts-test-replay-video-test-ts-video-will-be-paused-when-the-player-wasnt-started-yet-1-snap.png
- video-test-ts-test-replay-video-test-ts-video-will-play-from-the-correct-moment-1-snap.png
- video-test-ts-test-replay-video-test-ts-video-will-seek-to-the-correct-moment-1-snap.png
- video-test-ts-test-replay-video-test-ts-video-will-seek-to-the-correct-moment-without-media-interaction-events-1-snap.png
- webgl-test-ts-test-replay-webgl-test-ts-replayer-webgl-should-output-simple-webgl-object-1-snap.png
- 2d-mutation.test.ts
- deserialize-args.test.ts
- dialog.test.ts
- hover.test.ts
- preload-all-images.test.ts
- video.test.ts
- webgl-mutation.test.ts
- webgl.test.ts
- integration.test.ts
- machine.test.ts
- record.test.ts
- replayer.test.ts
- rrdom.test.ts
- util.test.ts
- utils.ts
- .gitignore
- .release-it.json
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.entries.js
- vite.config.js
- vitest.config.ts
- vitest.config.webkit.ts
- 0.js
- 1.js
- app.js
- matchers.js
- ambient.d.ts
- non-ambient.d.ts
- tsconfig.json
- events.js
- global.css
- Switch.svelte
- Controller.svelte
- main.ts
- Player.svelte
- types.ts
- utils.ts
- vite-config.test.ts
- .eslintrc.cjs
- .gitignore
- .prettierignore
- .release-it.json
- CHANGELOG.md
- index.html
- package.json
- README.md
- svelte.config.js
- tsconfig.json
- tsconfig.node.json
- vite-env.d.ts
- vite.config.ts
- css.ts
- index.ts
- rebuild-utils.ts
- rebuild.ts
- snapshot-utils.ts
- snapshot.ts
- types.ts
- utils.ts
- integration.test.ts.snap
- alt-style.css
- benchmark.css
- style-with-import.css
- style.css
- about-mozilla.html
- background-clip-text.html
- basic.html
- block-element.html
- compat-mode.html
- cors-style-sheet.html
- dialog.html
- dynamic-stylesheet.html
- form-fields.html
- hover.html
- iframe-inner.html
- iframe.html
- invalid-attribute.html
- invalid-doctype.html
- invalid-tagname.html
- mask-text.html
- monkey-patched-elements.html
- picture-blob-in-frame.html
- picture-blob.html
- picture-in-frame.html
- picture-with-inline-onload.html
- picture.html
- preload.html
- shadow-dom.html
- svg.html
- video.html
- with-relative-res.html
- with-script.html
- with-style-sheet-with-import.html
- with-style-sheet.html
- frame1.html
- frame2.html
- main.html
- compat-bottom.png
- compat-top-left.png
- compat-top-right.png
- robot.png
- rrweb-favicon-20x20.png
- symbol-defs.svg
- a.js
- css.test.ts
- integration.test.ts
- monkey-patched.test.ts
- rebuild.test.ts
- snapshot.test.ts
- stringify-stylesheet.bench.ts
- utils.test.ts
- utils.ts
- .gitignore
- .release-it.json
- CHANGELOG.md
- jsr.json
- package.json
- README.md
- tsconfig.json
- vite.config.js
- vitest.config.ts
- vitest.config.webkit.ts
- index.ts
- .gitignore
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.js
- index.ts
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.js
- index.ts
- CircleButton.tsx
- SidebarWithHeader.tsx
- index.ts
- inject.ts
- App.tsx
- index.html
- index.tsx
- App.tsx
- index.html
- index.tsx
- Player.tsx
- SessionList.tsx
- App.tsx
- index.tsx
- popup.html
- Timer.tsx
- icon128.png
- icon16.png
- icon48.png
- channel.ts
- index.ts
- storage.ts
- manifest.json
- types.ts
- CHANGELOG.md
- package.json
- README.md
- tsconfig.json
- vite.config.ts
- README.md
- lint-packages.sh
- .editorconfig
- .eslintignore
- .eslintrc.js
- .gitattributes
- .gitignore
- .markdownlint.yml
- .npmignore
- .prettierignore
- .prettierrc
- .puppeteerrc.cjs
- .release-it.json
- .yarnrc.yml
- CHANGELOG.md
- CODE_OF_CONDUCT.md
- CONTEXT.md
- CONTRIBUTING.md
- Dockerfile.webkit-test
- Dockerfile.webkit-test.dockerignore
- guide.md
- guide.zh_CN.md
- LICENSE
- package.json
- README.md
- README.zh_CN.md
- SECURITY.md
- tsconfig.base.json
- tsconfig.eslint.json
- tsconfig.json
- turbo.json
- vite.config.default.ts
- vitest.config.ts
- vitest.workspace.ts
- yarn.lock
// repository documentation
Was this content helpful?
(0 ratings)
