Commit Graph

861 Commits

Author SHA1 Message Date
Yanzhen Yu
7058946824 Release 0.7.1 2026-04-01 12:00:00 +08:00
qun
6bdb40d711 Update index.zh_CN.md (#632)
wrongly written characters
2026-04-01 12:00:00 +08:00
Justin Halsall
9fdd8cd2dc move maskInputValue to rrweb-snapshot (#83)
More info: https://github.com/rrweb-io/rrweb/pull/602#discussion_r660434998
2026-04-01 12:00:00 +08:00
Yanzhen Yu
61626af060 Release 0.7.3 2026-04-01 12:00:00 +08:00
Justin Halsall
ec8074a632 Merge branch 'master' into sourcemaps 2026-04-01 12:00:00 +08:00
Yanzhen Yu
2744b59e29 Release 0.7.0 2026-04-01 12:00:00 +08:00
Yanzhen Yu
34a05c635e upgrade rrweb 2026-04-01 12:00:00 +08:00
Justin Halsall
34ef34469a Add check-types to package.json (#627)
* Add type checking to ci

* Update @types/node to version 12

We are using node 12 on ci

* Add check-types to package.json
2026-04-01 12:00:00 +08:00
Yanzhen Yu
30f82a891b Release 1.1.5 2026-04-01 12:00:00 +08:00
Yanzhen Yu
5823d7a44f upgrade rrweb 2026-04-01 12:00:00 +08:00
Justin Halsall
48304ffc94 fix validation warning 2026-04-01 12:00:00 +08:00
Yanzhen Yu
c6cb190879 upgrade rrweb 2026-04-01 12:00:00 +08:00
Yanzhen Yu
0783554b9f update rollup config to fix breaking change in css.write
fix #58
fix https://github.com/rrweb-io/rrweb/issues/496
2026-04-01 12:00:00 +08:00
Justin Halsall
a891d141d2 Add type checking to ci (#626)
* Add type checking to ci

* Update @types/node to version 12

We are using node 12 on ci
2026-04-01 12:00:00 +08:00
Yanzhen Yu
63cec44c10 format code 2026-04-01 12:00:00 +08:00
Yanzhen Yu
fe45dd1bc9 Release 0.7.2 2026-04-01 12:00:00 +08:00
Justin Halsall
d8285664dc enable sourcemaps everywhere 2026-04-01 12:00:00 +08:00
Jonithan
90f83c92a1 2 commits for optimizing chore (#53)
* fix: chore bug. Update rollup-plugin-svelte

* chore: move @tsconfig/svelte from devDependencies to dependencies, convenience for building components in other framework and typescrpit

Co-authored-by: lihanzhou <lihanzhou@tencent.com>
2026-04-01 12:00:00 +08:00
Eoghan Murray
afe6ec9dd1 Compact style mutation (#464)
* Don't store the full style attribute change, as small mutations to single style properties result in storage of a rewrite for the full style attribute, which may be very large.

Had an example of a website using http://schillmania.com/projects/snowstorm/ where many direct style changes were happening every second across many 'snowflake' elements, with each attribute change looking like:
"style":"color: rgb(255, 255, 255); position: absolute; width: 8px; height: 8px; font-family: arial, verdana; overflow: hidden; font-weight: normal; z-index: 0; display: block; bottom: auto; opacity: 1; padding: 0px; margin: 0px; font-size: 10px; line-height: 10px; text-align: center; vertical-align: baseline; left: 242.807px; top: 85.7332px;"
even though maybe just the left/top position had been changed

* More compact storage for the much more common attribute value without an `!important` flag - saves 6 chars per style attr in the json :)

* Fix bug: attributes weren't getting removed after changes to treatment of 'style' attributes
2026-04-01 12:00:00 +08:00
bachmanity1
9110664ca2 add keepIframeSrcFn option (#81)
* add allowIframe option to snapshot

* rename allowIframe to keepIframeSrcFn
2026-04-01 12:00:00 +08:00
Yanzhen Yu
4eb6c0b966 upgrade rrweb 2026-04-01 12:00:00 +08:00
Justin Halsall
5dbb182774 update rollup 2026-04-01 12:00:00 +08:00
Yanzhen Yu
9b13829696 Release 0.6.6 2026-04-01 12:00:00 +08:00
Justin Halsall
59b7a39ce1 Buffer modifications to virtual stylesheets (#618)
* Fix sheet insertion

Restore skip duration

Use virtualStyleRulesMap to re-populate stylesheet on Flush event

Clear virtualStyleRulesMap after flush applied

* Support rule deletion in virtual processing

* Simply restoreNodeSheet with early aborts

* Encountered a bug where firstFullSnapshot was played twice because timer was immediately started and reached the snapshot before the setTimeout returned

* Ignoring a FullSnapshot needs to be a one-time only thing, as otherwise we'll ignore it after scrubbing (restarting play head at a particular time). This is a problem if mutations have altered the player state, and we try to replay those mutations, so we e.g. try to remove an element that has already been removed because we haven't reset the FullSnapshot state

* Some `npm run typings` related fixups

* add basic html snapshot functionality

* move restoreNodeSheet to it's own module

* Refactor virtual style rules to buffer changes.
Only applies changes on flush.

`virtualStyleRulesMap` now works with strings instead of CSSRules.
CSSRules can only be via made `.insertRule` on CSSStyleSheet in most browsers.
And `new CSSStyleSheet()` only works in Chrome currently.

* remove unused code

* move VirtualStyleRules from CSSRule to string in tests

* correct paths for tests

* naming

* create and restore style snapshots for virtual nodes

* update replayer snapshot

* move storeCSSRules to virtual-styles.ts

* try/catch access to .sheet in case of access errors

* clean up tests

Co-authored-by: Vladimir Milenko <vladimir.milenko@uber.com>
Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
2026-04-01 12:00:00 +08:00
Yun Feng
61074a2303 style(rebuild.ts snapshot.ts): format code 2026-04-01 12:00:00 +08:00
Justin Halsall
1226a093a1 rrweb 1.0 use new getMirror api (#70)
* Fixes #69

* update rrweb to 1.0.0-beta.0
2026-04-01 12:00:00 +08:00
Justin Halsall
da0ec6fb3a remove duplicate files 2026-04-01 12:00:00 +08:00
Yanzhen Yu
9c8b7b3c44 upgrade rrweb 2026-04-01 12:00:00 +08:00
Justin Halsall
9df2aa8e0e Add userTriggered (#495)
* add `userTriggered`

* update snapshots to add userTriggered

* add `userTriggered`

* update snapshots to add userTriggered

* update snapshot to include userTrigger

* only set userTriggered on `userTriggeredOnInput: true`

* What is user triggered?

* correct snapshot

* add second radio to demonstrate userTriggered
2026-04-01 12:00:00 +08:00
bachmanity1
5fbb459a8e fix media playback bug (#80) 2026-04-01 12:00:00 +08:00
dependabot[bot]
cf791ebca1 Bump glob-parent from 5.1.1 to 5.1.2 (#74)
Bumps [glob-parent](https://github.com/gulpjs/glob-parent) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/gulpjs/glob-parent/releases)
- [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gulpjs/glob-parent/compare/v5.1.1...v5.1.2)

---
updated-dependencies:
- dependency-name: glob-parent
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-01 12:00:00 +08:00
Yanzhen Yu
83686e405c Release 0.6.5 2026-04-01 12:00:00 +08:00
Yanzhen Yu
a224fdd903 Release 1.0.1 2026-04-01 12:00:00 +08:00
Yanzhen Yu
17b79ca210 Release 1.1.4 2026-04-01 12:00:00 +08:00
Yanzhen Yu
b25033e872 limit max scale to 1 2026-04-01 12:00:00 +08:00
Yanzhen Yu
8b7c36be3e add release to github 2026-04-01 12:00:00 +08:00
Lucky Feng
68b39c82c4 fix: "Uncaught TypeError: Cannot read property 'insertRule' of null" caused by CSP style-src (#79) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
09f694c90a Release 0.6.4 2026-04-01 12:00:00 +08:00
Eoghan Murray
fb381a1254 Ignore firstFullSnapshot once only after initial 'poster' build (#608)
* Encountered a bug where firstFullSnapshot was played twice because timer was immediately started and reached the snapshot before the setTimeout returned

* Ignoring a FullSnapshot needs to be a one-time only thing, as otherwise we'll ignore it after scrubbing (restarting play head at a particular time). This is a problem if mutations have altered the player state, and we try to replay those mutations, so we e.g. try to remove an element that has already been removed because we haven't reset the FullSnapshot state

* Some `npm run typings` related fixups
2026-04-01 12:00:00 +08:00
Justin Halsall
1849943d48 Fixes https://github.com/rrweb-io/rrweb/issues/567 (#78) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
7c9b99a7a6 upgrade rrweb 2026-04-01 12:00:00 +08:00
Yanzhen Yu
045e125e37 Release 1.0.0 2026-04-01 12:00:00 +08:00
mgoshorn
42273eb2e4 Updates regex used to validate tagnames to allow for tagnames that include namespace information (esp: svg tags) (#77)
Co-authored-by: Mitch Goshorn <mitch.goshorn@calmid.com>
2026-04-01 12:00:00 +08:00
Yanzhen Yu
79a532a942 Release 0.6.3 2026-04-01 12:00:00 +08:00
Yanzhen Yu
e7d23755a4 close #489 add v1.0.0 changelog 2026-04-01 12:00:00 +08:00
Yanzhen Yu
6e144d13b3 Release 1.1.3 2026-04-01 12:00:00 +08:00
Yanzhen Yu
1a19d471a3 upgrade rrweb 2026-04-01 12:00:00 +08:00
Yanzhen Yu
8c17ef02ec add plugin API recipe 2026-04-01 12:00:00 +08:00
Yanzhen Yu
41e5082c08 related to #75 mask password input by default 2026-04-01 12:00:00 +08:00
Karl-Aksel Puulmann
b06005cf40 Update rrwebPlayer types (#46)
Without this change, the following fails to compile in typescript:

```js
new rrwebPlayer({
                target: document.body,
                props: {
                    width: 900,
                    events,
                    autoPlay: true,
                },
            })
```
2026-04-01 12:00:00 +08:00