fix(sio-recorder): solve full checkouts for consistent recordings
This commit is contained in:
parent
39e94a11f8
commit
1d799532e9
@ -1,5 +1,12 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2025-01-26 - 1.2.2 - fix(sio-recorder)
|
||||||
|
Fixed the recording loop and ensured it stops correctly
|
||||||
|
|
||||||
|
- Added an await for domtoolsPromise in startRecording method.
|
||||||
|
- Introduced a while loop to manage the recording status effectively.
|
||||||
|
- Added delay and stop function call within the loop to manage record sessions.
|
||||||
|
|
||||||
## 2025-01-25 - 1.2.1 - fix(sio-recorder)
|
## 2025-01-25 - 1.2.1 - fix(sio-recorder)
|
||||||
Enhance styling and positioning for rrweb player elements in SioRecorder component.
|
Enhance styling and positioning for rrweb player elements in SioRecorder component.
|
||||||
|
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@social.io/catalog',
|
name: '@social.io/catalog',
|
||||||
version: '1.2.1',
|
version: '1.2.2',
|
||||||
description: 'catalog for social.io'
|
description: 'catalog for social.io'
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,11 @@ export class SioRecorder extends DeesElement {
|
|||||||
*/
|
*/
|
||||||
private events: IRecordingEvent[] = [];
|
private events: IRecordingEvent[] = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* status
|
||||||
|
*/
|
||||||
|
public status: 'recording' | 'playing' | 'stopped' = 'stopped';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A reference to rrweb's stop recording function.
|
* A reference to rrweb's stop recording function.
|
||||||
* We'll store it when we begin a record session so we can call it later.
|
* We'll store it when we begin a record session so we can call it later.
|
||||||
@ -59,9 +64,7 @@ export class SioRecorder extends DeesElement {
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return html`
|
return html` <div id="playback"></div> `;
|
||||||
<div id="playback"></div>
|
|
||||||
`;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -101,10 +104,13 @@ export class SioRecorder extends DeesElement {
|
|||||||
* Starts an rrweb recording session that tracks the entire DOM,
|
* Starts an rrweb recording session that tracks the entire DOM,
|
||||||
* including canvases and cross-origin iframes (if permissible).
|
* including canvases and cross-origin iframes (if permissible).
|
||||||
*/
|
*/
|
||||||
private startRecording(): void {
|
private async startRecording(): void {
|
||||||
|
await this.domtoolsPromise;
|
||||||
|
this.status = 'recording';
|
||||||
this.events = [];
|
this.events = [];
|
||||||
|
|
||||||
// For capturing "everything," enable advanced flags:
|
// For capturing "everything," enable advanced flags:
|
||||||
|
while (this.status === 'recording') {
|
||||||
this.stopFn = rrweb.record({
|
this.stopFn = rrweb.record({
|
||||||
emit: (event: any) => {
|
emit: (event: any) => {
|
||||||
// If you have a stricter type:
|
// If you have a stricter type:
|
||||||
@ -118,6 +124,9 @@ export class SioRecorder extends DeesElement {
|
|||||||
|
|
||||||
// checkoutEveryNms: 1000, // check every N milliseconds
|
// checkoutEveryNms: 1000, // check every N milliseconds
|
||||||
});
|
});
|
||||||
|
await this.domtools.convenience.smartdelay.delayFor(1000);
|
||||||
|
await this.stopFn();
|
||||||
|
}
|
||||||
|
|
||||||
console.log('Recording has started...');
|
console.log('Recording has started...');
|
||||||
}
|
}
|
||||||
@ -147,7 +156,6 @@ export class SioRecorder extends DeesElement {
|
|||||||
showController: false,
|
showController: false,
|
||||||
width: this.playbackDiv.offsetWidth,
|
width: this.playbackDiv.offsetWidth,
|
||||||
height: this.playbackDiv.offsetHeight,
|
height: this.playbackDiv.offsetHeight,
|
||||||
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
this.domtools.convenience.smartdelay.delayFor(0).then(async () => {
|
this.domtools.convenience.smartdelay.delayFor(0).then(async () => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user