@highlight-run/rrweb 2.0.14 → 2.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/replay/rrweb-replay-unpack.js +4 -4
- package/dist/replay/rrweb-replay-unpack.min.js +4 -4
- package/dist/replay/rrweb-replay-unpack.min.js.map +1 -1
- package/dist/replay/rrweb-replay.js +4 -4
- package/dist/replay/rrweb-replay.min.js +4 -4
- package/dist/replay/rrweb-replay.min.js.map +1 -1
- package/dist/rrweb-all.js +5 -5
- package/dist/rrweb-all.min.js +5 -5
- package/dist/rrweb-all.min.js.map +1 -1
- package/dist/rrweb.js +5 -5
- package/dist/rrweb.min.js +5 -5
- package/dist/rrweb.min.js.map +1 -1
- package/es/rrweb/packages/rrdom/es/rrdom.js +16 -5
- package/lib/replay/rrweb-replay-unpack.js +16 -5
- package/lib/replay/rrweb-replay.js +16 -5
- package/lib/rrweb-all.js +16 -5
- package/lib/rrweb.js +16 -5
- package/package.json +4 -4
|
@@ -629,29 +629,37 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
629
629
|
let oldStartNode = oldChildren[oldStartIndex], oldEndNode = oldChildren[oldEndIndex], newStartNode = newChildren[newStartIndex], newEndNode = newChildren[newEndIndex];
|
|
630
630
|
let oldIdToIndex = undefined, indexInOld;
|
|
631
631
|
while (oldStartIndex <= oldEndIndex && newStartIndex <= newEndIndex) {
|
|
632
|
+
const oldStartId = replayer.mirror.getId(oldStartNode);
|
|
633
|
+
const oldEndId = replayer.mirror.getId(oldEndNode);
|
|
634
|
+
const newStartId = rrnodeMirror.getId(newStartNode);
|
|
635
|
+
const newEndId = rrnodeMirror.getId(newEndNode);
|
|
632
636
|
if (oldStartNode === undefined) {
|
|
633
637
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
634
638
|
}
|
|
635
639
|
else if (oldEndNode === undefined) {
|
|
636
640
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
637
641
|
}
|
|
638
|
-
else if (
|
|
642
|
+
else if (oldStartId !== -1 &&
|
|
643
|
+
oldStartId === newStartId) {
|
|
639
644
|
diff(oldStartNode, newStartNode, replayer, rrnodeMirror);
|
|
640
645
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
641
646
|
newStartNode = newChildren[++newStartIndex];
|
|
642
647
|
}
|
|
643
|
-
else if (
|
|
648
|
+
else if (oldEndId !== -1 &&
|
|
649
|
+
oldEndId === newEndId) {
|
|
644
650
|
diff(oldEndNode, newEndNode, replayer, rrnodeMirror);
|
|
645
651
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
646
652
|
newEndNode = newChildren[--newEndIndex];
|
|
647
653
|
}
|
|
648
|
-
else if (
|
|
654
|
+
else if (oldStartId !== -1 &&
|
|
655
|
+
oldStartId === newEndId) {
|
|
649
656
|
parentNode.insertBefore(oldStartNode, oldEndNode.nextSibling);
|
|
650
657
|
diff(oldStartNode, newEndNode, replayer, rrnodeMirror);
|
|
651
658
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
652
659
|
newEndNode = newChildren[--newEndIndex];
|
|
653
660
|
}
|
|
654
|
-
else if (
|
|
661
|
+
else if (oldEndId !== -1 &&
|
|
662
|
+
oldEndId === newStartId) {
|
|
655
663
|
parentNode.insertBefore(oldEndNode, oldStartNode);
|
|
656
664
|
diff(oldEndNode, newStartNode, replayer, rrnodeMirror);
|
|
657
665
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
@@ -713,8 +721,11 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
713
721
|
}
|
|
714
722
|
}
|
|
715
723
|
function createOrGetNode(rrNode, domMirror, rrnodeMirror) {
|
|
716
|
-
|
|
724
|
+
const nodeId = rrnodeMirror.getId(rrNode);
|
|
717
725
|
const sn = rrnodeMirror.getMeta(rrNode);
|
|
726
|
+
let node = null;
|
|
727
|
+
if (nodeId > -1)
|
|
728
|
+
node = domMirror.getNode(nodeId);
|
|
718
729
|
if (node !== null)
|
|
719
730
|
return node;
|
|
720
731
|
switch (rrNode.RRNodeType) {
|
|
@@ -1548,29 +1548,37 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
1548
1548
|
let oldStartNode = oldChildren[oldStartIndex], oldEndNode = oldChildren[oldEndIndex], newStartNode = newChildren[newStartIndex], newEndNode = newChildren[newEndIndex];
|
|
1549
1549
|
let oldIdToIndex = undefined, indexInOld;
|
|
1550
1550
|
while (oldStartIndex <= oldEndIndex && newStartIndex <= newEndIndex) {
|
|
1551
|
+
const oldStartId = replayer.mirror.getId(oldStartNode);
|
|
1552
|
+
const oldEndId = replayer.mirror.getId(oldEndNode);
|
|
1553
|
+
const newStartId = rrnodeMirror.getId(newStartNode);
|
|
1554
|
+
const newEndId = rrnodeMirror.getId(newEndNode);
|
|
1551
1555
|
if (oldStartNode === undefined) {
|
|
1552
1556
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
1553
1557
|
}
|
|
1554
1558
|
else if (oldEndNode === undefined) {
|
|
1555
1559
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
1556
1560
|
}
|
|
1557
|
-
else if (
|
|
1561
|
+
else if (oldStartId !== -1 &&
|
|
1562
|
+
oldStartId === newStartId) {
|
|
1558
1563
|
diff(oldStartNode, newStartNode, replayer, rrnodeMirror);
|
|
1559
1564
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
1560
1565
|
newStartNode = newChildren[++newStartIndex];
|
|
1561
1566
|
}
|
|
1562
|
-
else if (
|
|
1567
|
+
else if (oldEndId !== -1 &&
|
|
1568
|
+
oldEndId === newEndId) {
|
|
1563
1569
|
diff(oldEndNode, newEndNode, replayer, rrnodeMirror);
|
|
1564
1570
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
1565
1571
|
newEndNode = newChildren[--newEndIndex];
|
|
1566
1572
|
}
|
|
1567
|
-
else if (
|
|
1573
|
+
else if (oldStartId !== -1 &&
|
|
1574
|
+
oldStartId === newEndId) {
|
|
1568
1575
|
parentNode.insertBefore(oldStartNode, oldEndNode.nextSibling);
|
|
1569
1576
|
diff(oldStartNode, newEndNode, replayer, rrnodeMirror);
|
|
1570
1577
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
1571
1578
|
newEndNode = newChildren[--newEndIndex];
|
|
1572
1579
|
}
|
|
1573
|
-
else if (
|
|
1580
|
+
else if (oldEndId !== -1 &&
|
|
1581
|
+
oldEndId === newStartId) {
|
|
1574
1582
|
parentNode.insertBefore(oldEndNode, oldStartNode);
|
|
1575
1583
|
diff(oldEndNode, newStartNode, replayer, rrnodeMirror);
|
|
1576
1584
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
@@ -1632,8 +1640,11 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
1632
1640
|
}
|
|
1633
1641
|
}
|
|
1634
1642
|
function createOrGetNode(rrNode, domMirror, rrnodeMirror) {
|
|
1635
|
-
|
|
1643
|
+
const nodeId = rrnodeMirror.getId(rrNode);
|
|
1636
1644
|
const sn = rrnodeMirror.getMeta(rrNode);
|
|
1645
|
+
let node = null;
|
|
1646
|
+
if (nodeId > -1)
|
|
1647
|
+
node = domMirror.getNode(nodeId);
|
|
1637
1648
|
if (node !== null)
|
|
1638
1649
|
return node;
|
|
1639
1650
|
switch (rrNode.RRNodeType) {
|
|
@@ -1548,29 +1548,37 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
1548
1548
|
let oldStartNode = oldChildren[oldStartIndex], oldEndNode = oldChildren[oldEndIndex], newStartNode = newChildren[newStartIndex], newEndNode = newChildren[newEndIndex];
|
|
1549
1549
|
let oldIdToIndex = undefined, indexInOld;
|
|
1550
1550
|
while (oldStartIndex <= oldEndIndex && newStartIndex <= newEndIndex) {
|
|
1551
|
+
const oldStartId = replayer.mirror.getId(oldStartNode);
|
|
1552
|
+
const oldEndId = replayer.mirror.getId(oldEndNode);
|
|
1553
|
+
const newStartId = rrnodeMirror.getId(newStartNode);
|
|
1554
|
+
const newEndId = rrnodeMirror.getId(newEndNode);
|
|
1551
1555
|
if (oldStartNode === undefined) {
|
|
1552
1556
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
1553
1557
|
}
|
|
1554
1558
|
else if (oldEndNode === undefined) {
|
|
1555
1559
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
1556
1560
|
}
|
|
1557
|
-
else if (
|
|
1561
|
+
else if (oldStartId !== -1 &&
|
|
1562
|
+
oldStartId === newStartId) {
|
|
1558
1563
|
diff(oldStartNode, newStartNode, replayer, rrnodeMirror);
|
|
1559
1564
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
1560
1565
|
newStartNode = newChildren[++newStartIndex];
|
|
1561
1566
|
}
|
|
1562
|
-
else if (
|
|
1567
|
+
else if (oldEndId !== -1 &&
|
|
1568
|
+
oldEndId === newEndId) {
|
|
1563
1569
|
diff(oldEndNode, newEndNode, replayer, rrnodeMirror);
|
|
1564
1570
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
1565
1571
|
newEndNode = newChildren[--newEndIndex];
|
|
1566
1572
|
}
|
|
1567
|
-
else if (
|
|
1573
|
+
else if (oldStartId !== -1 &&
|
|
1574
|
+
oldStartId === newEndId) {
|
|
1568
1575
|
parentNode.insertBefore(oldStartNode, oldEndNode.nextSibling);
|
|
1569
1576
|
diff(oldStartNode, newEndNode, replayer, rrnodeMirror);
|
|
1570
1577
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
1571
1578
|
newEndNode = newChildren[--newEndIndex];
|
|
1572
1579
|
}
|
|
1573
|
-
else if (
|
|
1580
|
+
else if (oldEndId !== -1 &&
|
|
1581
|
+
oldEndId === newStartId) {
|
|
1574
1582
|
parentNode.insertBefore(oldEndNode, oldStartNode);
|
|
1575
1583
|
diff(oldEndNode, newStartNode, replayer, rrnodeMirror);
|
|
1576
1584
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
@@ -1632,8 +1640,11 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
1632
1640
|
}
|
|
1633
1641
|
}
|
|
1634
1642
|
function createOrGetNode(rrNode, domMirror, rrnodeMirror) {
|
|
1635
|
-
|
|
1643
|
+
const nodeId = rrnodeMirror.getId(rrNode);
|
|
1636
1644
|
const sn = rrnodeMirror.getMeta(rrNode);
|
|
1645
|
+
let node = null;
|
|
1646
|
+
if (nodeId > -1)
|
|
1647
|
+
node = domMirror.getNode(nodeId);
|
|
1637
1648
|
if (node !== null)
|
|
1638
1649
|
return node;
|
|
1639
1650
|
switch (rrNode.RRNodeType) {
|
package/lib/rrweb-all.js
CHANGED
|
@@ -5011,29 +5011,37 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
5011
5011
|
let oldStartNode = oldChildren[oldStartIndex], oldEndNode = oldChildren[oldEndIndex], newStartNode = newChildren[newStartIndex], newEndNode = newChildren[newEndIndex];
|
|
5012
5012
|
let oldIdToIndex = undefined, indexInOld;
|
|
5013
5013
|
while (oldStartIndex <= oldEndIndex && newStartIndex <= newEndIndex) {
|
|
5014
|
+
const oldStartId = replayer.mirror.getId(oldStartNode);
|
|
5015
|
+
const oldEndId = replayer.mirror.getId(oldEndNode);
|
|
5016
|
+
const newStartId = rrnodeMirror.getId(newStartNode);
|
|
5017
|
+
const newEndId = rrnodeMirror.getId(newEndNode);
|
|
5014
5018
|
if (oldStartNode === undefined) {
|
|
5015
5019
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
5016
5020
|
}
|
|
5017
5021
|
else if (oldEndNode === undefined) {
|
|
5018
5022
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
5019
5023
|
}
|
|
5020
|
-
else if (
|
|
5024
|
+
else if (oldStartId !== -1 &&
|
|
5025
|
+
oldStartId === newStartId) {
|
|
5021
5026
|
diff(oldStartNode, newStartNode, replayer, rrnodeMirror);
|
|
5022
5027
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
5023
5028
|
newStartNode = newChildren[++newStartIndex];
|
|
5024
5029
|
}
|
|
5025
|
-
else if (
|
|
5030
|
+
else if (oldEndId !== -1 &&
|
|
5031
|
+
oldEndId === newEndId) {
|
|
5026
5032
|
diff(oldEndNode, newEndNode, replayer, rrnodeMirror);
|
|
5027
5033
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
5028
5034
|
newEndNode = newChildren[--newEndIndex];
|
|
5029
5035
|
}
|
|
5030
|
-
else if (
|
|
5036
|
+
else if (oldStartId !== -1 &&
|
|
5037
|
+
oldStartId === newEndId) {
|
|
5031
5038
|
parentNode.insertBefore(oldStartNode, oldEndNode.nextSibling);
|
|
5032
5039
|
diff(oldStartNode, newEndNode, replayer, rrnodeMirror);
|
|
5033
5040
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
5034
5041
|
newEndNode = newChildren[--newEndIndex];
|
|
5035
5042
|
}
|
|
5036
|
-
else if (
|
|
5043
|
+
else if (oldEndId !== -1 &&
|
|
5044
|
+
oldEndId === newStartId) {
|
|
5037
5045
|
parentNode.insertBefore(oldEndNode, oldStartNode);
|
|
5038
5046
|
diff(oldEndNode, newStartNode, replayer, rrnodeMirror);
|
|
5039
5047
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
@@ -5095,8 +5103,11 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
5095
5103
|
}
|
|
5096
5104
|
}
|
|
5097
5105
|
function createOrGetNode(rrNode, domMirror, rrnodeMirror) {
|
|
5098
|
-
|
|
5106
|
+
const nodeId = rrnodeMirror.getId(rrNode);
|
|
5099
5107
|
const sn = rrnodeMirror.getMeta(rrNode);
|
|
5108
|
+
let node = null;
|
|
5109
|
+
if (nodeId > -1)
|
|
5110
|
+
node = domMirror.getNode(nodeId);
|
|
5100
5111
|
if (node !== null)
|
|
5101
5112
|
return node;
|
|
5102
5113
|
switch (rrNode.RRNodeType) {
|
package/lib/rrweb.js
CHANGED
|
@@ -5011,29 +5011,37 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
5011
5011
|
let oldStartNode = oldChildren[oldStartIndex], oldEndNode = oldChildren[oldEndIndex], newStartNode = newChildren[newStartIndex], newEndNode = newChildren[newEndIndex];
|
|
5012
5012
|
let oldIdToIndex = undefined, indexInOld;
|
|
5013
5013
|
while (oldStartIndex <= oldEndIndex && newStartIndex <= newEndIndex) {
|
|
5014
|
+
const oldStartId = replayer.mirror.getId(oldStartNode);
|
|
5015
|
+
const oldEndId = replayer.mirror.getId(oldEndNode);
|
|
5016
|
+
const newStartId = rrnodeMirror.getId(newStartNode);
|
|
5017
|
+
const newEndId = rrnodeMirror.getId(newEndNode);
|
|
5014
5018
|
if (oldStartNode === undefined) {
|
|
5015
5019
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
5016
5020
|
}
|
|
5017
5021
|
else if (oldEndNode === undefined) {
|
|
5018
5022
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
5019
5023
|
}
|
|
5020
|
-
else if (
|
|
5024
|
+
else if (oldStartId !== -1 &&
|
|
5025
|
+
oldStartId === newStartId) {
|
|
5021
5026
|
diff(oldStartNode, newStartNode, replayer, rrnodeMirror);
|
|
5022
5027
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
5023
5028
|
newStartNode = newChildren[++newStartIndex];
|
|
5024
5029
|
}
|
|
5025
|
-
else if (
|
|
5030
|
+
else if (oldEndId !== -1 &&
|
|
5031
|
+
oldEndId === newEndId) {
|
|
5026
5032
|
diff(oldEndNode, newEndNode, replayer, rrnodeMirror);
|
|
5027
5033
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
5028
5034
|
newEndNode = newChildren[--newEndIndex];
|
|
5029
5035
|
}
|
|
5030
|
-
else if (
|
|
5036
|
+
else if (oldStartId !== -1 &&
|
|
5037
|
+
oldStartId === newEndId) {
|
|
5031
5038
|
parentNode.insertBefore(oldStartNode, oldEndNode.nextSibling);
|
|
5032
5039
|
diff(oldStartNode, newEndNode, replayer, rrnodeMirror);
|
|
5033
5040
|
oldStartNode = oldChildren[++oldStartIndex];
|
|
5034
5041
|
newEndNode = newChildren[--newEndIndex];
|
|
5035
5042
|
}
|
|
5036
|
-
else if (
|
|
5043
|
+
else if (oldEndId !== -1 &&
|
|
5044
|
+
oldEndId === newStartId) {
|
|
5037
5045
|
parentNode.insertBefore(oldEndNode, oldStartNode);
|
|
5038
5046
|
diff(oldEndNode, newStartNode, replayer, rrnodeMirror);
|
|
5039
5047
|
oldEndNode = oldChildren[--oldEndIndex];
|
|
@@ -5095,8 +5103,11 @@ function diffChildren(oldChildren, newChildren, parentNode, replayer, rrnodeMirr
|
|
|
5095
5103
|
}
|
|
5096
5104
|
}
|
|
5097
5105
|
function createOrGetNode(rrNode, domMirror, rrnodeMirror) {
|
|
5098
|
-
|
|
5106
|
+
const nodeId = rrnodeMirror.getId(rrNode);
|
|
5099
5107
|
const sn = rrnodeMirror.getMeta(rrNode);
|
|
5108
|
+
let node = null;
|
|
5109
|
+
if (nodeId > -1)
|
|
5110
|
+
node = domMirror.getNode(nodeId);
|
|
5100
5111
|
if (node !== null)
|
|
5101
5112
|
return node;
|
|
5102
5113
|
switch (rrNode.RRNodeType) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@highlight-run/rrweb",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.17",
|
|
4
4
|
"description": "record and replay the web",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"prepare": "npm run prepack",
|
|
@@ -74,13 +74,13 @@
|
|
|
74
74
|
"typescript": "^4.7.3"
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
|
-
"@highlight-run/rrdom": ">=0.1.
|
|
78
|
-
"@highlight-run/rrweb-snapshot": "
|
|
77
|
+
"@highlight-run/rrdom": ">=0.1.14",
|
|
78
|
+
"@highlight-run/rrweb-snapshot": ">=1.1.22",
|
|
79
79
|
"@types/css-font-loading-module": "0.0.7",
|
|
80
80
|
"@xstate/fsm": "^1.4.0",
|
|
81
81
|
"base64-arraybuffer": "^1.0.1",
|
|
82
82
|
"fflate": "^0.4.4",
|
|
83
83
|
"mitt": "^1.1.3"
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "7c3952392f9fe936c1a515e466564467e946bd8f"
|
|
86
86
|
}
|