Commit Graph

917 Commits

Author SHA1 Message Date
Yanzhen Yu
a9ef2cfa83 refactoring public API 2026-04-01 12:00:00 +08:00
Yanzhen Yu
f6219c37f9 Release 0.4.4 2026-04-01 12:00:00 +08:00
dependabot[bot]
a9a3e2849f Bump ws from 6.2.1 to 6.2.2 (#575)
Bumps [ws](https://github.com/websockets/ws) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/commits)

---
updated-dependencies:
- dependency-name: ws
  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
6852da5fe5 close #38, update data uri regexp 2026-04-01 12:00:00 +08:00
Yanzhen Yu
1a3762212f allow scale over 1 2026-04-01 12:00:00 +08:00
dependabot[bot]
1a05e51ee2 Bump browserslist from 4.14.5 to 4.16.6 (#569)
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.14.5 to 4.16.6.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/browserslist/browserslist/compare/4.14.5...4.16.6)

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
40d754884a fix lint 2026-04-01 12:00:00 +08:00
Yanzhen Yu
3b0a2f2c5a update rrweb 2026-04-01 12:00:00 +08:00
Yanzhen Yu
fd88a950a9 fix mirror usage in shadow DOM manager 2026-04-01 12:00:00 +08:00
Yanzhen Yu
288beb6cb2 Release 0.8.4 2026-04-01 12:00:00 +08:00
Yanzhen Yu
4a30fca766 Release 0.4.3 2026-04-01 12:00:00 +08:00
Yanzhen Yu
222063ae48 fix unit test 2026-04-01 12:00:00 +08:00
Karl-Aksel Puulmann
0c62d31002 Allow blocking elements by selector (#50)
* Extract method (isElementBlocked) and add tests

* Add blockSelector argument to snapshot

If blockSelector is passed, it will be matched against the element.

Reasoning: Mutating class names can get messy, so providing another hook
helps keep code clean by using data-attributes instead.
2026-04-01 12:00:00 +08:00
Yanzhen Yu
3cd0816535 add rrweb options 2026-04-01 12:00:00 +08:00
Yanzhen Yu
b693d667b5 create mirror during record 2026-04-01 12:00:00 +08:00
Eoghan Murray
65671be739 Add ability to reset the mapping id, to facilitate destructor in rrweb (rrwebRecord.stop) (#49) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
00e36bb070 Release 0.4.2 2026-04-01 12:00:00 +08:00
Yanzhen Yu
e9784a20cb fix #565 add departed warning 2026-04-01 12:00:00 +08:00
Eoghan Murray
b005450c64 Prefer a map and a join as feel it's easier to understand, and I found a case in the wild where Array.prototype.reduce was overwritten (which admittedly is also a danger with map) (#52) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
1a6bd7a5f8 fix logic operator 2026-04-01 12:00:00 +08:00
Yanzhen Yu
37c293c4bd fix useless code introduced by resolving conflicts 2026-04-01 12:00:00 +08:00
Yanzhen Yu
f9f9e9cecd Release 0.8.3 2026-04-01 12:00:00 +08:00
Yanzhen Yu
a56c15c32b Release 0.4.1 2026-04-01 12:00:00 +08:00
Ziqiu Zhao
394d94e6c7 feature: make mirror independent in Replayer (#407)
Co-authored-by: zhaoziqiu <zhaoziqiu@meituan.com>
Co-authored-by: yz-yu <yanzhen@smartx.com>
2026-04-01 12:00:00 +08:00
Yanzhen Yu
40cf712cfd update typings 2026-04-01 12:00:00 +08:00
Yanzhen Yu
6b81e939cb fix controller height compute 2026-04-01 12:00:00 +08:00
dependabot[bot]
e66b5d9af6 Bump lodash from 4.17.20 to 4.17.21
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-01 12:00:00 +08:00
Eoghan Murray
28917d1c9a Preserve url quotes (#47)
* Preserve original quotes when rewriting CSS url() paths - important for inline SVG files which often have spaces

* Found an example in the wild with the 'charset=' part left off. This is supported by https://css-tricks.com/lodge/svg/09-svg-data-uris/ ... not sure why we aren't just testing for the 'data:' prefix here?

* Not sure why this is now coming back with a double quote after recent changes here; it's supposed to preserve the single quote from style.css??
2026-04-01 12:00:00 +08:00
Yanzhen Yu
70c8a6b9d1 Release 0.4.0 2026-04-01 12:00:00 +08:00
Yanzhen Yu
bdb269b138 fix #524 polyfill Node.prototype.contains 2026-04-01 12:00:00 +08:00
Eoghan Murray
71b6e683c0 Add a slimDOM option to strip out unnecessary parts of the DOM (#36)
* Add a `slimDOM` option to strip out unnecessary parts of the DOM in terms of replay

 - <script> tags in the <head> take up unnecessary storage space and are often injected semi randomly to become a source of unnecessary variation between recordings of the same thing
 - comment tags can be stripped out without affecting display
 - future: this option could also turn on more aggressive stripping, e.g. elements that are hidden by CSS (assuming we can handle them becoming visible after mutation events)

* Mark nodes ignored due to slimDOM option, so that they can also be ignored by the mutation observer in rrweb

* Introducing the `ignored` attribute violates the `serializedNodeWithId` type

* slimDOM: Strip out whitespace nodes from <head> element as they have no effect but take up space

 - these would otherwise have to be merged after <script> elements are removed; for statcounter usecase, removing
   <script> elements is no good if there is still a trace of their presence due to the white space (and hence a variant <head> node is still produced)
 - I explored a more radical stripping of all white space nodes, but there is a problem if parent node is <pre> or otherwise rendered with `white-space: pre` and similar.
   detecting applied styles with getComputedStyle would be very expensive (I haven't measured it though)

* Export IGNORED_NODE as a constant instead of relying on the hard-to-grok `-2`

* Remove <link rel=preload as=script> which are similarly as useless as <script> tags

* Make slimDOM configurable with the expecations that `slimDOMOptions: true` will only enable non-destructive options (so not all options may be turned on)

* Expand slimDOM to add options to remove more elements from the <head> that should not be necessary in the replayer context
2026-04-01 12:00:00 +08:00
Yanzhen Yu
795e6cd8dc Release 0.3.17 2026-04-01 12:00:00 +08:00
Lucky Feng
b30b37c889 fix: #542 wrong results of splitting log stacks (#547)
fix bug of stack parcer and increase compatibility for different browser vendors
2026-04-01 12:00:00 +08:00
Yanzhen Yu
d8ba0cc8e2 Release 0.8.2 2026-04-01 12:00:00 +08:00
Yanzhen Yu
5475163a31 update rrweb 2026-04-01 12:00:00 +08:00
Lucky Feng
424044ede3 fix: issue #548 (#550)
1. Do not use virtual parent optimization if the mutation targets have iframe elements as children. This will cause some performance regression but will be easy to add and ship.
2. If an iframe element has already been a child of a virtual parent, add the virtual parent back to the dom.
2026-04-01 12:00:00 +08:00
Yanzhen Yu
79f1ba574a close #42 fallback to html when doctype is invalid 2026-04-01 12:00:00 +08:00
mpstv
092255be91 add skipInactive parameter (#9) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
f0c2258371 check events cursor before comparing timestamp 2026-04-01 12:00:00 +08:00
Yanzhen Yu
c43189d3fe Release 0.8.1 2026-04-01 12:00:00 +08:00
Yanzhen Yu
a6d6d4b3cd Release 0.3.16 2026-04-01 12:00:00 +08:00
Yanzhen Yu
e339ebb90b update typings file 2026-04-01 12:00:00 +08:00
Yanzhen Yu
287a6073c0 add an option to enable/disable take canvas snapshot 2026-04-01 12:00:00 +08:00
Yanzhen Yu
79bb37616a Release 0.3.15 2026-04-01 12:00:00 +08:00
re-fort
b1b25447ff Add options to mask texts (#540)
* feat: add options to mask texts

* feat: add the default mask function

* refactor: rename options to identify the difference between  mask text and mask input

* test: add tests about masking

* doc: add options about masking

* chore: bump up rrweb-snapshot version
2026-04-01 12:00:00 +08:00
Yanzhen Yu
41868e2265 rename visit to visitSnapshot 2026-04-01 12:00:00 +08:00
Yanzhen Yu
6c258ee50c update rrweb 2026-04-01 12:00:00 +08:00
Yanzhen Yu
861fac54ea fix #535 add play-back event to reset mirror and replayer 2026-04-01 12:00:00 +08:00
Yanzhen Yu
52aac74fa2 add visit function for snapshot 2026-04-01 12:00:00 +08:00
Yanzhen Yu
7210e5b9a1 Release 0.3.14 2026-04-01 12:00:00 +08:00