-
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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 * Fix broken link to design docs * Update to fflate (#448) * Update to fflate * Update docs, bundler config * Scroll replayer iframe on firstFullsnapshot (#451) * upgrade snapshot * Release 0.9.12 * 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 * fix #452 check isBlocked on add mutation's target * Release 0.9.13 * let mouse tail duration respect timer speed * clean addList when meet a corner case * fix #460 ignore added node that are not in document anymore * upgrade 0.9.14 * Release 0.9.14 * 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 * 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 * 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 rrweb-io/rrweb#385 (#470) * Don't remove the style attributes altogether from tests; they are an important part of the mutations (#468) These were removed in rrweb-io/rrweb@8ed1c99 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) * read __rrMutationObserver from window * update guide (#483) * 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. * 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 <[email protected]> * remove debugging warning (#486) I can't see a reason for the warning here so believe it's a debugging statement that crept in? * Add prettier as a dependency (#487) * start impl rrdom * upgrade rrweb-snapshot to 1.0.7 * Adding prepare npm statement (#490) * added prepare statement * using master rrweb snapshot Co-authored-by: filip slatinac <[email protected]> * Added mousemoveCallback threshold option to sampling config. (#492) * Added mousemoveCallback threshold option to sampling config. * Added mousemoveCallback to definitions file. * Add yarn support for installing unreleased rrweb as a dependency (#497) * Use prepack instead of prepare for yarn support * add prepare and prepack for yarn v1 & v2 compatibility * Create .npmignore * update guide * close #501 do not count attach iframe event in checkout * close #491 check whether link node is head * update test snapshot * fix lint errors * add hiring link * impl #507 export takeFullSnapshot as a public API * Update observer.md (#504) Fixed some grammatical errors * add an experiment config to set max speed in fast forward * Handle event undefined in initMoveObserver (#515) * 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 * rename node_modules in es bundle to ext * 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. * impl shadow DOM manager part of #38 1. observe DOM mutations in shadow DOM 2. rebuild DOM mutations in shadow DOM * 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 * Update snapshot to Release 1.1.1 Co-authored-by: Lucky Feng <[email protected]> Co-authored-by: Fanis Katsimpas <[email protected]> Co-authored-by: Lucky Feng <[email protected]> Co-authored-by: 101arrowz <[email protected]> Co-authored-by: Jarosław Salwa <[email protected]> Co-authored-by: Yanzhen Yu <[email protected]> Co-authored-by: Eoghan Murray <[email protected]> Co-authored-by: zzq0826 <[email protected]> Co-authored-by: Karl-Aksel Puulmann <[email protected]> Co-authored-by: Moji Izadmehr <[email protected]> Co-authored-by: Filip Slatinac <[email protected]> Co-authored-by: filip slatinac <[email protected]> Co-authored-by: Province Innovation <[email protected]> Co-authored-by: Justin Halsall <[email protected]> Co-authored-by: Season <[email protected]> Co-authored-by: arshabh-copods <[email protected]> Co-authored-by: Yakko Majuri <[email protected]>
- Loading branch information
1 parent
c5046d0
commit 5dc4ca2
Showing
47 changed files
with
3,406 additions
and
896 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,3 +9,5 @@ es | |
lib | ||
|
||
temp | ||
|
||
*.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,7 @@ | ||
!**/node_modules | ||
.vscode | ||
.idea | ||
node_modules | ||
package-lock.json | ||
yarn.lock | ||
temp | ||
*.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
import { serializedNodeWithId, INode } from '../snapshot'; | ||
import { mutationCallBack } from '../types'; | ||
|
||
export class IframeManager { | ||
private iframes: WeakMap<HTMLIFrameElement, true> = new WeakMap(); | ||
private mutationCb: mutationCallBack; | ||
private loadListener?: (iframeEl: HTMLIFrameElement) => unknown; | ||
|
||
constructor(options: { mutationCb: mutationCallBack }) { | ||
this.mutationCb = options.mutationCb; | ||
} | ||
|
||
public addIframe(iframeEl: HTMLIFrameElement) { | ||
this.iframes.set(iframeEl, true); | ||
} | ||
|
||
public addLoadListener(cb: (iframeEl: HTMLIFrameElement) => unknown) { | ||
this.loadListener = cb; | ||
} | ||
|
||
public attachIframe(iframeEl: INode, childSn: serializedNodeWithId) { | ||
this.mutationCb({ | ||
adds: [ | ||
{ | ||
parentId: iframeEl.__sn.id, | ||
nextId: null, | ||
node: childSn, | ||
}, | ||
], | ||
removes: [], | ||
texts: [], | ||
attributes: [], | ||
isAttachIframe: true, | ||
}); | ||
this.loadListener?.((iframeEl as unknown) as HTMLIFrameElement); | ||
} | ||
} |
Oops, something went wrong.