- #1593
5a78938Thanks @daibhin! -NodeTypeenum was moved from rrweb-snapshot to @rrweb/types The following types where moved from rrweb-snapshot to @rrweb/types:documentNode,documentTypeNode,legacyAttributes,textNode,cdataNode,commentNode,elementNode,serializedNode,serializedNodeWithId,serializedElementNodeWithId,serializedTextNodeWithId,IMirror,INode,mediaAttributes,attributesandDataURLOptions
-
#1331
02cc62dThanks @billyvg! - fix dimensions for blocked element not being applied -
#1535
04ee6edThanks @eoghanmurray! - Slight simplification to how we replace :hover after #1458 -
#1437
5fbb904Thanks @eoghanmurray! - Edge case: Provide support for mutations on a <style> element which (unusually) has multiple text nodes
- #1503
335639aThanks @Juice10! - Record dialog's modal status for replay in rrweb. (Currently triggeringdialog.showModal()is not supported in rrweb-snapshot's rebuild)
-
#1417
40bbc25Thanks @YunFeng0817! - fix: duplicate textContent for style elements cause incremental style mutations to be invalid -
#1533
d350da8Thanks @jeffdnguyen! - Fixurl()rewrite for nested stylesheets by rewriting during stringification instead of after -
#1509
be6bf52Thanks @Juice10! - Reverse monkey patch built in methods to support LWC (and other frameworks like angular which monkey patch built in methods).
-
#1386
a2c8a1aThanks @ababik! - Fix that the optionalmaskInputFnwas being accidentally ignored during the creation of the full snapshot -
#1512
d08624cThanks @eoghanmurray! - optimisation: skip mask check on leaf elements
- #1497
2606a2aThanks @Juice10! - Distributed files have new filenames, paths and extensions. Important: If you reference distributed files or types directly, you might have to update your paths/filenames. E.g. you import fromrrweb/typings/...orrrdom/es. However you runimport rrweb from 'rrweb'you won't notice a difference with this change. If you include rrweb files directly in a script tag, you might have to update that path to include a the.umd.cjsfiles instead. All.jsfiles now use ES modules which can be used in modern browsers, node.js and bundlers that support ES modules. All npm packages now also ship.cjsand.umd.cjsfiles. The.umd.cjsfiles are CommonJS modules that bundle all files together to make it easy to ship one file to browser environments (similar to the previous.jsfiles). The.cjsfiles are CommonJS modules that can be used in older Node.js environments. Types should be better defined inpackage.jsonand if you need specific types they might be exported from new packages (for examplePlayerMachineStateandSpeedMachineStateare now exported from@rrweb/replay). Check thepackage.json'smainandexportsfield for the available files.
-
#1468
4014305Thanks @eoghanmurray! - inlineImages: during snapshot avoid adding an event listener for inlining of same-origin images (async listener mutates the snapshot which can be problematic) -
#1493
82f6fecThanks @eoghanmurray! - Replay: Replace negative lookbehind in regexes from css parser as it causes issues with Safari 16 -
#1482
f3cf092Thanks @AlfieJones! - (whenrecordCanvas: true): ensure we use doc.createElement instead of document.createElement to allow use in non-browser e.g. jsdom environments -
#760
e08706aThanks @eoghanmurray! - Add slimDOM option to block animation on <title> tag; enabled when the 'all' value is used for slimDOM
-
#1464
03b5216Thanks @colingm! - better support for coexistence with older libraries (e.g. MooTools & Prototype.js) which modify the in-builtArray.fromfunction -
#1481
46f1b25Thanks @eoghanmurray! - Fix and test for bug #1457 which was affecting replay of complex tailwind css -
#1476
cbbd1e5Thanks @eoghanmurray! - Fixup for multiple background-clip replacement -
#1387
5e7943dThanks @H4ad! - Avoid recreating the same element every time, instead, we cache and we just update the element.Before: 779k ops/s After: 860k ops/s
Benchmark: https://jsbench.me/ktlqztuf95/1
-
#1440
c0f83afThanks @daibhin! - better nested css selector splitting when commas or brackets happen to be in quoted text -
#1467
e96f668Thanks @eoghanmurray! - Bugfix after #1434 perf improvements: fix that blob urls persist on the shared anchor element and can't be later modified
- #1432
123a81eThanks @Juice10! - Video and Audio elements now also captureplaybackRate,muted,loop,volume.
- #1310
7c0dc9dThanks @benjackwhite! - Extends maskTextFn to pass the HTMLElement to the deciding function
-
#1272
58c9104Thanks @eoghanmurray! - Perf: Avoid creation of intermediary array when iterating over style rules -
#1351
a2be77bThanks @eoghanmurray! - Don't double-record the values of <textarea>s when they already have some content prefilled #1301 -
#1431
a7c33f2Thanks @eoghanmurray! - Ensure :hover works on replayer, even if a rule is behind a media query Respect the intent behind max-device-width and min-device-width media queries so that their effects are apparent in the replayer context -
#1155
8aea5b0Thanks @YunFeng0817! - Feat: Add 'isCustom' flag to serialized elements.This flag is used to indicate whether the element is a custom element or not. This is useful for replaying the :defined pseudo-class of custom elements.
-
#1374
314a8ddThanks @andrewpomeroy! - Capture stylesheets designated asrel="preload" -
#1349
07ac5c9Thanks @eoghanmurray! - Snapshot performance when masking text: Avoid the repeated calls toclosestwhen recursing through the DOM
-
#1279
11f6567Thanks @eoghanmurray! - Extend to run fixBrowserCompatibilityIssuesInCSS over inline stylesheets -
#1287
efdc167Thanks @Juice10! - Upgrade all projects to typescript 4.9.5 -
#1287
efdc167Thanks @Juice10! - Add workaround for Chrome/Edge CSS@importescaping bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1472259
- #1188
bc84246Thanks @benjackwhite! - feat: Extends maskInputFn to pass the HTMLElement to the deciding function
- #1148
d0fdc0fThanks @YunFeng0817! - Improve: Add try catch to snapshot.ts 's masking text function. Fixes #1118.
-
#1133
c28ef5fThanks @eoghanmurray! - Fix: CSS transitions are incorrectly being applied upon rebuild in Firefox. Presumably FF doesn't finished parsing the styles in time, and applies e.g. a default margin:0 to elements which have a non-zero margin set in CSS, along with a transition on them.Related bug report to Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1816672
-
#1130
f6f07e9Thanks @Equlnox! - Fix: Make relative path detection in stylesheet URLs to detect more types of URL protocols when inlining stylesheets. -
#1157
8e47ca1Thanks @mydea! - fix: Explicitly handlenullattribute values
-
#1095
1385f7aThanks @YunFeng0817! - Fix duplicated shadow doms -
#1126
227d43aThanks @YunFeng0817! - Refactor all suffix of bundled scripts with commonjs module from 'js' to cjs #1087.