@betterbugs/rrvideo 2.0.0-alpha.20 → 2.0.0-alpha.21
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/build/index.js +60 -17
- package/build/index.js.map +1 -1
- package/package.json +3 -3
package/build/index.js
CHANGED
|
@@ -69,20 +69,25 @@ function getHtml(events, config) {
|
|
|
69
69
|
const events = ${JSON.stringify(events).replace(/<\/script>/g, '<\\/script>')};
|
|
70
70
|
/*-->*/
|
|
71
71
|
const userConfig = ${JSON.stringify((config === null || config === void 0 ? void 0 : config.rrwebPlayer) || {})};
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
72
|
+
try {
|
|
73
|
+
window.replayer = new rrwebPlayer({
|
|
74
|
+
target: document.body,
|
|
75
|
+
props: {
|
|
76
|
+
...userConfig,
|
|
77
|
+
events,
|
|
78
|
+
showController: false,
|
|
79
|
+
autoPlay: false,
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
window.replayer.addEventListener('finish', () => window.onReplayFinish());
|
|
83
|
+
window.replayer.addEventListener('ui-update-progress', (payload)=> window.onReplayProgressUpdate(payload));
|
|
84
|
+
window.replayer.addEventListener('resize', () => document.querySelector('.replayer-wrapper').style.transform = 'scale(${((_a = config === null || config === void 0 ? void 0 : config.resolutionRatio) !== null && _a !== void 0 ? _a : 1) * MaxScaleValue}) translate(-50%, -50%)');
|
|
85
|
+
// Start playback after event listeners are attached
|
|
86
|
+
window.replayer.play();
|
|
87
|
+
} catch (error) {
|
|
88
|
+
console.error('Error initializing replayer:', error);
|
|
89
|
+
window.onReplayFinish();
|
|
90
|
+
}
|
|
86
91
|
</script>
|
|
87
92
|
</body>
|
|
88
93
|
</html>
|
|
@@ -146,13 +151,51 @@ function transformToVideo(options) {
|
|
|
146
151
|
});
|
|
147
152
|
const page = yield context.newPage();
|
|
148
153
|
yield page.goto('about:blank');
|
|
154
|
+
// Listen to console messages from the page
|
|
155
|
+
page.on('console', (msg) => {
|
|
156
|
+
console.log('[PAGE CONSOLE]', msg.type(), msg.text());
|
|
157
|
+
});
|
|
158
|
+
// Listen to page errors
|
|
159
|
+
page.on('pageerror', (error) => {
|
|
160
|
+
console.error('[PAGE ERROR]', error.message);
|
|
161
|
+
});
|
|
149
162
|
yield page.exposeFunction('onReplayProgressUpdate', (data) => {
|
|
150
163
|
config.onProgressUpdate(data.payload);
|
|
151
164
|
});
|
|
152
165
|
// Wait for the replay to finish
|
|
153
|
-
yield new Promise((resolve) =>
|
|
154
|
-
|
|
155
|
-
|
|
166
|
+
yield new Promise((resolve, reject) => {
|
|
167
|
+
var _a, _b, _c;
|
|
168
|
+
const timeoutBuffer = 120000; // 2 minute timeout buffer
|
|
169
|
+
const videoStartTime = (_a = events[0]) === null || _a === void 0 ? void 0 : _a.timestamp;
|
|
170
|
+
const videoEndTime = (_b = events[events.length - 1]) === null || _b === void 0 ? void 0 : _b.timestamp;
|
|
171
|
+
const videoDuration = videoEndTime - videoStartTime;
|
|
172
|
+
const videoPlaybackSpeed = ((_c = options.rrwebPlayer) === null || _c === void 0 ? void 0 : _c.speed) || 1;
|
|
173
|
+
const expectedPlaybackTime = videoDuration / videoPlaybackSpeed;
|
|
174
|
+
console.log(`[DEBUG] Expected playback time: ${expectedPlaybackTime}ms (video duration: ${videoDuration}ms, playback speed: ${videoPlaybackSpeed}x)`);
|
|
175
|
+
const totalTimeout = expectedPlaybackTime + timeoutBuffer;
|
|
176
|
+
const timeout = setTimeout(() => {
|
|
177
|
+
console.error('[DEBUG] Replay timeout - finish event never fired');
|
|
178
|
+
reject(new Error('Replay timeout'));
|
|
179
|
+
}, totalTimeout); // playback + 2 minute timeout
|
|
180
|
+
void page
|
|
181
|
+
.exposeFunction('onReplayFinish', () => {
|
|
182
|
+
console.log('[DEBUG] Replay finished');
|
|
183
|
+
clearTimeout(timeout);
|
|
184
|
+
resolve();
|
|
185
|
+
})
|
|
186
|
+
.then(() => {
|
|
187
|
+
console.log('[DEBUG] Setting page content');
|
|
188
|
+
return page.setContent(getHtml(events, config));
|
|
189
|
+
})
|
|
190
|
+
.then(() => {
|
|
191
|
+
console.log('[DEBUG] Page content set successfully');
|
|
192
|
+
})
|
|
193
|
+
.catch((err) => {
|
|
194
|
+
console.error('[DEBUG] Error setting page content:', err);
|
|
195
|
+
clearTimeout(timeout);
|
|
196
|
+
reject(err);
|
|
197
|
+
});
|
|
198
|
+
});
|
|
156
199
|
const videoPath = (yield ((_c = page.video()) === null || _c === void 0 ? void 0 : _c.path())) || '';
|
|
157
200
|
const cleanFiles = (videoPath) => __awaiter(this, void 0, void 0, function* () {
|
|
158
201
|
yield fs.remove(videoPath);
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,2CAA6B;AAC7B,2CAAsC;AACtC,6CAA6D;AAG7D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAClC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAC3C,iCAAiC,CAClC,CAAC;AACF,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AACrE,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAC3D,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC5D,wFAAwF;AACxF,MAAM,aAAa,GAAG,GAAG,CAAC;AAgB1B,MAAM,aAAa,GAA4B;IAC7C,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,qBAAqB;IAC7B,QAAQ,EAAE,IAAI;IACd,wDAAwD;IACxD,eAAe,EAAE,GAAG;IACpB,gBAAgB,EAAE,GAAG,EAAE;QACrB,EAAE;IACJ,CAAC;IACD,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,SAAS,OAAO,CAAC,MAA4B,EAAE,MAAsB;;IACnE,OAAO;;;WAGE,UAAU;;;;;QAKb,QAAQ;;uBAEO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAC7C,aAAa,EACb,aAAa,CACd;;2BAEoB,IAAI,CAAC,SAAS,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,KAAI,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@betterbugs/rrvideo",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.21",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
"@types/node": "^18.15.11",
|
|
39
39
|
"jest": "^27.5.1",
|
|
40
40
|
"ts-jest": "^27.1.3",
|
|
41
|
-
"@betterbugs/types": "^2.0.0-alpha.
|
|
41
|
+
"@betterbugs/types": "^2.0.0-alpha.21"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@open-tech-world/cli-progress-bar": "^2.0.2",
|
|
45
45
|
"fs-extra": "^11.1.1",
|
|
46
46
|
"minimist": "^1.2.5",
|
|
47
47
|
"playwright": "^1.32.1",
|
|
48
|
-
"@betterbugs/rrweb-player": "^2.0.0-alpha.
|
|
48
|
+
"@betterbugs/rrweb-player": "^2.0.0-alpha.21"
|
|
49
49
|
}
|
|
50
50
|
}
|