From 73939fc5f571403f5e611f26bf344808a4352b5c Mon Sep 17 00:00:00 2001 From: Sasha Aptlin <17913919+aptlin@users.noreply.github.com> Date: Tue, 13 Dec 2022 20:58:21 -0800 Subject: [PATCH 1/6] fix: remove passive:true from event listener patch --- packages/rrweb/src/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/rrweb/src/utils.ts b/packages/rrweb/src/utils.ts index 8f8d38c9..734eece2 100644 --- a/packages/rrweb/src/utils.ts +++ b/packages/rrweb/src/utils.ts @@ -22,7 +22,7 @@ export function on( fn: EventListenerOrEventListenerObject, target: Document | IWindow = document, ): listenerHandler { - const options = { capture: true, passive: true }; + const options = { capture: true }; target.addEventListener(type, fn, options); return () => target.removeEventListener(type, fn, options); } From 523d33f3508f76bb1233f908d8d198565b01c48d Mon Sep 17 00:00:00 2001 From: Sasha Aptlin <17913919+aptlin@users.noreply.github.com> Date: Wed, 14 Dec 2022 10:38:53 -0800 Subject: [PATCH 2/6] fix: type errors --- packages/rrweb-snapshot/src/css.ts | 4 ++-- packages/rrweb-snapshot/src/snapshot.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/rrweb-snapshot/src/css.ts b/packages/rrweb-snapshot/src/css.ts index e646f58d..6100e87c 100644 --- a/packages/rrweb-snapshot/src/css.ts +++ b/packages/rrweb-snapshot/src/css.ts @@ -345,7 +345,7 @@ export function parse(css: string, options: ParserOptions = {}) { whitespace(); comments(rules); while (css.length && css.charAt(0) !== '}' && (node = atrule() || rule())) { - if (node !== false) { + if ((node as unknown) !== false) { rules.push(node); comments(rules); } @@ -383,7 +383,7 @@ export function parse(css: string, options: ParserOptions = {}) { function comments(rules: Rule[] = []) { let c: Comment | void; while ((c = comment())) { - if (c !== false) { + if ((c as unknown) !== false) { rules.push(c); } c = comment(); diff --git a/packages/rrweb-snapshot/src/snapshot.ts b/packages/rrweb-snapshot/src/snapshot.ts index fd089bb3..d182c3cd 100644 --- a/packages/rrweb-snapshot/src/snapshot.ts +++ b/packages/rrweb-snapshot/src/snapshot.ts @@ -1333,14 +1333,14 @@ function snapshot( } : maskAllInputs; const slimDOMOptions: SlimDOMOptions = - slimDOM === true || slimDOM === 'all' + slimDOM === true || (slimDOM as unknown) === 'all' ? // if true: set of sensible options that should not throw away any information { script: true, comment: true, headFavicon: true, headWhitespace: true, - headMetaDescKeywords: slimDOM === 'all', // destructive + headMetaDescKeywords: (slimDOM as unknown) === 'all', // destructive headMetaSocial: true, headMetaRobots: true, headMetaHttpEquiv: true, From b61b4c7b7234d0d2c850fe43c5a20bd126692b24 Mon Sep 17 00:00:00 2001 From: Sasha Aptlin <17913919+aptlin@users.noreply.github.com> Date: Wed, 14 Dec 2022 11:22:08 -0800 Subject: [PATCH 3/6] fix: type errors --- packages/rrweb/package.json | 2 +- packages/rrweb/src/record/observers/canvas/canvas.ts | 2 +- packages/rrweb/src/record/observers/canvas/webgl.ts | 11 +++++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/rrweb/package.json b/packages/rrweb/package.json index 8d03be3a..7872f578 100644 --- a/packages/rrweb/package.json +++ b/packages/rrweb/package.json @@ -52,7 +52,7 @@ "@types/inquirer": "^8.2.1", "@types/jest": "^27.4.1", "@types/jest-image-snapshot": "^4.3.1", - "@types/node": "^17.0.21", + "@types/node": "^18.11.15", "@types/offscreencanvas": "^2019.6.4", "@types/prettier": "^2.3.2", "@types/puppeteer": "^5.4.4", diff --git a/packages/rrweb/src/record/observers/canvas/canvas.ts b/packages/rrweb/src/record/observers/canvas/canvas.ts index 844e1fa6..0e4b49ce 100644 --- a/packages/rrweb/src/record/observers/canvas/canvas.ts +++ b/packages/rrweb/src/record/observers/canvas/canvas.ts @@ -25,7 +25,7 @@ export default function initCanvasContextObserver( ...args: Array ) { if (!isBlocked(this, blockClass, blockSelector, true)) { - if (!('__context' in this)) this.__context = contextType; + if (!this.__context) this.__context = contextType; } return original.apply(this, [contextType, ...args]); }; diff --git a/packages/rrweb/src/record/observers/canvas/webgl.ts b/packages/rrweb/src/record/observers/canvas/webgl.ts index 499a9e6c..d5a97f94 100644 --- a/packages/rrweb/src/record/observers/canvas/webgl.ts +++ b/packages/rrweb/src/record/observers/canvas/webgl.ts @@ -49,7 +49,14 @@ function patchGLPrototype( return function (this: typeof prototype, ...args: Array) { const result = original.apply(this, args); saveWebGLVar(result, win, this); - if (!isBlocked(this.canvas, blockClass, blockSelector, true)) { + if ( + !isBlocked( + this.canvas as HTMLCanvasElement, + blockClass, + blockSelector, + true, + ) + ) { const recordArgs = serializeArgs([...args], win, this); const mutation: canvasMutationWithType = { type, @@ -57,7 +64,7 @@ function patchGLPrototype( args: recordArgs, }; // TODO: this could potentially also be an OffscreenCanvas as well as HTMLCanvasElement - cb(this.canvas, mutation); + cb(this.canvas as HTMLCanvasElement, mutation); } return result; From 95cb9e6bdf6c037958e22c11ab7336125b8c3c3d Mon Sep 17 00:00:00 2001 From: Sasha Aptlin <17913919+aptlin@users.noreply.github.com> Date: Wed, 14 Dec 2022 11:51:46 -0800 Subject: [PATCH 4/6] fix: update types --- packages/rrweb-snapshot/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/rrweb-snapshot/package.json b/packages/rrweb-snapshot/package.json index 31fa0490..e24c201c 100644 --- a/packages/rrweb-snapshot/package.json +++ b/packages/rrweb-snapshot/package.json @@ -44,7 +44,7 @@ "@types/chai": "^4.1.4", "@types/jest": "^27.0.2", "@types/jsdom": "^20.0.0", - "@types/node": "^10.11.3", + "@types/node": "^18.11.15", "@types/puppeteer": "^1.12.4", "cross-env": "^5.2.0", "eslint": "^8.23.1", From 4123836a2c0c1895346b5b03db0d6e2cacd90a58 Mon Sep 17 00:00:00 2001 From: Sasha Aptlin <17913919+aptlin@users.noreply.github.com> Date: Wed, 14 Dec 2022 12:09:26 -0800 Subject: [PATCH 5/6] try any instead of unknown --- packages/rrweb-snapshot/src/css.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/rrweb-snapshot/src/css.ts b/packages/rrweb-snapshot/src/css.ts index 6100e87c..7de5eb7c 100644 --- a/packages/rrweb-snapshot/src/css.ts +++ b/packages/rrweb-snapshot/src/css.ts @@ -345,7 +345,7 @@ export function parse(css: string, options: ParserOptions = {}) { whitespace(); comments(rules); while (css.length && css.charAt(0) !== '}' && (node = atrule() || rule())) { - if ((node as unknown) !== false) { + if ((node as any) !== false) { rules.push(node); comments(rules); } @@ -383,7 +383,7 @@ export function parse(css: string, options: ParserOptions = {}) { function comments(rules: Rule[] = []) { let c: Comment | void; while ((c = comment())) { - if ((c as unknown) !== false) { + if ((c as any) !== false) { rules.push(c); } c = comment(); From 5389ff2305bab823f07c4c86a73bf93104f0f016 Mon Sep 17 00:00:00 2001 From: Sasha Aptlin <17913919+aptlin@users.noreply.github.com> Date: Wed, 14 Dec 2022 12:21:28 -0800 Subject: [PATCH 6/6] fix: switch back to unknown --- packages/rrweb-snapshot/src/css.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/rrweb-snapshot/src/css.ts b/packages/rrweb-snapshot/src/css.ts index 7de5eb7c..6100e87c 100644 --- a/packages/rrweb-snapshot/src/css.ts +++ b/packages/rrweb-snapshot/src/css.ts @@ -345,7 +345,7 @@ export function parse(css: string, options: ParserOptions = {}) { whitespace(); comments(rules); while (css.length && css.charAt(0) !== '}' && (node = atrule() || rule())) { - if ((node as any) !== false) { + if ((node as unknown) !== false) { rules.push(node); comments(rules); } @@ -383,7 +383,7 @@ export function parse(css: string, options: ParserOptions = {}) { function comments(rules: Rule[] = []) { let c: Comment | void; while ((c = comment())) { - if ((c as any) !== false) { + if ((c as unknown) !== false) { rules.push(c); } c = comment();