Skip to content

Commit

Permalink
fix: zone detection
Browse files Browse the repository at this point in the history
  • Loading branch information
pauldambra committed Nov 28, 2024
1 parent e260b01 commit 37b2b6f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 15 deletions.
29 changes: 17 additions & 12 deletions patches/@[email protected]
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
diff --git a/dist/record.js b/dist/record.js
index 46ec389fefb698243008b39db65470dbdf0a3857..70db907755d68b08232e25e1b255a974f56f3c65 100644
index 46ec389fefb698243008b39db65470dbdf0a3857..f62e24ecbcde20bad874188da64970945c41484e 100644
--- a/dist/record.js
+++ b/dist/record.js
@@ -26,6 +26,19 @@ const testableMethods$1 = {
@@ -26,6 +26,24 @@ const testableMethods$1 = {
Element: [],
MutationObserver: ["constructor"]
};
Expand All @@ -13,7 +13,12 @@ index 46ec389fefb698243008b39db65470dbdf0a3857..70db907755d68b08232e25e1b255a974
+ return false;
+ }
+ const prototypeKeys = Object.getOwnPropertyNames(x.prototype || {});
+ return prototypeKeys.some((key) => key.indexOf('__zone'));
+ for (const key of Object.getOwnPropertyNames(x.prototype || {})) {
+ if (key.indexOf('__zone') !== -1) {
+ return true;
+ }
+ }
+ return false
+ } catch {
+ // we've seen some intermittent problems in Safari since introducing this check
+ return false
Expand All @@ -22,7 +27,7 @@ index 46ec389fefb698243008b39db65470dbdf0a3857..70db907755d68b08232e25e1b255a974
const untaintedBasePrototype$1 = {};
function getUntaintedPrototype$1(key) {
if (untaintedBasePrototype$1[key])
@@ -54,7 +67,7 @@ function getUntaintedPrototype$1(key) {
@@ -54,7 +72,7 @@ function getUntaintedPrototype$1(key) {
}
)
);
Expand All @@ -31,7 +36,7 @@ index 46ec389fefb698243008b39db65470dbdf0a3857..70db907755d68b08232e25e1b255a974
untaintedBasePrototype$1[key] = defaultObj.prototype;
return defaultObj.prototype;
}
@@ -65,10 +78,10 @@ function getUntaintedPrototype$1(key) {
@@ -65,10 +83,10 @@ function getUntaintedPrototype$1(key) {
if (!win) return defaultObj.prototype;
const untaintedObject = win[key].prototype;
document.body.removeChild(iframeEl);
Expand All @@ -44,7 +49,7 @@ index 46ec389fefb698243008b39db65470dbdf0a3857..70db907755d68b08232e25e1b255a974
}
}
const untaintedAccessorCache$1 = {};
@@ -246,6 +259,9 @@ function isCSSImportRule(rule2) {
@@ -246,6 +264,9 @@ function isCSSImportRule(rule2) {
function isCSSStyleRule(rule2) {
return "selectorText" in rule2;
}
Expand All @@ -54,7 +59,7 @@ index 46ec389fefb698243008b39db65470dbdf0a3857..70db907755d68b08232e25e1b255a974
class Mirror {
constructor() {
__publicField$1(this, "idNodeMap", /* @__PURE__ */ new Map());
@@ -809,9 +825,14 @@ function serializeElementNode(n2, options) {
@@ -809,9 +830,14 @@ function serializeElementNode(n2, options) {
}
}
if (tagName === "link" && inlineStylesheet) {
Expand All @@ -72,7 +77,7 @@ index 46ec389fefb698243008b39db65470dbdf0a3857..70db907755d68b08232e25e1b255a974
let cssText = null;
if (stylesheet) {
cssText = stringifyStylesheet(stylesheet);
@@ -855,7 +876,15 @@ function serializeElementNode(n2, options) {
@@ -855,7 +881,15 @@ function serializeElementNode(n2, options) {
}
}
if (tagName === "dialog" && n2.open) {
Expand All @@ -89,7 +94,7 @@ index 46ec389fefb698243008b39db65470dbdf0a3857..70db907755d68b08232e25e1b255a974
}
if (tagName === "canvas" && recordCanvas) {
if (n2.__context === "2d") {
@@ -1116,7300 +1145,227 @@ function serializeNodeWithId(n2, options) {
@@ -1116,7300 +1150,227 @@ function serializeNodeWithId(n2, options) {
keepIframeSrcFn
};
if (serializedNode.type === NodeType$2.Element && serializedNode.tagName === "textarea" && serializedNode.attributes.value !== void 0) ;
Expand Down Expand Up @@ -7599,7 +7604,7 @@ index 46ec389fefb698243008b39db65470dbdf0a3857..70db907755d68b08232e25e1b255a974
class BaseRRNode {
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
constructor(..._args) {
@@ -8507,7 +1463,7 @@ function getUntaintedPrototype(key) {
@@ -8507,7 +1468,7 @@ function getUntaintedPrototype(key) {
}
)
);
Expand All @@ -7608,7 +7613,7 @@ index 46ec389fefb698243008b39db65470dbdf0a3857..70db907755d68b08232e25e1b255a974
untaintedBasePrototype[key] = defaultObj.prototype;
return defaultObj.prototype;
}
@@ -11382,11 +4338,19 @@ class CanvasManager {
@@ -11382,11 +4343,19 @@ class CanvasManager {
let rafId;
const getCanvas = () => {
const matchedCanvas = [];
Expand All @@ -7633,7 +7638,7 @@ index 46ec389fefb698243008b39db65470dbdf0a3857..70db907755d68b08232e25e1b255a974
return matchedCanvas;
};
const takeCanvasSnapshots = (timestamp) => {
@@ -11407,13 +4371,20 @@ class CanvasManager {
@@ -11407,13 +4376,20 @@ class CanvasManager {
context.clear(context.COLOR_BUFFER_BIT);
}
}
Expand Down
6 changes: 3 additions & 3 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 37b2b6f

Please sign in to comment.