From f7260da5565f8961a1f6dbc92921a949a02d46bb Mon Sep 17 00:00:00 2001 From: Yanzhen Yu Date: Wed, 1 Apr 2026 12:00:00 +0800 Subject: [PATCH] Release 0.9.10 --- package.json | 2 +- typings/record/mutation.d.ts | 6 ++++-- typings/types.d.ts | 6 +++++- typings/utils.d.ts | 1 + 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 5478dae5..e47122c6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rrweb", - "version": "0.9.9", + "version": "0.9.10", "description": "record and replay the web", "scripts": { "test": "npm run bundle:browser && cross-env TS_NODE_CACHE=false TS_NODE_FILES=true mocha -r ts-node/register test/**/*.test.ts", diff --git a/typings/record/mutation.d.ts b/typings/record/mutation.d.ts index dd5976f3..78b35901 100644 --- a/typings/record/mutation.d.ts +++ b/typings/record/mutation.d.ts @@ -1,4 +1,4 @@ -import { MaskInputOptions } from 'rrweb-snapshot'; +import { MaskInputOptions, SlimDOMOptions } from 'rrweb-snapshot'; import { mutationRecord, blockClass, mutationCallBack } from '../types'; export default class MutationBuffer { private frozen; @@ -12,10 +12,12 @@ export default class MutationBuffer { private droppedSet; private emissionCallback; private blockClass; + private blockSelector; private inlineStylesheet; private maskInputOptions; private recordCanvas; - init(cb: mutationCallBack, blockClass: blockClass, inlineStylesheet: boolean, maskInputOptions: MaskInputOptions, recordCanvas: boolean): void; + private slimDOMOptions; + init(cb: mutationCallBack, blockClass: blockClass, blockSelector: string | null, inlineStylesheet: boolean, maskInputOptions: MaskInputOptions, recordCanvas: boolean, slimDOMOptions: SlimDOMOptions): void; freeze(): void; unfreeze(): void; isFrozen(): boolean; diff --git a/typings/types.d.ts b/typings/types.d.ts index 373dfb5c..7d996173 100644 --- a/typings/types.d.ts +++ b/typings/types.d.ts @@ -1,4 +1,4 @@ -import { serializedNodeWithId, idNodeMap, INode, MaskInputOptions } from 'rrweb-snapshot'; +import { serializedNodeWithId, idNodeMap, INode, MaskInputOptions, SlimDOMOptions } from 'rrweb-snapshot'; import { PackFn, UnpackFn } from './packer/base'; import { FontFaceDescriptors } from 'css-font-loading-module'; export declare enum EventType { @@ -110,10 +110,12 @@ export declare type recordOptions = { checkoutEveryNth?: number; checkoutEveryNms?: number; blockClass?: blockClass; + blockSelector?: string; ignoreClass?: string; maskAllInputs?: boolean; maskInputOptions?: MaskInputOptions; maskInputFn?: MaskInputFn; + slimDOMOptions?: SlimDOMOptions; inlineStylesheet?: boolean; hooks?: hooksParam; packFn?: PackFn; @@ -131,6 +133,7 @@ export declare type observerParam = { inputCb: inputCallback; mediaInteractionCb: mediaInteractionCallback; blockClass: blockClass; + blockSelector: string | null; ignoreClass: string; maskInputOptions: MaskInputOptions; maskInputFn?: MaskInputFn; @@ -141,6 +144,7 @@ export declare type observerParam = { sampling: SamplingStrategy; recordCanvas: boolean; collectFonts: boolean; + slimDOMOptions: SlimDOMOptions; }; export declare type hooksParam = { mutation?: mutationCallBack; diff --git a/typings/utils.d.ts b/typings/utils.d.ts index 2f802925..e87dee53 100644 --- a/typings/utils.d.ts +++ b/typings/utils.d.ts @@ -10,6 +10,7 @@ export declare function patch(source: { export declare function getWindowHeight(): number; export declare function getWindowWidth(): number; export declare function isBlocked(node: Node | null, blockClass: blockClass): boolean; +export declare function isIgnored(n: Node | INode): boolean; export declare function isAncestorRemoved(target: INode): boolean; export declare function isTouchEvent(event: MouseEvent | TouchEvent): event is TouchEvent; export declare function polyfill(win?: Window & typeof globalThis): void;