Commit Graph

980 Commits

Author SHA1 Message Date
Yanzhen Yu
2a3f40669b start impl rrdom 2021-02-13 21:52:06 +08:00
Moji Izadmehr
924a4c8986 Add prettier as a dependency (#487) 2021-02-13 21:50:03 +08:00
Eoghan Murray
28fd169a5a remove debugging warning (#486)
I can't see a reason for the warning here so believe it's a debugging statement that crept in?
2021-02-12 21:56:19 +08:00
yz-yu
f3d7fa3451 Impl record iframe (#481)
* Impl record iframe

* iframe observe

* temp: add bundle file to git

* update bundle

* update with pick

* update bundle

* fix fragment map remove

* feat: add an option to determine whether to pause CSS animation when playback is paused (#428)

set pauseAnimation to true by default

* fix: elements would lose some states like scroll position because of "virtual parent" optimization (#427)

* fix: elements would lose some state like scroll position because of "virtual parent" optimization

* refactor: the bugfix code

bug: elements would lose some state like scroll position because of "virtual parent" optimization

* fix: an error occured at applyMutation(remove nodes part)

error message:
Uncaught (in promise) DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node

* pick fixes

* revert ignore file

* re-impl iframe record

* re-impl iframe replay

* code housekeeping

* move multi layer dimension calculation to replay side

* update test cases

* teardown test server

* upgrade rrweb-snapshot with iframe load timeout

Co-authored-by: Lucky Feng <yun.feng@smartx.com>
2021-02-10 21:44:25 +08:00
Yanzhen Yu
1ad1e524e3 Release 1.0.6 2021-02-10 21:28:10 +08:00
Yanzhen Yu
d7668efbcf add iframe load timeout 2021-02-10 21:26:07 +08:00
Karl-Aksel Puulmann
5021c7a606 Fix RangeError: Maximum call stack size exceeded (#479)
Saw this line cause issues in production, causing the following error:

```
RangeError Maximum call stack size exceeded
```

I believe this is caused by javascript engine max argument length - see note from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply#using_apply_and_built-in_functions

> The consequences of applying a function with too many arguments (that is, more than tens of thousands of arguments) varies across engines. (The JavaScriptCore engine has hard-coded argument limit of 65536.
2021-02-08 21:37:35 +08:00
zzq0826
cc15be1e88 update guide (#483) 2021-02-08 16:31:28 +08:00
Yanzhen Yu
1dbe2c1218 Release 1.0.5 2021-02-07 14:01:45 +08:00
yz-yu
98aa732d17 nested record iframe (#63)
* pick nested branch

* iframe snapshot

* temp: add bundle file to git

* revert ignore file

* refactor iframe impl
1. do callback one iframe is loaded, let rrweb handle the rest
2. handle iframe as normal element in rebuild

* rename hook function
2021-02-07 14:00:22 +08:00
Yanzhen Yu
34c74445ba read __rrMutationObserver from window 2021-02-04 15:00:14 +08:00
Yanzhen Yu
a3ff5e5ea8 Release 1.0.4 2021-02-04 14:49:20 +08:00
Yanzhen Yu
c7f4c36702 fix href value 2021-02-04 14:48:28 +08:00
Eoghan Murray
289956b43d Don't remove the style attributes altogether from tests; they are an important part of the mutations (#468)
These were removed in 8ed1c999cf in order to smooth over differences in test environments
so have maintained that by converting pixel values to 'Npx' (could also try rounding, but didn't attempt that)
2021-01-31 21:44:09 +08:00
Eoghan Murray
9187bec814 Discovered that the common case of mouse movement or scrolling happening during takeFullSnapshot was causing mutations to be immediately emitted, contrary to the goal of https://github.com/rrweb-io/rrweb/pull/385 (#470) 2021-01-31 21:43:36 +08:00
Yanzhen Yu
13f1a61743 fix #469 try to get original MutationObserver
We found Angular's zone module will patch MutationObserver which
make the browser hang in some scenarios.
Reference: angular/angular#26948
2021-01-22 12:50:54 +08:00
Eoghan Murray
d518c08ad2 Tweaks to timings to get tests passing on my dev laptop (#466)
* Tweaks to timings to get tests passing on my dev laptop - hopefully this makes tests more deterministic

* Okay understand what's going on now that the test has run in the travis environment
2021-01-20 23:34:29 +08:00
Yanzhen Yu
4a73f6de1c Release 0.9.14 2021-01-16 22:33:28 +08:00
Yanzhen Yu
c01d6a9bc1 upgrade 0.9.14 2021-01-16 22:32:28 +08:00
Yanzhen Yu
ea1a9da6a5 fix #460 ignore added node that are not in document anymore 2021-01-16 22:31:57 +08:00
Yanzhen Yu
c1c687ad93 Release 1.0.3 2021-01-16 21:24:40 +08:00
丶Cccccc
98cc4ee709 bugfix: svg url中id name被误转为绝对路径 (#59)
Co-authored-by: wanglei002 <wanglei002@sensorsdata.cn>
2021-01-16 21:22:45 +08:00
cgf
e1c90aae9a svg xlink:href 路径问题 (#55)
* feat: 修改在svg , xlink:href 相对路径改为绝对路径

* feat: 修改在svg , xlink:href 路径

* feat: 修改在svg, 图片路径问题

* feat: 修改在svg, 图片路径问题

* feat: 修改在svg , xlink:href 路径

Co-authored-by: caogf <caogf@guahao.com>
2021-01-16 21:21:52 +08:00
Yanzhen Yu
7c1ec50d6f clean addList when meet a corner case 2021-01-14 22:50:56 +08:00
Yanzhen Yu
c712fc77a6 let mouse tail duration respect timer speed 2021-01-12 13:36:03 +08:00
Yanzhen Yu
7f2c242782 Release 0.9.13 2021-01-08 14:07:55 +08:00
Yanzhen Yu
e7fdfcb3ac fix #452 check isBlocked on add mutation's target 2021-01-08 14:03:44 +08:00
Eoghan Murray
ed19afe808 Protect against generation of no-change viewport resize events. (#454)
I noticed 8 or 10 of these events being generated in a multi-tab browsing session on Chrome 87.0 on Win10.  I'm speculating they were generated as a side effect of changing tabs but I can't recreate
2021-01-05 10:22:38 +08:00
Yanzhen Yu
2982a55279 Release 0.7.0 2021-01-02 15:37:29 +08:00
Yanzhen Yu
4db18d5d24 upgrade rrweb 2021-01-02 15:36:20 +08:00
Yanzhen Yu
d76e4753f4 Release 0.9.12 2021-01-02 14:59:05 +08:00
Yanzhen Yu
eb4454eb3c upgrade snapshot 2021-01-02 14:50:50 +08:00
Yanzhen Yu
7cd09daad0 Release 1.0.2 2021-01-02 14:35:58 +08:00
Jarosław Salwa
c4d01e31da Scroll replayer iframe on firstFullsnapshot (#451) 2020-12-30 22:31:29 +08:00
101arrowz
e946b69d3f Update to fflate (#448)
* Update to fflate

* Update docs, bundler config
2020-12-22 20:40:37 +08:00
Lucky Feng
05f4cea377 Merge pull request #449 from fanixk/patch-1
Fix broken link to design docs
2020-12-22 18:58:20 +08:00
Fanis Katsimpas
12ba53f19b Fix broken link to design docs 2020-12-22 10:06:21 +00:00
Yanzhen Yu
1cc7164f2c fix https://github.com/rrweb-io/rrweb-snapshot/issues/56
safe access tagName of form element
2020-12-21 12:37:13 +08:00
Lucky Feng
f0f32a097a fix: sometimes currentTime is smaller than the totalTime when player is finished (#445)
plus: fix the problem that sometimes return value of getCurrentTime() is negative
2020-12-18 15:32:11 +08:00
dependabot[bot]
5992f03c84 Bump ini from 1.3.5 to 1.3.8 (#441)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-13 21:27:21 +08:00
Aaditya S
cbeec54c03 docs: fix typo (#440) 2020-12-12 21:27:42 +08:00
Krzysztof Grziwok
714a4fbb73 Catch Security Errors in styleSheet rules (#437) 2020-12-10 22:02:42 +08:00
Luck Feng
4b589b34c1 docs: add document for console recording and playback (#435)
* docs: add document for console recording and playback

* docs: adjust some sentences
2020-12-08 10:37:46 +08:00
Jonithan
451bde0a29 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>
2020-12-02 22:07:55 +08:00
Lucky Feng
4e7146e72b feat: enable rrweb to record and replay log messages in console (#424)
* wip: working on rrweb logger

* wip: can record and replay some simple log

* wip: can record and replay log's stack

* wip: try to serialize object

* wip: record and replay console logger

hijack all of the console functions.
add listener to thrown errors

* wip: record and replay console logger
add limit to the max number of log records

* feat: enable rrweb to record and replay log messages in console

this is the implementation of new feature request(issue #234)

here are a few points of description.
1. users need to set recordLog option in rrweb.record's parameter to record log messages.  The log recorder is off by default.
2. support recording and replaying all kinds of console functions. But the reliability of them should be tested more
3. the stringify function in  stringify.ts needs improvement. e.g. robustness, handler for cyclical structures and better support for more kinds of object
4. we can replay the log messages in a simulated html console like LogRocket by implementing the interface "ReplayLogger" in the future

* improve: the stringify function

1. handle cyclical structures
2. add stringify option to limit the length of result
3. handle function type

* refactor: simplify the type definition of ReplayLogger
2020-11-29 18:12:03 +08:00
Yanzhen Yu
e3beeb445a Release 0.9.11 2020-11-29 14:54:55 +08:00
Yanzhen Yu
23a1883dfc pick #286 allow short cut for slim DOM options 2020-11-29 14:54:05 +08:00
Yanzhen Yu
b26cb1a304 update test snapshot 2020-11-29 14:47:05 +08:00
Yanzhen Yu
c420c6b556 Release 0.6.6 2020-11-29 14:44:32 +08:00
Yanzhen Yu
563d866a9a upgrade rrweb 2020-11-29 14:44:15 +08:00