Commit Graph

445 Commits

Author SHA1 Message Date
Justin Halsall
a4426d2927 Add ability to mask passwords (#494)
* add ability to mask passwords

* remove duplicate mask snapshot

* make sure only one click happens at a time
2026-04-01 12:00:00 +08:00
Yanzhen Yu
53a2e8baa4 Release 1.0.0-beta.0 2026-04-01 12:00:00 +08:00
Justin Halsall
80e7307729 Tests: Iframe event order (#568)
* add failing test

* assert order of events

* defer attaching of iframe till FullSnapshot is done
Fixes: https://github.com/rrweb-io/rrweb/issues/567

* correct event order in iframe integration test snapshot

* trigger build

* trigger build

* Move settimeout responsibility to snapshot
https://github.com/rrweb-io/rrweb-snapshot/pull/78

* upgrade rrweb-snapshot to 1.1.4

* DRY record tests

* cleanup

* Upgrade puppeteer to 9.1.1
for (hopefully) more consistent behaviour between CI and development

* make input bigger to prevent triggering scroll events

* page.waitFor is deprecated
more info: https://github.com/puppeteer/puppeteer/issues/6214

* Set os and distro for Travis ci

Co-authored-by: yz-yu <yanzhen@smartx.com>
2026-04-01 12:00:00 +08:00
Yanzhen Yu
b9e1938951 fix registry 2026-04-01 12:00:00 +08:00
Yanzhen Yu
30f4aa20b3 update rrweb-snapshot 2026-04-01 12:00:00 +08:00
yashkumar18
a19893cdfa Handle Drag events in replayer (#587)
* Handle Drag events in replayer

* add touch move source as well

Co-authored-by: Yash Kumar <yashkumar@Yashs-MacBook-Pro-2.local>
2026-04-01 12:00:00 +08:00
yashkumar18
1539d35039 Fix order of ternary expression for mouse move source type (#586)
Co-authored-by: Yash Kumar <yashkumar@Yashs-MacBook-Pro-2.local>
2026-04-01 12:00:00 +08:00
Yun Feng
0235cd4d0a update typings and fix lint errors 2026-04-01 12:00:00 +08:00
Justin Halsall
e00ca2cbd9 add ability to stop listening 2026-04-01 12:00:00 +08:00
Yakko Majuri
ba33720104 Update canvas recording mechanism (#536) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
c581cf68ca shadow DOM recording GA
1. record shadow DOM event target by parsing composed path
2. nested record scroll event in shadow DOM
2026-04-01 12:00:00 +08:00
Yanzhen Yu
24d65c7cb1 remove useless log 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
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
fd88a950a9 fix mirror usage in shadow DOM manager 2026-04-01 12:00:00 +08:00
Yanzhen Yu
222063ae48 fix unit test 2026-04-01 12:00:00 +08:00
Yanzhen Yu
b693d667b5 create mirror during record 2026-04-01 12:00:00 +08:00
Yanzhen Yu
e9784a20cb fix #565 add departed warning 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
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
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
Yanzhen Yu
bdb269b138 fix #524 polyfill Node.prototype.contains 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
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
f0c2258371 check events cursor before comparing timestamp 2026-04-01 12:00:00 +08:00
Yanzhen Yu
e339ebb90b update typings file 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
861fac54ea fix #535 add play-back event to reset mirror and replayer 2026-04-01 12:00:00 +08:00
Yanzhen Yu
fdfb160e76 call sort after unpack 2026-04-01 12:00:00 +08:00
Eoghan Murray
cfe59cb4b4 Sort events upon creation, and keep ordered (#411)
* Sort events at start, as otherwise we risk misidentifying the last event

* Keep inserted events in the correct order, ensuring we don't misidentify the last event

 - e.g. network conditions mean that 'live' events come in non-sequentially
 - or so that adding custom events to an existing event works

* Ensure we maintain original ordering while inserting a new event which has an identical timestamp to an existing event. This came up with a series of mutations which had the same timestamp but needed to be applied in the correct order

* Fast track the common case of a new event being added which occurs after all prior events
2026-04-01 12:00:00 +08:00
Eoghan Murray
d4a5284bb1 Don't perform newly added actions if player is paused (#539) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
0223ff1c08 fix first play check 2026-04-01 12:00:00 +08:00
Yanzhen Yu
66fc50b3d9 update storyteller link 2026-04-01 12:00:00 +08:00
Yanzhen Yu
0ea615327c add storyteller link 2026-04-01 12:00:00 +08:00
Yanzhen Yu
f555baa4ac impl #530, observe drag event and replay as mousemove 2026-04-01 12:00:00 +08:00
John Pham
a295f72ed0 Don't rebuildFullSnapshot if it's the first run (#532)
* Don't rebuildFullSnapshot if it's the first run

* Fix typo
2026-04-01 12:00:00 +08:00
Yanzhen Yu
3e8cacbb95 fix #531 use getRootNode with precheck 2026-04-01 12:00:00 +08:00
Justin Halsall
83045059f9 Fix docs to point to correct event format (#523)
* Fix docs to point to correct event attribute

* Update customize-replayer.zh_CN.md

* correct event object in guide

* Update guide.zh_CN.md
2026-04-01 12:00:00 +08:00
Yanzhen Yu
0e688bba0c impl shadow DOM manager
part of #38
1. observe DOM mutations in shadow DOM
2. rebuild DOM mutations in shadow DOM
2026-04-01 12:00:00 +08:00
Lucky Feng
66c7c8f028 fix: inaccurate mouse position (#522)
1. Position of mouse was inaccurate when replaying and this PR will fix it.
2. Fix the bug that if one nested iframe has a scale transform and the position of mouse was inaccurate as well.
2026-04-01 12:00:00 +08:00
Yanzhen Yu
e9d915b3d6 rename node_modules in es bundle to ext 2026-04-01 12:00:00 +08:00
Lucky Feng
016a5020fc fix: errors of replaying iframe records (#520)
* fix: errors of replaying iframe records

error1:
HierarchyRequestError: Failed to execute 'appendChild' on 'Node': Nodes of type '#document' may not be inserted inside nodes of type '#document-fragment'.
code: parent.appendChild(target)

error2:
Uncaught DOMException: Failed to execute 'appendChild' on 'Node': Only one element on document allowed.
code: parent.appendChild(target);

* improve the comment for bugfix
2026-04-01 12:00:00 +08:00
Yakko Majuri
fcbc0e4b43 Handle event undefined in initMoveObserver (#515) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
b621011c56 add an experiment config to set max speed in fast forward 2026-04-01 12:00:00 +08:00
arshabh-copods
909b5b8b6b Update observer.md (#504)
Fixed some grammatical errors
2026-04-01 12:00:00 +08:00
Yanzhen Yu
5e42ddc1cb impl #507 export takeFullSnapshot as a public API 2026-04-01 12:00:00 +08:00
Yanzhen Yu
4a2eae6a44 add hiring link 2026-04-01 12:00:00 +08:00
Yanzhen Yu
2ee3926f25 fix lint errors 2026-04-01 12:00:00 +08:00
Yanzhen Yu
5745afa622 update test snapshot 2026-04-01 12:00:00 +08:00
Yanzhen Yu
4ed82274ae close #491 check whether link node is head 2026-04-01 12:00:00 +08:00