@openreplay/tracker 4.1.11 → 5.0.0
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/.eslintignore +3 -0
- package/CHANGELOG.md +20 -0
- package/README.md +22 -18
- package/cjs/app/guards.d.ts +11 -12
- package/cjs/app/guards.js +2 -1
- package/cjs/app/index.d.ts +11 -8
- package/cjs/app/index.js +27 -8
- package/cjs/app/logger.d.ts +3 -3
- package/cjs/app/messages.gen.d.ts +8 -6
- package/cjs/app/messages.gen.js +116 -94
- package/cjs/app/nodes.d.ts +1 -1
- package/cjs/app/observer/iframe_offsets.d.ts +1 -1
- package/cjs/app/observer/observer.js +5 -5
- package/cjs/app/observer/top_observer.d.ts +2 -2
- package/cjs/app/observer/top_observer.js +1 -1
- package/cjs/app/session.d.ts +2 -2
- package/cjs/app/ticker.d.ts +1 -1
- package/cjs/common/interaction.d.ts +5 -5
- package/cjs/common/messages.gen.d.ts +104 -86
- package/cjs/index.d.ts +6 -2
- package/cjs/index.js +7 -5
- package/cjs/modules/cssrules.js +1 -1
- package/cjs/modules/focus.js +2 -2
- package/cjs/modules/fonts.js +2 -2
- package/cjs/modules/img.js +6 -5
- package/cjs/modules/input.d.ts +1 -1
- package/cjs/modules/input.js +15 -23
- package/cjs/modules/mouse.js +1 -1
- package/cjs/modules/network.d.ts +28 -0
- package/cjs/modules/network.js +203 -0
- package/cjs/modules/timing.js +7 -3
- package/cjs/modules/viewport.js +3 -1
- package/cjs/vendors/finder/finder.d.ts +1 -1
- package/jest.config.js +11 -0
- package/lib/app/guards.d.ts +11 -12
- package/lib/app/guards.js +2 -1
- package/lib/app/index.d.ts +11 -8
- package/lib/app/index.js +28 -9
- package/lib/app/logger.d.ts +3 -3
- package/lib/app/messages.gen.d.ts +8 -6
- package/lib/app/messages.gen.js +107 -87
- package/lib/app/nodes.d.ts +1 -1
- package/lib/app/observer/iframe_offsets.d.ts +1 -1
- package/lib/app/observer/observer.js +5 -5
- package/lib/app/observer/top_observer.d.ts +2 -2
- package/lib/app/observer/top_observer.js +1 -1
- package/lib/app/session.d.ts +2 -2
- package/lib/app/ticker.d.ts +1 -1
- package/lib/common/interaction.d.ts +5 -5
- package/lib/common/messages.gen.d.ts +104 -86
- package/lib/common/tsconfig.tsbuildinfo +1 -1
- package/lib/index.d.ts +6 -2
- package/lib/index.js +8 -6
- package/lib/modules/cssrules.js +1 -1
- package/lib/modules/focus.js +2 -2
- package/lib/modules/fonts.js +2 -2
- package/lib/modules/img.js +6 -5
- package/lib/modules/input.d.ts +1 -1
- package/lib/modules/input.js +15 -23
- package/lib/modules/mouse.js +1 -1
- package/lib/modules/network.d.ts +28 -0
- package/lib/modules/network.js +200 -0
- package/lib/modules/timing.js +8 -4
- package/lib/modules/viewport.js +3 -1
- package/lib/vendors/finder/finder.d.ts +1 -1
- package/package.json +8 -3
- package/tsconfig-base.json +2 -1
- package/cjs/app/messages.d.ts +0 -52
- package/cjs/app/messages.js +0 -234
- package/lib/app/messages.d.ts +0 -52
- package/lib/app/messages.js +0 -181
package/lib/app/logger.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ export declare const LogLevel: {
|
|
|
5
5
|
readonly Errors: 2;
|
|
6
6
|
readonly Silent: 0;
|
|
7
7
|
};
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
type LogLevel = typeof LogLevel[keyof typeof LogLevel];
|
|
9
|
+
type CustomLevel = {
|
|
10
10
|
error: boolean;
|
|
11
11
|
warn: boolean;
|
|
12
12
|
log: boolean;
|
|
@@ -15,7 +15,7 @@ interface _Options {
|
|
|
15
15
|
level: LogLevel | CustomLevel;
|
|
16
16
|
messages?: number[];
|
|
17
17
|
}
|
|
18
|
-
export
|
|
18
|
+
export type Options = true | _Options | LogLevel;
|
|
19
19
|
export default class Logger {
|
|
20
20
|
private readonly options;
|
|
21
21
|
constructor(options?: Options);
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import * as Messages from '../common/messages.gen.js';
|
|
2
|
-
export { default } from '../common/messages.gen.js';
|
|
3
|
-
export declare function BatchMetadata(version: number, pageNo: number, firstIndex: number, timestamp: number, location: string): Messages.BatchMetadata;
|
|
4
|
-
export declare function PartitionedMessage(partNo: number, partTotal: number): Messages.PartitionedMessage;
|
|
2
|
+
export { default, Type } from '../common/messages.gen.js';
|
|
5
3
|
export declare function Timestamp(timestamp: number): Messages.Timestamp;
|
|
6
4
|
export declare function SetPageLocation(url: string, referrer: string, navigationStart: number): Messages.SetPageLocation;
|
|
7
5
|
export declare function SetViewportSize(width: number, height: number): Messages.SetViewportSize;
|
|
@@ -19,11 +17,11 @@ export declare function SetInputTarget(id: number, label: string): Messages.SetI
|
|
|
19
17
|
export declare function SetInputValue(id: number, value: string, mask: number): Messages.SetInputValue;
|
|
20
18
|
export declare function SetInputChecked(id: number, checked: boolean): Messages.SetInputChecked;
|
|
21
19
|
export declare function MouseMove(x: number, y: number): Messages.MouseMove;
|
|
20
|
+
export declare function NetworkRequest(type: string, method: string, url: string, request: string, response: string, status: number, timestamp: number, duration: number): Messages.NetworkRequest;
|
|
22
21
|
export declare function ConsoleLog(level: string, value: string): Messages.ConsoleLog;
|
|
23
22
|
export declare function PageLoadTiming(requestStart: number, responseStart: number, responseEnd: number, domContentLoadedEventStart: number, domContentLoadedEventEnd: number, loadEventStart: number, loadEventEnd: number, firstPaint: number, firstContentfulPaint: number): Messages.PageLoadTiming;
|
|
24
23
|
export declare function PageRenderTiming(speedIndex: number, visuallyComplete: number, timeToInteractive: number): Messages.PageRenderTiming;
|
|
25
|
-
export declare function
|
|
26
|
-
export declare function RawCustomEvent(name: string, payload: string): Messages.RawCustomEvent;
|
|
24
|
+
export declare function CustomEvent(name: string, payload: string): Messages.CustomEvent;
|
|
27
25
|
export declare function UserID(id: string): Messages.UserID;
|
|
28
26
|
export declare function UserAnonymousID(id: string): Messages.UserAnonymousID;
|
|
29
27
|
export declare function Metadata(key: string, value: string): Messages.Metadata;
|
|
@@ -39,6 +37,8 @@ export declare function MobX(type: string, payload: string): Messages.MobX;
|
|
|
39
37
|
export declare function NgRx(action: string, state: string, duration: number): Messages.NgRx;
|
|
40
38
|
export declare function GraphQL(operationKind: string, operationName: string, variables: string, response: string): Messages.GraphQL;
|
|
41
39
|
export declare function PerformanceTrack(frames: number, ticks: number, totalJSHeapSize: number, usedJSHeapSize: number): Messages.PerformanceTrack;
|
|
40
|
+
export declare function StringDict(key: number, value: string): Messages.StringDict;
|
|
41
|
+
export declare function SetNodeAttributeDict(id: number, nameKey: number, valueKey: number): Messages.SetNodeAttributeDict;
|
|
42
42
|
export declare function ResourceTiming(timestamp: number, duration: number, ttfb: number, headerSize: number, encodedBodySize: number, decodedBodySize: number, url: string, initiator: string): Messages.ResourceTiming;
|
|
43
43
|
export declare function ConnectionInformation(downlink: number, type: string): Messages.ConnectionInformation;
|
|
44
44
|
export declare function SetPageVisibility(hidden: boolean): Messages.SetPageVisibility;
|
|
@@ -57,5 +57,7 @@ export declare function AdoptedSSInsertRuleURLBased(sheetID: number, rule: strin
|
|
|
57
57
|
export declare function AdoptedSSDeleteRule(sheetID: number, index: number): Messages.AdoptedSSDeleteRule;
|
|
58
58
|
export declare function AdoptedSSAddOwner(sheetID: number, id: number): Messages.AdoptedSSAddOwner;
|
|
59
59
|
export declare function AdoptedSSRemoveOwner(sheetID: number, id: number): Messages.AdoptedSSRemoveOwner;
|
|
60
|
-
export declare function Zustand(mutation: string, state: string): Messages.Zustand;
|
|
61
60
|
export declare function JSException(name: string, message: string, payload: string, metadata: string): Messages.JSException;
|
|
61
|
+
export declare function Zustand(mutation: string, state: string): Messages.Zustand;
|
|
62
|
+
export declare function BatchMetadata(version: number, pageNo: number, firstIndex: number, timestamp: number, location: string): Messages.BatchMetadata;
|
|
63
|
+
export declare function PartitionedMessage(partNo: number, partTotal: number): Messages.PartitionedMessage;
|
package/lib/app/messages.gen.js
CHANGED
|
@@ -1,31 +1,14 @@
|
|
|
1
1
|
// Auto-generated, do not edit
|
|
2
2
|
/* eslint-disable */
|
|
3
|
-
export function BatchMetadata(version, pageNo, firstIndex, timestamp, location) {
|
|
4
|
-
return [
|
|
5
|
-
81 /* BatchMetadata */,
|
|
6
|
-
version,
|
|
7
|
-
pageNo,
|
|
8
|
-
firstIndex,
|
|
9
|
-
timestamp,
|
|
10
|
-
location,
|
|
11
|
-
];
|
|
12
|
-
}
|
|
13
|
-
export function PartitionedMessage(partNo, partTotal) {
|
|
14
|
-
return [
|
|
15
|
-
82 /* PartitionedMessage */,
|
|
16
|
-
partNo,
|
|
17
|
-
partTotal,
|
|
18
|
-
];
|
|
19
|
-
}
|
|
20
3
|
export function Timestamp(timestamp) {
|
|
21
4
|
return [
|
|
22
|
-
0 /* Timestamp */,
|
|
5
|
+
0 /* Messages.Type.Timestamp */,
|
|
23
6
|
timestamp,
|
|
24
7
|
];
|
|
25
8
|
}
|
|
26
9
|
export function SetPageLocation(url, referrer, navigationStart) {
|
|
27
10
|
return [
|
|
28
|
-
4 /* SetPageLocation */,
|
|
11
|
+
4 /* Messages.Type.SetPageLocation */,
|
|
29
12
|
url,
|
|
30
13
|
referrer,
|
|
31
14
|
navigationStart,
|
|
@@ -33,26 +16,26 @@ export function SetPageLocation(url, referrer, navigationStart) {
|
|
|
33
16
|
}
|
|
34
17
|
export function SetViewportSize(width, height) {
|
|
35
18
|
return [
|
|
36
|
-
5 /* SetViewportSize */,
|
|
19
|
+
5 /* Messages.Type.SetViewportSize */,
|
|
37
20
|
width,
|
|
38
21
|
height,
|
|
39
22
|
];
|
|
40
23
|
}
|
|
41
24
|
export function SetViewportScroll(x, y) {
|
|
42
25
|
return [
|
|
43
|
-
6 /* SetViewportScroll */,
|
|
26
|
+
6 /* Messages.Type.SetViewportScroll */,
|
|
44
27
|
x,
|
|
45
28
|
y,
|
|
46
29
|
];
|
|
47
30
|
}
|
|
48
31
|
export function CreateDocument() {
|
|
49
32
|
return [
|
|
50
|
-
7 /* CreateDocument */,
|
|
33
|
+
7 /* Messages.Type.CreateDocument */,
|
|
51
34
|
];
|
|
52
35
|
}
|
|
53
36
|
export function CreateElementNode(id, parentID, index, tag, svg) {
|
|
54
37
|
return [
|
|
55
|
-
8 /* CreateElementNode */,
|
|
38
|
+
8 /* Messages.Type.CreateElementNode */,
|
|
56
39
|
id,
|
|
57
40
|
parentID,
|
|
58
41
|
index,
|
|
@@ -62,7 +45,7 @@ export function CreateElementNode(id, parentID, index, tag, svg) {
|
|
|
62
45
|
}
|
|
63
46
|
export function CreateTextNode(id, parentID, index) {
|
|
64
47
|
return [
|
|
65
|
-
9 /* CreateTextNode */,
|
|
48
|
+
9 /* Messages.Type.CreateTextNode */,
|
|
66
49
|
id,
|
|
67
50
|
parentID,
|
|
68
51
|
index,
|
|
@@ -70,7 +53,7 @@ export function CreateTextNode(id, parentID, index) {
|
|
|
70
53
|
}
|
|
71
54
|
export function MoveNode(id, parentID, index) {
|
|
72
55
|
return [
|
|
73
|
-
10 /* MoveNode */,
|
|
56
|
+
10 /* Messages.Type.MoveNode */,
|
|
74
57
|
id,
|
|
75
58
|
parentID,
|
|
76
59
|
index,
|
|
@@ -78,13 +61,13 @@ export function MoveNode(id, parentID, index) {
|
|
|
78
61
|
}
|
|
79
62
|
export function RemoveNode(id) {
|
|
80
63
|
return [
|
|
81
|
-
11 /* RemoveNode */,
|
|
64
|
+
11 /* Messages.Type.RemoveNode */,
|
|
82
65
|
id,
|
|
83
66
|
];
|
|
84
67
|
}
|
|
85
68
|
export function SetNodeAttribute(id, name, value) {
|
|
86
69
|
return [
|
|
87
|
-
12 /* SetNodeAttribute */,
|
|
70
|
+
12 /* Messages.Type.SetNodeAttribute */,
|
|
88
71
|
id,
|
|
89
72
|
name,
|
|
90
73
|
value,
|
|
@@ -92,21 +75,21 @@ export function SetNodeAttribute(id, name, value) {
|
|
|
92
75
|
}
|
|
93
76
|
export function RemoveNodeAttribute(id, name) {
|
|
94
77
|
return [
|
|
95
|
-
13 /* RemoveNodeAttribute */,
|
|
78
|
+
13 /* Messages.Type.RemoveNodeAttribute */,
|
|
96
79
|
id,
|
|
97
80
|
name,
|
|
98
81
|
];
|
|
99
82
|
}
|
|
100
83
|
export function SetNodeData(id, data) {
|
|
101
84
|
return [
|
|
102
|
-
14 /* SetNodeData */,
|
|
85
|
+
14 /* Messages.Type.SetNodeData */,
|
|
103
86
|
id,
|
|
104
87
|
data,
|
|
105
88
|
];
|
|
106
89
|
}
|
|
107
90
|
export function SetNodeScroll(id, x, y) {
|
|
108
91
|
return [
|
|
109
|
-
16 /* SetNodeScroll */,
|
|
92
|
+
16 /* Messages.Type.SetNodeScroll */,
|
|
110
93
|
id,
|
|
111
94
|
x,
|
|
112
95
|
y,
|
|
@@ -114,14 +97,14 @@ export function SetNodeScroll(id, x, y) {
|
|
|
114
97
|
}
|
|
115
98
|
export function SetInputTarget(id, label) {
|
|
116
99
|
return [
|
|
117
|
-
17 /* SetInputTarget */,
|
|
100
|
+
17 /* Messages.Type.SetInputTarget */,
|
|
118
101
|
id,
|
|
119
102
|
label,
|
|
120
103
|
];
|
|
121
104
|
}
|
|
122
105
|
export function SetInputValue(id, value, mask) {
|
|
123
106
|
return [
|
|
124
|
-
18 /* SetInputValue */,
|
|
107
|
+
18 /* Messages.Type.SetInputValue */,
|
|
125
108
|
id,
|
|
126
109
|
value,
|
|
127
110
|
mask,
|
|
@@ -129,28 +112,41 @@ export function SetInputValue(id, value, mask) {
|
|
|
129
112
|
}
|
|
130
113
|
export function SetInputChecked(id, checked) {
|
|
131
114
|
return [
|
|
132
|
-
19 /* SetInputChecked */,
|
|
115
|
+
19 /* Messages.Type.SetInputChecked */,
|
|
133
116
|
id,
|
|
134
117
|
checked,
|
|
135
118
|
];
|
|
136
119
|
}
|
|
137
120
|
export function MouseMove(x, y) {
|
|
138
121
|
return [
|
|
139
|
-
20 /* MouseMove */,
|
|
122
|
+
20 /* Messages.Type.MouseMove */,
|
|
140
123
|
x,
|
|
141
124
|
y,
|
|
142
125
|
];
|
|
143
126
|
}
|
|
127
|
+
export function NetworkRequest(type, method, url, request, response, status, timestamp, duration) {
|
|
128
|
+
return [
|
|
129
|
+
21 /* Messages.Type.NetworkRequest */,
|
|
130
|
+
type,
|
|
131
|
+
method,
|
|
132
|
+
url,
|
|
133
|
+
request,
|
|
134
|
+
response,
|
|
135
|
+
status,
|
|
136
|
+
timestamp,
|
|
137
|
+
duration,
|
|
138
|
+
];
|
|
139
|
+
}
|
|
144
140
|
export function ConsoleLog(level, value) {
|
|
145
141
|
return [
|
|
146
|
-
22 /* ConsoleLog */,
|
|
142
|
+
22 /* Messages.Type.ConsoleLog */,
|
|
147
143
|
level,
|
|
148
144
|
value,
|
|
149
145
|
];
|
|
150
146
|
}
|
|
151
147
|
export function PageLoadTiming(requestStart, responseStart, responseEnd, domContentLoadedEventStart, domContentLoadedEventEnd, loadEventStart, loadEventEnd, firstPaint, firstContentfulPaint) {
|
|
152
148
|
return [
|
|
153
|
-
23 /* PageLoadTiming */,
|
|
149
|
+
23 /* Messages.Type.PageLoadTiming */,
|
|
154
150
|
requestStart,
|
|
155
151
|
responseStart,
|
|
156
152
|
responseEnd,
|
|
@@ -164,49 +160,41 @@ export function PageLoadTiming(requestStart, responseStart, responseEnd, domCont
|
|
|
164
160
|
}
|
|
165
161
|
export function PageRenderTiming(speedIndex, visuallyComplete, timeToInteractive) {
|
|
166
162
|
return [
|
|
167
|
-
24 /* PageRenderTiming */,
|
|
163
|
+
24 /* Messages.Type.PageRenderTiming */,
|
|
168
164
|
speedIndex,
|
|
169
165
|
visuallyComplete,
|
|
170
166
|
timeToInteractive,
|
|
171
167
|
];
|
|
172
168
|
}
|
|
173
|
-
export function
|
|
174
|
-
return [
|
|
175
|
-
25 /* JSExceptionDeprecated */,
|
|
176
|
-
name,
|
|
177
|
-
message,
|
|
178
|
-
payload,
|
|
179
|
-
];
|
|
180
|
-
}
|
|
181
|
-
export function RawCustomEvent(name, payload) {
|
|
169
|
+
export function CustomEvent(name, payload) {
|
|
182
170
|
return [
|
|
183
|
-
27 /*
|
|
171
|
+
27 /* Messages.Type.CustomEvent */,
|
|
184
172
|
name,
|
|
185
173
|
payload,
|
|
186
174
|
];
|
|
187
175
|
}
|
|
188
176
|
export function UserID(id) {
|
|
189
177
|
return [
|
|
190
|
-
28 /* UserID */,
|
|
178
|
+
28 /* Messages.Type.UserID */,
|
|
191
179
|
id,
|
|
192
180
|
];
|
|
193
181
|
}
|
|
194
182
|
export function UserAnonymousID(id) {
|
|
195
183
|
return [
|
|
196
|
-
29 /* UserAnonymousID */,
|
|
184
|
+
29 /* Messages.Type.UserAnonymousID */,
|
|
197
185
|
id,
|
|
198
186
|
];
|
|
199
187
|
}
|
|
200
188
|
export function Metadata(key, value) {
|
|
201
189
|
return [
|
|
202
|
-
30 /* Metadata */,
|
|
190
|
+
30 /* Messages.Type.Metadata */,
|
|
203
191
|
key,
|
|
204
192
|
value,
|
|
205
193
|
];
|
|
206
194
|
}
|
|
207
195
|
export function CSSInsertRule(id, rule, index) {
|
|
208
196
|
return [
|
|
209
|
-
37 /* CSSInsertRule */,
|
|
197
|
+
37 /* Messages.Type.CSSInsertRule */,
|
|
210
198
|
id,
|
|
211
199
|
rule,
|
|
212
200
|
index,
|
|
@@ -214,14 +202,14 @@ export function CSSInsertRule(id, rule, index) {
|
|
|
214
202
|
}
|
|
215
203
|
export function CSSDeleteRule(id, index) {
|
|
216
204
|
return [
|
|
217
|
-
38 /* CSSDeleteRule */,
|
|
205
|
+
38 /* Messages.Type.CSSDeleteRule */,
|
|
218
206
|
id,
|
|
219
207
|
index,
|
|
220
208
|
];
|
|
221
209
|
}
|
|
222
210
|
export function Fetch(method, url, request, response, status, timestamp, duration) {
|
|
223
211
|
return [
|
|
224
|
-
39 /* Fetch */,
|
|
212
|
+
39 /* Messages.Type.Fetch */,
|
|
225
213
|
method,
|
|
226
214
|
url,
|
|
227
215
|
request,
|
|
@@ -233,7 +221,7 @@ export function Fetch(method, url, request, response, status, timestamp, duratio
|
|
|
233
221
|
}
|
|
234
222
|
export function Profiler(name, duration, args, result) {
|
|
235
223
|
return [
|
|
236
|
-
40 /* Profiler */,
|
|
224
|
+
40 /* Messages.Type.Profiler */,
|
|
237
225
|
name,
|
|
238
226
|
duration,
|
|
239
227
|
args,
|
|
@@ -242,20 +230,20 @@ export function Profiler(name, duration, args, result) {
|
|
|
242
230
|
}
|
|
243
231
|
export function OTable(key, value) {
|
|
244
232
|
return [
|
|
245
|
-
41 /* OTable */,
|
|
233
|
+
41 /* Messages.Type.OTable */,
|
|
246
234
|
key,
|
|
247
235
|
value,
|
|
248
236
|
];
|
|
249
237
|
}
|
|
250
238
|
export function StateAction(type) {
|
|
251
239
|
return [
|
|
252
|
-
42 /* StateAction */,
|
|
240
|
+
42 /* Messages.Type.StateAction */,
|
|
253
241
|
type,
|
|
254
242
|
];
|
|
255
243
|
}
|
|
256
244
|
export function Redux(action, state, duration) {
|
|
257
245
|
return [
|
|
258
|
-
44 /* Redux */,
|
|
246
|
+
44 /* Messages.Type.Redux */,
|
|
259
247
|
action,
|
|
260
248
|
state,
|
|
261
249
|
duration,
|
|
@@ -263,21 +251,21 @@ export function Redux(action, state, duration) {
|
|
|
263
251
|
}
|
|
264
252
|
export function Vuex(mutation, state) {
|
|
265
253
|
return [
|
|
266
|
-
45 /* Vuex */,
|
|
254
|
+
45 /* Messages.Type.Vuex */,
|
|
267
255
|
mutation,
|
|
268
256
|
state,
|
|
269
257
|
];
|
|
270
258
|
}
|
|
271
259
|
export function MobX(type, payload) {
|
|
272
260
|
return [
|
|
273
|
-
46 /* MobX */,
|
|
261
|
+
46 /* Messages.Type.MobX */,
|
|
274
262
|
type,
|
|
275
263
|
payload,
|
|
276
264
|
];
|
|
277
265
|
}
|
|
278
266
|
export function NgRx(action, state, duration) {
|
|
279
267
|
return [
|
|
280
|
-
47 /* NgRx */,
|
|
268
|
+
47 /* Messages.Type.NgRx */,
|
|
281
269
|
action,
|
|
282
270
|
state,
|
|
283
271
|
duration,
|
|
@@ -285,7 +273,7 @@ export function NgRx(action, state, duration) {
|
|
|
285
273
|
}
|
|
286
274
|
export function GraphQL(operationKind, operationName, variables, response) {
|
|
287
275
|
return [
|
|
288
|
-
48 /* GraphQL */,
|
|
276
|
+
48 /* Messages.Type.GraphQL */,
|
|
289
277
|
operationKind,
|
|
290
278
|
operationName,
|
|
291
279
|
variables,
|
|
@@ -294,16 +282,31 @@ export function GraphQL(operationKind, operationName, variables, response) {
|
|
|
294
282
|
}
|
|
295
283
|
export function PerformanceTrack(frames, ticks, totalJSHeapSize, usedJSHeapSize) {
|
|
296
284
|
return [
|
|
297
|
-
49 /* PerformanceTrack */,
|
|
285
|
+
49 /* Messages.Type.PerformanceTrack */,
|
|
298
286
|
frames,
|
|
299
287
|
ticks,
|
|
300
288
|
totalJSHeapSize,
|
|
301
289
|
usedJSHeapSize,
|
|
302
290
|
];
|
|
303
291
|
}
|
|
292
|
+
export function StringDict(key, value) {
|
|
293
|
+
return [
|
|
294
|
+
50 /* Messages.Type.StringDict */,
|
|
295
|
+
key,
|
|
296
|
+
value,
|
|
297
|
+
];
|
|
298
|
+
}
|
|
299
|
+
export function SetNodeAttributeDict(id, nameKey, valueKey) {
|
|
300
|
+
return [
|
|
301
|
+
51 /* Messages.Type.SetNodeAttributeDict */,
|
|
302
|
+
id,
|
|
303
|
+
nameKey,
|
|
304
|
+
valueKey,
|
|
305
|
+
];
|
|
306
|
+
}
|
|
304
307
|
export function ResourceTiming(timestamp, duration, ttfb, headerSize, encodedBodySize, decodedBodySize, url, initiator) {
|
|
305
308
|
return [
|
|
306
|
-
53 /* ResourceTiming */,
|
|
309
|
+
53 /* Messages.Type.ResourceTiming */,
|
|
307
310
|
timestamp,
|
|
308
311
|
duration,
|
|
309
312
|
ttfb,
|
|
@@ -316,20 +319,20 @@ export function ResourceTiming(timestamp, duration, ttfb, headerSize, encodedBod
|
|
|
316
319
|
}
|
|
317
320
|
export function ConnectionInformation(downlink, type) {
|
|
318
321
|
return [
|
|
319
|
-
54 /* ConnectionInformation */,
|
|
322
|
+
54 /* Messages.Type.ConnectionInformation */,
|
|
320
323
|
downlink,
|
|
321
324
|
type,
|
|
322
325
|
];
|
|
323
326
|
}
|
|
324
327
|
export function SetPageVisibility(hidden) {
|
|
325
328
|
return [
|
|
326
|
-
55 /* SetPageVisibility */,
|
|
329
|
+
55 /* Messages.Type.SetPageVisibility */,
|
|
327
330
|
hidden,
|
|
328
331
|
];
|
|
329
332
|
}
|
|
330
333
|
export function LoadFontFace(parentID, family, source, descriptors) {
|
|
331
334
|
return [
|
|
332
|
-
57 /* LoadFontFace */,
|
|
335
|
+
57 /* Messages.Type.LoadFontFace */,
|
|
333
336
|
parentID,
|
|
334
337
|
family,
|
|
335
338
|
source,
|
|
@@ -338,13 +341,13 @@ export function LoadFontFace(parentID, family, source, descriptors) {
|
|
|
338
341
|
}
|
|
339
342
|
export function SetNodeFocus(id) {
|
|
340
343
|
return [
|
|
341
|
-
58 /* SetNodeFocus */,
|
|
344
|
+
58 /* Messages.Type.SetNodeFocus */,
|
|
342
345
|
id,
|
|
343
346
|
];
|
|
344
347
|
}
|
|
345
348
|
export function LongTask(timestamp, duration, context, containerType, containerSrc, containerId, containerName) {
|
|
346
349
|
return [
|
|
347
|
-
59 /* LongTask */,
|
|
350
|
+
59 /* Messages.Type.LongTask */,
|
|
348
351
|
timestamp,
|
|
349
352
|
duration,
|
|
350
353
|
context,
|
|
@@ -356,7 +359,7 @@ export function LongTask(timestamp, duration, context, containerType, containerS
|
|
|
356
359
|
}
|
|
357
360
|
export function SetNodeAttributeURLBased(id, name, value, baseURL) {
|
|
358
361
|
return [
|
|
359
|
-
60 /* SetNodeAttributeURLBased */,
|
|
362
|
+
60 /* Messages.Type.SetNodeAttributeURLBased */,
|
|
360
363
|
id,
|
|
361
364
|
name,
|
|
362
365
|
value,
|
|
@@ -365,7 +368,7 @@ export function SetNodeAttributeURLBased(id, name, value, baseURL) {
|
|
|
365
368
|
}
|
|
366
369
|
export function SetCSSDataURLBased(id, data, baseURL) {
|
|
367
370
|
return [
|
|
368
|
-
61 /* SetCSSDataURLBased */,
|
|
371
|
+
61 /* Messages.Type.SetCSSDataURLBased */,
|
|
369
372
|
id,
|
|
370
373
|
data,
|
|
371
374
|
baseURL,
|
|
@@ -373,21 +376,21 @@ export function SetCSSDataURLBased(id, data, baseURL) {
|
|
|
373
376
|
}
|
|
374
377
|
export function TechnicalInfo(type, value) {
|
|
375
378
|
return [
|
|
376
|
-
63 /* TechnicalInfo */,
|
|
379
|
+
63 /* Messages.Type.TechnicalInfo */,
|
|
377
380
|
type,
|
|
378
381
|
value,
|
|
379
382
|
];
|
|
380
383
|
}
|
|
381
384
|
export function CustomIssue(name, payload) {
|
|
382
385
|
return [
|
|
383
|
-
64 /* CustomIssue */,
|
|
386
|
+
64 /* Messages.Type.CustomIssue */,
|
|
384
387
|
name,
|
|
385
388
|
payload,
|
|
386
389
|
];
|
|
387
390
|
}
|
|
388
391
|
export function CSSInsertRuleURLBased(id, rule, index, baseURL) {
|
|
389
392
|
return [
|
|
390
|
-
67 /* CSSInsertRuleURLBased */,
|
|
393
|
+
67 /* Messages.Type.CSSInsertRuleURLBased */,
|
|
391
394
|
id,
|
|
392
395
|
rule,
|
|
393
396
|
index,
|
|
@@ -396,7 +399,7 @@ export function CSSInsertRuleURLBased(id, rule, index, baseURL) {
|
|
|
396
399
|
}
|
|
397
400
|
export function MouseClick(id, hesitationTime, label, selector) {
|
|
398
401
|
return [
|
|
399
|
-
69 /* MouseClick */,
|
|
402
|
+
69 /* Messages.Type.MouseClick */,
|
|
400
403
|
id,
|
|
401
404
|
hesitationTime,
|
|
402
405
|
label,
|
|
@@ -405,14 +408,14 @@ export function MouseClick(id, hesitationTime, label, selector) {
|
|
|
405
408
|
}
|
|
406
409
|
export function CreateIFrameDocument(frameID, id) {
|
|
407
410
|
return [
|
|
408
|
-
70 /* CreateIFrameDocument */,
|
|
411
|
+
70 /* Messages.Type.CreateIFrameDocument */,
|
|
409
412
|
frameID,
|
|
410
413
|
id,
|
|
411
414
|
];
|
|
412
415
|
}
|
|
413
416
|
export function AdoptedSSReplaceURLBased(sheetID, text, baseURL) {
|
|
414
417
|
return [
|
|
415
|
-
71 /* AdoptedSSReplaceURLBased */,
|
|
418
|
+
71 /* Messages.Type.AdoptedSSReplaceURLBased */,
|
|
416
419
|
sheetID,
|
|
417
420
|
text,
|
|
418
421
|
baseURL,
|
|
@@ -420,7 +423,7 @@ export function AdoptedSSReplaceURLBased(sheetID, text, baseURL) {
|
|
|
420
423
|
}
|
|
421
424
|
export function AdoptedSSInsertRuleURLBased(sheetID, rule, index, baseURL) {
|
|
422
425
|
return [
|
|
423
|
-
73 /* AdoptedSSInsertRuleURLBased */,
|
|
426
|
+
73 /* Messages.Type.AdoptedSSInsertRuleURLBased */,
|
|
424
427
|
sheetID,
|
|
425
428
|
rule,
|
|
426
429
|
index,
|
|
@@ -429,38 +432,55 @@ export function AdoptedSSInsertRuleURLBased(sheetID, rule, index, baseURL) {
|
|
|
429
432
|
}
|
|
430
433
|
export function AdoptedSSDeleteRule(sheetID, index) {
|
|
431
434
|
return [
|
|
432
|
-
75 /* AdoptedSSDeleteRule */,
|
|
435
|
+
75 /* Messages.Type.AdoptedSSDeleteRule */,
|
|
433
436
|
sheetID,
|
|
434
437
|
index,
|
|
435
438
|
];
|
|
436
439
|
}
|
|
437
440
|
export function AdoptedSSAddOwner(sheetID, id) {
|
|
438
441
|
return [
|
|
439
|
-
76 /* AdoptedSSAddOwner */,
|
|
442
|
+
76 /* Messages.Type.AdoptedSSAddOwner */,
|
|
440
443
|
sheetID,
|
|
441
444
|
id,
|
|
442
445
|
];
|
|
443
446
|
}
|
|
444
447
|
export function AdoptedSSRemoveOwner(sheetID, id) {
|
|
445
448
|
return [
|
|
446
|
-
77 /* AdoptedSSRemoveOwner */,
|
|
449
|
+
77 /* Messages.Type.AdoptedSSRemoveOwner */,
|
|
447
450
|
sheetID,
|
|
448
451
|
id,
|
|
449
452
|
];
|
|
450
453
|
}
|
|
454
|
+
export function JSException(name, message, payload, metadata) {
|
|
455
|
+
return [
|
|
456
|
+
78 /* Messages.Type.JSException */,
|
|
457
|
+
name,
|
|
458
|
+
message,
|
|
459
|
+
payload,
|
|
460
|
+
metadata,
|
|
461
|
+
];
|
|
462
|
+
}
|
|
451
463
|
export function Zustand(mutation, state) {
|
|
452
464
|
return [
|
|
453
|
-
79 /* Zustand */,
|
|
465
|
+
79 /* Messages.Type.Zustand */,
|
|
454
466
|
mutation,
|
|
455
467
|
state,
|
|
456
468
|
];
|
|
457
469
|
}
|
|
458
|
-
export function
|
|
470
|
+
export function BatchMetadata(version, pageNo, firstIndex, timestamp, location) {
|
|
459
471
|
return [
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
472
|
+
81 /* Messages.Type.BatchMetadata */,
|
|
473
|
+
version,
|
|
474
|
+
pageNo,
|
|
475
|
+
firstIndex,
|
|
476
|
+
timestamp,
|
|
477
|
+
location,
|
|
478
|
+
];
|
|
479
|
+
}
|
|
480
|
+
export function PartitionedMessage(partNo, partTotal) {
|
|
481
|
+
return [
|
|
482
|
+
82 /* Messages.Type.PartitionedMessage */,
|
|
483
|
+
partNo,
|
|
484
|
+
partTotal,
|
|
465
485
|
];
|
|
466
486
|
}
|
package/lib/app/nodes.d.ts
CHANGED
|
@@ -123,7 +123,7 @@ export default class Observer {
|
|
|
123
123
|
return;
|
|
124
124
|
}
|
|
125
125
|
if (name === 'value' &&
|
|
126
|
-
hasTag(node, '
|
|
126
|
+
hasTag(node, 'input') &&
|
|
127
127
|
node.type !== 'button' &&
|
|
128
128
|
node.type !== 'reset' &&
|
|
129
129
|
node.type !== 'submit') {
|
|
@@ -133,7 +133,7 @@ export default class Observer {
|
|
|
133
133
|
this.app.send(RemoveNodeAttribute(id, name));
|
|
134
134
|
return;
|
|
135
135
|
}
|
|
136
|
-
if (name === 'style' || (name === 'href' && hasTag(node, '
|
|
136
|
+
if (name === 'style' || (name === 'href' && hasTag(node, 'link'))) {
|
|
137
137
|
this.app.send(SetNodeAttributeURLBased(id, name, value, this.app.getBaseHref()));
|
|
138
138
|
return;
|
|
139
139
|
}
|
|
@@ -143,7 +143,7 @@ export default class Observer {
|
|
|
143
143
|
this.app.send(SetNodeAttribute(id, name, value));
|
|
144
144
|
}
|
|
145
145
|
sendNodeData(id, parentElement, data) {
|
|
146
|
-
if (hasTag(parentElement, '
|
|
146
|
+
if (hasTag(parentElement, 'style')) {
|
|
147
147
|
this.app.send(SetCSSDataURLBased(id, data, this.app.getBaseHref()));
|
|
148
148
|
return;
|
|
149
149
|
}
|
|
@@ -204,7 +204,7 @@ export default class Observer {
|
|
|
204
204
|
// Disable parent check for the upper context HTMLHtmlElement, because it is root there... (before)
|
|
205
205
|
// TODO: get rid of "special" cases (there is an issue with CreateDocument altered behaviour though)
|
|
206
206
|
// TODO: Clean the logic (though now it workd fine)
|
|
207
|
-
if (!hasTag(node, '
|
|
207
|
+
if (!hasTag(node, 'html') || !this.isTopContext) {
|
|
208
208
|
if (parent === null) {
|
|
209
209
|
// Sometimes one observation contains attribute mutations for the removimg node, which gets ignored here.
|
|
210
210
|
// That shouldn't affect the visual rendering ( should it? maybe when transition applied? )
|
|
@@ -312,7 +312,7 @@ export default class Observer {
|
|
|
312
312
|
});
|
|
313
313
|
this.clear();
|
|
314
314
|
}
|
|
315
|
-
// ISSSUE (nodeToBinde should be the same as node. Look at the comment about 0-node at the beginning of the file.)
|
|
315
|
+
// ISSSUE (nodeToBinde should be the same as node in all cases. Look at the comment about 0-node at the beginning of the file.)
|
|
316
316
|
// TODO: use one observer instance for all iframes/shadowRoots (composition instiad of inheritance)
|
|
317
317
|
observeRoot(node, beforeCommit, nodeToBind = node) {
|
|
318
318
|
this.observer.observe(node, {
|
|
@@ -4,8 +4,8 @@ import App from '../index.js';
|
|
|
4
4
|
export interface Options {
|
|
5
5
|
captureIFrames: boolean;
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
type Context = Window & typeof globalThis;
|
|
8
|
+
type ContextCallback = (context: Context) => void;
|
|
9
9
|
export default class TopObserver extends Observer {
|
|
10
10
|
private readonly options;
|
|
11
11
|
private readonly iframeOffsets;
|
|
@@ -20,7 +20,7 @@ export default class TopObserver extends Observer {
|
|
|
20
20
|
}, options);
|
|
21
21
|
// IFrames
|
|
22
22
|
this.app.nodes.attachNodeCallback((node) => {
|
|
23
|
-
if (hasTag(node, '
|
|
23
|
+
if (hasTag(node, 'iframe') &&
|
|
24
24
|
((this.options.captureIFrames && !hasOpenreplayAttribute(node, 'obscured')) ||
|
|
25
25
|
hasOpenreplayAttribute(node, 'capture'))) {
|
|
26
26
|
this.handleIframe(node);
|