Commit Graph

452 Commits

Author SHA1 Message Date
Justin Halsall
ec08be0241 Docs: update link to list of input values (#604)
* Update url to list of types

* Docs: Update list of inputs (zh_CN)
2021-06-29 16:37:16 +08:00
Justin Halsall
239259cee8 Fixes dist/plugins/console-record.min.js needed for tests #601 (#603) 2021-06-29 00:00:32 +08:00
dependabot[bot]
1ae74b2d04 Bump color-string from 1.5.4 to 1.5.5 (#599)
Bumps [color-string](https://github.com/Qix-/color-string) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/Qix-/color-string/releases)
- [Changelog](https://github.com/Qix-/color-string/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Qix-/color-string/compare/1.5.4...1.5.5)

---
updated-dependencies:
- dependency-name: color-string
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-28 07:28:10 +08:00
yz-yu
5fc6c193fd plugin API (#598)
* temp: plugin API

* fix a bug in the replay handler and rename some type names.

* update integration test

* improve plugin types and handle legacy log data

* use different naming in record and replay bundles

* delete unreferenced types

Co-authored-by: Lucky Feng <294889365@qq.com>
2021-06-28 00:09:09 +08:00
Yanzhen Yu
4e025c84ce remove unsed variables 2021-06-25 22:44:20 +08:00
bachmanity1
dbaea7a521 implement video seek feature (#593)
* implement video seek feature

* rm attribute from MediaInteractions

* resolve ts warning

* use getEventTarget
2021-06-24 18:28:14 +08:00
Yun Feng
1b62620e52 doc: update guide.zh_CN.md 2021-06-23 13:45:12 +08:00
Justin Halsall
fee48f084c Add ability to mask passwords (#494)
* add ability to mask passwords

* remove duplicate mask snapshot

* make sure only one click happens at a time
2021-06-22 19:47:30 +08:00
Yanzhen Yu
c2e042ca6c Release 1.0.0-beta.0 2021-06-20 21:40:16 +08:00
Justin Halsall
8a9212fed4 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>
2021-06-17 21:02:42 +08:00
Yanzhen Yu
069397c2c7 fix registry 2021-06-17 20:25:26 +08:00
Yanzhen Yu
2c90543660 update rrweb-snapshot 2021-06-17 20:19:04 +08:00
yashkumar18
d4d437db37 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>
2021-06-17 17:21:12 +08:00
yashkumar18
ba6666b7f3 Fix order of ternary expression for mouse move source type (#586)
Co-authored-by: Yash Kumar <yashkumar@Yashs-MacBook-Pro-2.local>
2021-06-17 14:57:29 +08:00
Yun Feng
ce74062869 update typings and fix lint errors 2021-06-16 11:40:10 +08:00
Justin Halsall
c59bd710d2 add ability to stop listening 2021-06-16 11:30:16 +08:00
Yakko Majuri
1dd91f0737 Update canvas recording mechanism (#536) 2021-06-10 19:47:19 +08:00
Yanzhen Yu
1062770e20 shadow DOM recording GA
1. record shadow DOM event target by parsing composed path
2. nested record scroll event in shadow DOM
2021-06-10 19:26:00 +08:00
Yanzhen Yu
53699822e4 remove useless log 2021-06-07 09:50:37 +08:00
dependabot[bot]
c25bd2ee85 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>
2021-06-06 21:52:11 +08:00
dependabot[bot]
cbcd46a5b1 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>
2021-05-27 09:44:40 +08:00
Yanzhen Yu
28b6ac8bd9 fix mirror usage in shadow DOM manager 2021-05-26 00:21:18 +08:00
Yanzhen Yu
3b20abec2d fix unit test 2021-05-26 00:04:23 +08:00
Yanzhen Yu
995d80a26f create mirror during record 2021-05-25 23:37:07 +08:00
Yanzhen Yu
51f64d8fad fix #565 add departed warning 2021-05-25 20:01:31 +08:00
Yanzhen Yu
0f86a72705 fix useless code introduced by resolving conflicts 2021-05-22 18:02:55 +08:00
Ziqiu Zhao
3b4ff0e201 feature: make mirror independent in Replayer (#407)
Co-authored-by: zhaoziqiu <zhaoziqiu@meituan.com>
Co-authored-by: yz-yu <yanzhen@smartx.com>
2021-05-22 18:01:11 +08:00
dependabot[bot]
e71a8d3fc3 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>
2021-05-13 10:31:03 +08:00
Yanzhen Yu
b83123a23c fix #524 polyfill Node.prototype.contains 2021-05-12 14:25:29 +08:00
Lucky Feng
e9b9d42e6e fix: #542 wrong results of splitting log stacks (#547)
fix bug of stack parcer and increase compatibility for different browser vendors
2021-05-04 13:11:20 +08:00
Lucky Feng
7e46341c18 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.
2021-05-02 21:56:43 +08:00
Yanzhen Yu
2b96a68e88 check events cursor before comparing timestamp 2021-04-23 18:49:27 +08:00
Yanzhen Yu
ed990536bc update typings file 2021-04-23 18:40:23 +08:00
re-fort
18ad3dae1a 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
2021-04-22 16:03:52 +08:00
Yanzhen Yu
df455c483a fix #535 add play-back event to reset mirror and replayer 2021-04-18 21:31:29 +08:00
Yanzhen Yu
cf860278a2 call sort after unpack 2021-04-18 21:10:29 +08:00
Eoghan Murray
af0c0d95bd 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
2021-04-18 14:21:47 +08:00
Eoghan Murray
7c5e15d607 Don't perform newly added actions if player is paused (#539) 2021-04-18 14:15:57 +08:00
Yanzhen Yu
fbfb96297d fix first play check 2021-04-17 16:34:06 +08:00
Yanzhen Yu
32b68aca64 update storyteller link 2021-04-15 09:40:15 +08:00
Yanzhen Yu
fdd59b5368 add storyteller link 2021-04-11 16:28:07 +08:00
Yanzhen Yu
693a8faf5e impl #530, observe drag event and replay as mousemove 2021-04-11 12:18:14 +08:00
John Pham
e8925337d9 Don't rebuildFullSnapshot if it's the first run (#532)
* Don't rebuildFullSnapshot if it's the first run

* Fix typo
2021-04-09 13:23:36 +08:00
Yanzhen Yu
80e0efa1da fix #531 use getRootNode with precheck 2021-04-07 12:10:47 +08:00
Justin Halsall
1783213846 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
2021-03-30 11:26:18 +08:00
Yanzhen Yu
df7537b01d impl shadow DOM manager
part of #38
1. observe DOM mutations in shadow DOM
2. rebuild DOM mutations in shadow DOM
2021-03-28 18:16:54 +08:00
Lucky Feng
e3f9a4d205 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.
2021-03-25 10:29:49 +08:00
Yanzhen Yu
ac60676321 rename node_modules in es bundle to ext 2021-03-21 14:53:51 +08:00
Lucky Feng
2260806ff3 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
2021-03-19 11:48:12 +08:00
Yakko Majuri
fe6341eefc Handle event undefined in initMoveObserver (#515) 2021-03-09 21:25:55 +08:00