Yanzhen Yu
107296eee3
add the inline stylesheet option when recording
2019-05-12 21:10:34 +08:00
Yanzhen Yu
2d8d4b0c19
fix #62 accept RegExp type block class config
2019-04-14 16:11:54 +08:00
Yanzhen Yu
faed623986
resume with time offset when after wait stylesheet load
2019-04-09 17:00:02 +08:00
Yanzhen Yu
059cbe4fd8
move browser related APIs into runtime
2019-04-02 21:29:14 +08:00
Yanzhen Yu
c04e4bf0a5
impl #23 add custom privacy selectors
2019-04-02 00:25:08 +08:00
Yanzhen Yu
d9ffe4c736
check attribute is null instead of any falsy value
2019-02-17 15:54:14 +08:00
Yanzhen Yu
406e7a8d39
update mutation observer handler
...
1. deep delete from adds set when node was dropped
2. remove node from dropped set when node was added again
2019-02-03 23:07:35 +08:00
Yanzhen Yu
a69bf87f7f
check whether the removed node's ancestors has been removed
2019-02-01 23:13:00 +08:00
Yanzhen Yu
ebd1457ce2
turn some warning message into debug message
2019-01-30 00:47:41 +08:00
yz-yu
22330207eb
improve mouse record and replay ( #49 )
...
Increase the throttle value of collecting mouse move and add a
transition time to the replayer's mouse. This may decrease the
size of mouse move data and make the replay movement more smooth.
Another change is to move and hover when click event is replayed.
This is to improve the replay of some programmatic click, such as
E2E tests.
2019-01-25 18:25:35 +08:00
Yanzhen Yu
6abf4fd4a0
move all events to an enum and update guide
2019-01-25 17:18:51 +08:00
Yanzhen Yu
264c04b3d6
resolve #47 update dependency
2019-01-24 18:44:37 +08:00
Yanzhen Yu
f03202fcec
resolve #48 check focus and blur before call since the target can be HTMLDocument in firefox
2019-01-23 15:02:13 +08:00
yz-yu
3daedfa284
fix remove node observer and check on the result of getNode ( #43 )
...
* check removed node and its parent before collect
* add more more checks on the result of getNode
2019-01-21 19:18:51 +08:00
yz-yu
cedc87c69e
add checkout config to recorder ( #36 )
...
* add checkout config to recorder
* add test cases for checkout feature and extract assertSnapshot method
2019-01-11 10:52:04 +08:00
Yanzhen Yu
b45655ea3a
expose iframe as public property
2019-01-07 19:40:38 +08:00
Yanzhen Yu
6973ce2c8d
resolve #13 add warning messages when target is not found
2019-01-05 14:18:07 +08:00
Yanzhen Yu
0d000b55b1
resolve #28 , init replayer config in the constructor
2019-01-01 13:21:33 +08:00
Yanzhen Yu
8f24cb78b3
fix block strategy
...
If an element was blocked, its child nodes should also be blocked.
The interactions and mutations on the element and its child nodes
also need to be blocked.
2018-12-30 21:46:23 +08:00
Daniël van de Giessen
e6ad2bc1d3
Corrected value for scrollTo behaviour parameter ( #18 )
2018-12-29 11:19:36 +08:00
Yanzhen Yu
8221b427a3
fix skip event logic when finding next active event
2018-12-27 18:14:49 +08:00
Yanzhen Yu
848dab8967
restore speed when finished
2018-12-27 17:44:03 +08:00
Yanzhen Yu
6d77c502bb
update rrweb-snapshot minor version and set max skip speed
2018-12-27 13:00:23 +08:00
Yanzhen Yu
533885a707
export timer to public API
2018-12-26 20:58:14 +08:00
Yanzhen Yu
05b42322d7
emit speed with skip event
2018-12-26 18:14:47 +08:00
Yanzhen Yu
aaa8bb9e94
add skipInactive option
...
Skip inactive time is an important and useful feature. We consider
user interaction events as active, and check next user interaction
event after apply incremental snapshot.
If next user interaction event has a time gap larger than the
threshold, we will set a dynamic speed value which will skip the
inactive time interval in about 5 seconds.
2018-12-26 18:05:55 +08:00
Yanzhen Yu
db86ca13fa
fix some safari's scroll related issue
2018-12-25 16:30:36 +08:00
Yanzhen Yu
b7cf1548a3
update rrweb-snapshot
2018-12-21 22:33:38 +08:00
Yanzhen Yu
f1fbb9d07e
safely scroll element since its last event may fired after being removed
2018-12-21 14:31:19 +08:00
Yanzhen Yu
b3412b1d46
fix resolve missing node when target has both previous and next missing node
2018-12-20 17:29:03 +08:00
Yanzhen Yu
097321619c
check is dropped and is removed by ancestors instead of only check parent
2018-12-20 15:29:02 +08:00
Yanzhen Yu
661fa6c7eb
Add missingNodeRetryMap
...
Use a global missing node retry map to handle missing node that
has not been resolved in the same round.
2018-12-20 14:46:58 +08:00
Yanzhen Yu
df1b3d50b7
fix resume to move baseline time by time offset
2018-12-14 14:11:49 +08:00
Yanzhen Yu
a5d0eaa451
only add click animation when cast is not sync
2018-12-14 13:52:47 +08:00
Yanzhen Yu
b9e4117810
fix timer requestAnimationFrame call may not stop after clear
...
Before this patch, the checker in the timer will stop only when
actions array is empty.
When we call play more than once, it will clear the timer first,
then push filtered new actions and start the timer again. If
all of this happened in a frame, the checker which should be
cleared may found actions array is not empty and keep check.
So this patch we use timer.raf to hold raf's handle and cancel
it when clear was called.
2018-12-14 13:37:00 +08:00
Yanzhen Yu
6e41bc3bfa
add some unit tests to replayer
2018-12-14 13:35:10 +08:00
Yanzhen Yu
c5998d70a3
prevent scroll when dispatch focus
2018-12-07 17:16:01 +08:00
Yanzhen Yu
fda6d1c873
emit pause and resume events
2018-12-06 18:04:40 +08:00
Yanzhen Yu
9d627d1912
fix mouse move time offset may be mutated multiple times
2018-12-06 17:29:19 +08:00
Yanzhen Yu
2c9db926c0
resolve #1 add ignore and block strategy for privacy purpose
2018-12-02 23:23:21 +08:00
Yanzhen Yu
78967192fc
return stopper function as the result of record
2018-12-02 22:37:28 +08:00
Yanzhen Yu
b7e7f12d32
new sandbox strategy
...
In this commit we switched the sandbox strategy to use iframe's
sandbox attribute. Indeed we do not need delegate event anymore,
but need to add some styles into the iframe.
The details were documented in the sandbox part of internal design.
2018-11-27 17:04:30 +08:00
Yanzhen Yu
2c0a0edf36
basic impl of wait for stylesheet loaded
2018-11-26 18:19:07 +08:00
Yanzhen Yu
5b61d98f8b
check interaction target before apply
2018-11-23 20:02:18 +08:00
Yanzhen Yu
86286ddb94
check parentNode when calling insertBefore
...
When add new nodes, we may use insertBefore API to insert node before
its next sibling. But the sibling may not in the DOM tree at that
moment if it was in the missing node map.
2018-11-23 18:08:37 +08:00
Yanzhen Yu
eab30bd274
improve prevent default event when replay
2018-11-23 18:06:19 +08:00
Yanzhen Yu
181c8e1d5d
fix timer clear method with do not reassign actions pointer
2018-11-23 14:22:18 +08:00
edwardwu
6382315d43
resolve #4 Improve timer's performance by storing all callbacks in an array ( #5 )
2018-11-16 21:53:59 +08:00
Yanzhen Yu
7845e74ae5
extract css by rollup plugin
2018-11-13 23:04:43 +08:00
Yanzhen Yu
69c6d96455
update dependencies
...
In this commit, we updated rrweb-snapshot to 0.6.0 which including
a breaking change in data structure.
2018-11-13 16:21:05 +08:00