@multiplayer-app/session-recorder-react-native 1.3.37 → 2.0.17-alpha.10
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/package.json +4 -4
- package/src/NativeSessionRecorderModule.ts +4 -2
- package/src/NativeSessionRecorderModuleSpec.ts +4 -2
- package/src/NativeSessionRecorderNative.ts +1 -1
- package/src/index.ts +0 -1
- package/src/otel/instrumentations/index.ts +22 -22
- package/src/session-recorder.ts +4 -0
- package/src/types/configs.ts +1 -2
- package/lib/module/NativeSessionRecorderModule.js +0 -5
- package/lib/module/NativeSessionRecorderModule.js.map +0 -1
- package/lib/module/NativeSessionRecorderModuleSpec.js +0 -5
- package/lib/module/NativeSessionRecorderModuleSpec.js.map +0 -1
- package/lib/module/NativeSessionRecorderNative.js +0 -5
- package/lib/module/NativeSessionRecorderNative.js.map +0 -1
- package/lib/module/components/ErrorBoundary.js +0 -32
- package/lib/module/components/ErrorBoundary.js.map +0 -1
- package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js +0 -23
- package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js.map +0 -1
- package/lib/module/components/ScreenRecorderView/index.js +0 -4
- package/lib/module/components/ScreenRecorderView/index.js.map +0 -1
- package/lib/module/components/SessionRecorderWidget/ErrorBanner.js +0 -64
- package/lib/module/components/SessionRecorderWidget/ErrorBanner.js.map +0 -1
- package/lib/module/components/SessionRecorderWidget/FinalPopover.js +0 -74
- package/lib/module/components/SessionRecorderWidget/FinalPopover.js.map +0 -1
- package/lib/module/components/SessionRecorderWidget/FloatingButton.js +0 -191
- package/lib/module/components/SessionRecorderWidget/FloatingButton.js.map +0 -1
- package/lib/module/components/SessionRecorderWidget/InitialPopover.js +0 -138
- package/lib/module/components/SessionRecorderWidget/InitialPopover.js.map +0 -1
- package/lib/module/components/SessionRecorderWidget/ModalContainer.js +0 -177
- package/lib/module/components/SessionRecorderWidget/ModalContainer.js.map +0 -1
- package/lib/module/components/SessionRecorderWidget/ModalHeader.js +0 -27
- package/lib/module/components/SessionRecorderWidget/ModalHeader.js.map +0 -1
- package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js +0 -133
- package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js.map +0 -1
- package/lib/module/components/SessionRecorderWidget/icons.js +0 -93
- package/lib/module/components/SessionRecorderWidget/icons.js.map +0 -1
- package/lib/module/components/SessionRecorderWidget/index.js +0 -5
- package/lib/module/components/SessionRecorderWidget/index.js.map +0 -1
- package/lib/module/components/SessionRecorderWidget/styles.js +0 -173
- package/lib/module/components/SessionRecorderWidget/styles.js.map +0 -1
- package/lib/module/components/index.js +0 -6
- package/lib/module/components/index.js.map +0 -1
- package/lib/module/config/constants.js +0 -47
- package/lib/module/config/constants.js.map +0 -1
- package/lib/module/config/defaults.js +0 -87
- package/lib/module/config/defaults.js.map +0 -1
- package/lib/module/config/index.js +0 -9
- package/lib/module/config/index.js.map +0 -1
- package/lib/module/config/masking.js +0 -35
- package/lib/module/config/masking.js.map +0 -1
- package/lib/module/config/session-recorder.js +0 -50
- package/lib/module/config/session-recorder.js.map +0 -1
- package/lib/module/config/validators.js +0 -28
- package/lib/module/config/validators.js.map +0 -1
- package/lib/module/config/widget.js +0 -35
- package/lib/module/config/widget.js.map +0 -1
- package/lib/module/context/SessionRecorderContext.js +0 -100
- package/lib/module/context/SessionRecorderContext.js.map +0 -1
- package/lib/module/context/SessionRecorderStore.js +0 -12
- package/lib/module/context/SessionRecorderStore.js.map +0 -1
- package/lib/module/context/createStore.js +0 -27
- package/lib/module/context/createStore.js.map +0 -1
- package/lib/module/context/useSessionRecorderStore.js +0 -45
- package/lib/module/context/useSessionRecorderStore.js.map +0 -1
- package/lib/module/context/useStoreSelector.js +0 -27
- package/lib/module/context/useStoreSelector.js.map +0 -1
- package/lib/module/index.js +0 -14
- package/lib/module/index.js.map +0 -1
- package/lib/module/native/SessionRecorderNative.js +0 -76
- package/lib/module/native/SessionRecorderNative.js.map +0 -1
- package/lib/module/native/index.js +0 -4
- package/lib/module/native/index.js.map +0 -1
- package/lib/module/otel/CrashBufferSpanProcessor.js +0 -42
- package/lib/module/otel/CrashBufferSpanProcessor.js.map +0 -1
- package/lib/module/otel/helpers.js +0 -218
- package/lib/module/otel/helpers.js.map +0 -1
- package/lib/module/otel/index.js +0 -202
- package/lib/module/otel/index.js.map +0 -1
- package/lib/module/otel/instrumentations/index.js +0 -122
- package/lib/module/otel/instrumentations/index.js.map +0 -1
- package/lib/module/package.json +0 -1
- package/lib/module/patch/configs.js +0 -18
- package/lib/module/patch/configs.js.map +0 -1
- package/lib/module/patch/fetch.js +0 -222
- package/lib/module/patch/fetch.js.map +0 -1
- package/lib/module/patch/index.js +0 -6
- package/lib/module/patch/index.js.map +0 -1
- package/lib/module/patch/xhr.js +0 -100
- package/lib/module/patch/xhr.js.map +0 -1
- package/lib/module/recorder/gestureRecorder.js +0 -641
- package/lib/module/recorder/gestureRecorder.js.map +0 -1
- package/lib/module/recorder/index.js +0 -176
- package/lib/module/recorder/index.js.map +0 -1
- package/lib/module/recorder/navigationRecorder.js +0 -238
- package/lib/module/recorder/navigationRecorder.js.map +0 -1
- package/lib/module/recorder/screenRecorder.js +0 -527
- package/lib/module/recorder/screenRecorder.js.map +0 -1
- package/lib/module/services/api.service.js +0 -166
- package/lib/module/services/api.service.js.map +0 -1
- package/lib/module/services/crashBuffer.service.js +0 -280
- package/lib/module/services/crashBuffer.service.js.map +0 -1
- package/lib/module/services/network.service.js +0 -178
- package/lib/module/services/network.service.js.map +0 -1
- package/lib/module/services/screenRecordingService.js +0 -107
- package/lib/module/services/screenRecordingService.js.map +0 -1
- package/lib/module/services/socket.service.js +0 -186
- package/lib/module/services/socket.service.js.map +0 -1
- package/lib/module/services/storage.service.js +0 -178
- package/lib/module/services/storage.service.js.map +0 -1
- package/lib/module/session-recorder.js +0 -750
- package/lib/module/session-recorder.js.map +0 -1
- package/lib/module/types/configs.js +0 -4
- package/lib/module/types/configs.js.map +0 -1
- package/lib/module/types/expo-constants.d.js +0 -2
- package/lib/module/types/expo-constants.d.js.map +0 -1
- package/lib/module/types/index.js +0 -10
- package/lib/module/types/index.js.map +0 -1
- package/lib/module/types/session-recorder.js +0 -68
- package/lib/module/types/session-recorder.js.map +0 -1
- package/lib/module/utils/app-metadata.js +0 -28
- package/lib/module/utils/app-metadata.js.map +0 -1
- package/lib/module/utils/constants.optional.expo.js +0 -6
- package/lib/module/utils/constants.optional.expo.js.map +0 -1
- package/lib/module/utils/constants.optional.js +0 -8
- package/lib/module/utils/constants.optional.js.map +0 -1
- package/lib/module/utils/index.js +0 -11
- package/lib/module/utils/index.js.map +0 -1
- package/lib/module/utils/logger.js +0 -185
- package/lib/module/utils/logger.js.map +0 -1
- package/lib/module/utils/platform.js +0 -340
- package/lib/module/utils/platform.js.map +0 -1
- package/lib/module/utils/request-utils.js +0 -58
- package/lib/module/utils/request-utils.js.map +0 -1
- package/lib/module/utils/rrweb-events.js +0 -276
- package/lib/module/utils/rrweb-events.js.map +0 -1
- package/lib/module/utils/session.js +0 -21
- package/lib/module/utils/session.js.map +0 -1
- package/lib/module/utils/shallowEqual.js +0 -17
- package/lib/module/utils/shallowEqual.js.map +0 -1
- package/lib/module/utils/time.js +0 -17
- package/lib/module/utils/time.js.map +0 -1
- package/lib/module/utils/type-utils.js +0 -69
- package/lib/module/utils/type-utils.js.map +0 -1
- package/lib/module/version.js +0 -4
- package/lib/module/version.js.map +0 -1
- package/lib/typescript/package.json +0 -1
- package/lib/typescript/src/NativeSessionRecorderModule.d.ts +0 -25
- package/lib/typescript/src/NativeSessionRecorderModule.d.ts.map +0 -1
- package/lib/typescript/src/NativeSessionRecorderModuleSpec.d.ts +0 -25
- package/lib/typescript/src/NativeSessionRecorderModuleSpec.d.ts.map +0 -1
- package/lib/typescript/src/NativeSessionRecorderNative.d.ts +0 -25
- package/lib/typescript/src/NativeSessionRecorderNative.d.ts.map +0 -1
- package/lib/typescript/src/components/ErrorBoundary.d.ts +0 -16
- package/lib/typescript/src/components/ErrorBoundary.d.ts.map +0 -1
- package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts +0 -6
- package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts.map +0 -1
- package/lib/typescript/src/components/ScreenRecorderView/index.d.ts +0 -2
- package/lib/typescript/src/components/ScreenRecorderView/index.d.ts.map +0 -1
- package/lib/typescript/src/components/SessionRecorderWidget/ErrorBanner.d.ts +0 -8
- package/lib/typescript/src/components/SessionRecorderWidget/ErrorBanner.d.ts.map +0 -1
- package/lib/typescript/src/components/SessionRecorderWidget/FinalPopover.d.ts +0 -13
- package/lib/typescript/src/components/SessionRecorderWidget/FinalPopover.d.ts.map +0 -1
- package/lib/typescript/src/components/SessionRecorderWidget/FloatingButton.d.ts +0 -9
- package/lib/typescript/src/components/SessionRecorderWidget/FloatingButton.d.ts.map +0 -1
- package/lib/typescript/src/components/SessionRecorderWidget/InitialPopover.d.ts +0 -17
- package/lib/typescript/src/components/SessionRecorderWidget/InitialPopover.d.ts.map +0 -1
- package/lib/typescript/src/components/SessionRecorderWidget/ModalContainer.d.ts +0 -9
- package/lib/typescript/src/components/SessionRecorderWidget/ModalContainer.d.ts.map +0 -1
- package/lib/typescript/src/components/SessionRecorderWidget/ModalHeader.d.ts +0 -7
- package/lib/typescript/src/components/SessionRecorderWidget/ModalHeader.d.ts.map +0 -1
- package/lib/typescript/src/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +0 -6
- package/lib/typescript/src/components/SessionRecorderWidget/SessionRecorderWidget.d.ts.map +0 -1
- package/lib/typescript/src/components/SessionRecorderWidget/icons.d.ts +0 -12
- package/lib/typescript/src/components/SessionRecorderWidget/icons.d.ts.map +0 -1
- package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts +0 -3
- package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts.map +0 -1
- package/lib/typescript/src/components/SessionRecorderWidget/styles.d.ts +0 -166
- package/lib/typescript/src/components/SessionRecorderWidget/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/index.d.ts +0 -4
- package/lib/typescript/src/components/index.d.ts.map +0 -1
- package/lib/typescript/src/config/constants.d.ts +0 -22
- package/lib/typescript/src/config/constants.d.ts.map +0 -1
- package/lib/typescript/src/config/defaults.d.ts +0 -5
- package/lib/typescript/src/config/defaults.d.ts.map +0 -1
- package/lib/typescript/src/config/index.d.ts +0 -6
- package/lib/typescript/src/config/index.d.ts.map +0 -1
- package/lib/typescript/src/config/masking.d.ts +0 -3
- package/lib/typescript/src/config/masking.d.ts.map +0 -1
- package/lib/typescript/src/config/session-recorder.d.ts +0 -3
- package/lib/typescript/src/config/session-recorder.d.ts.map +0 -1
- package/lib/typescript/src/config/validators.d.ts +0 -11
- package/lib/typescript/src/config/validators.d.ts.map +0 -1
- package/lib/typescript/src/config/widget.d.ts +0 -10
- package/lib/typescript/src/config/widget.d.ts.map +0 -1
- package/lib/typescript/src/context/SessionRecorderContext.d.ts +0 -22
- package/lib/typescript/src/context/SessionRecorderContext.d.ts.map +0 -1
- package/lib/typescript/src/context/SessionRecorderStore.d.ts +0 -13
- package/lib/typescript/src/context/SessionRecorderStore.d.ts.map +0 -1
- package/lib/typescript/src/context/createStore.d.ts +0 -9
- package/lib/typescript/src/context/createStore.d.ts.map +0 -1
- package/lib/typescript/src/context/useSessionRecorderStore.d.ts +0 -29
- package/lib/typescript/src/context/useSessionRecorderStore.d.ts.map +0 -1
- package/lib/typescript/src/context/useStoreSelector.d.ts +0 -5
- package/lib/typescript/src/context/useStoreSelector.d.ts.map +0 -1
- package/lib/typescript/src/index.d.ts +0 -9
- package/lib/typescript/src/index.d.ts.map +0 -1
- package/lib/typescript/src/native/SessionRecorderNative.d.ts +0 -29
- package/lib/typescript/src/native/SessionRecorderNative.d.ts.map +0 -1
- package/lib/typescript/src/native/index.d.ts +0 -2
- package/lib/typescript/src/native/index.d.ts.map +0 -1
- package/lib/typescript/src/otel/CrashBufferSpanProcessor.d.ts +0 -17
- package/lib/typescript/src/otel/CrashBufferSpanProcessor.d.ts.map +0 -1
- package/lib/typescript/src/otel/helpers.d.ts +0 -46
- package/lib/typescript/src/otel/helpers.d.ts.map +0 -1
- package/lib/typescript/src/otel/index.d.ts +0 -33
- package/lib/typescript/src/otel/index.d.ts.map +0 -1
- package/lib/typescript/src/otel/instrumentations/index.d.ts +0 -5
- package/lib/typescript/src/otel/instrumentations/index.d.ts.map +0 -1
- package/lib/typescript/src/patch/configs.d.ts +0 -9
- package/lib/typescript/src/patch/configs.d.ts.map +0 -1
- package/lib/typescript/src/patch/fetch.d.ts +0 -2
- package/lib/typescript/src/patch/fetch.d.ts.map +0 -1
- package/lib/typescript/src/patch/index.d.ts +0 -4
- package/lib/typescript/src/patch/index.d.ts.map +0 -1
- package/lib/typescript/src/patch/xhr.d.ts +0 -2
- package/lib/typescript/src/patch/xhr.d.ts.map +0 -1
- package/lib/typescript/src/recorder/gestureRecorder.d.ts +0 -66
- package/lib/typescript/src/recorder/gestureRecorder.d.ts.map +0 -1
- package/lib/typescript/src/recorder/index.d.ts +0 -79
- package/lib/typescript/src/recorder/index.d.ts.map +0 -1
- package/lib/typescript/src/recorder/navigationRecorder.d.ts +0 -29
- package/lib/typescript/src/recorder/navigationRecorder.d.ts.map +0 -1
- package/lib/typescript/src/recorder/screenRecorder.d.ts +0 -127
- package/lib/typescript/src/recorder/screenRecorder.d.ts.map +0 -1
- package/lib/typescript/src/services/api.service.d.ts +0 -116
- package/lib/typescript/src/services/api.service.d.ts.map +0 -1
- package/lib/typescript/src/services/crashBuffer.service.d.ts +0 -27
- package/lib/typescript/src/services/crashBuffer.service.d.ts.map +0 -1
- package/lib/typescript/src/services/network.service.d.ts +0 -47
- package/lib/typescript/src/services/network.service.d.ts.map +0 -1
- package/lib/typescript/src/services/screenRecordingService.d.ts +0 -48
- package/lib/typescript/src/services/screenRecordingService.d.ts.map +0 -1
- package/lib/typescript/src/services/socket.service.d.ts +0 -44
- package/lib/typescript/src/services/socket.service.d.ts.map +0 -1
- package/lib/typescript/src/services/storage.service.d.ts +0 -47
- package/lib/typescript/src/services/storage.service.d.ts.map +0 -1
- package/lib/typescript/src/session-recorder.d.ts +0 -191
- package/lib/typescript/src/session-recorder.d.ts.map +0 -1
- package/lib/typescript/src/types/configs.d.ts +0 -92
- package/lib/typescript/src/types/configs.d.ts.map +0 -1
- package/lib/typescript/src/types/index.d.ts +0 -21
- package/lib/typescript/src/types/index.d.ts.map +0 -1
- package/lib/typescript/src/types/session-recorder.d.ts +0 -367
- package/lib/typescript/src/types/session-recorder.d.ts.map +0 -1
- package/lib/typescript/src/utils/app-metadata.d.ts +0 -17
- package/lib/typescript/src/utils/app-metadata.d.ts.map +0 -1
- package/lib/typescript/src/utils/constants.optional.d.ts +0 -22
- package/lib/typescript/src/utils/constants.optional.d.ts.map +0 -1
- package/lib/typescript/src/utils/constants.optional.expo.d.ts +0 -4
- package/lib/typescript/src/utils/constants.optional.expo.d.ts.map +0 -1
- package/lib/typescript/src/utils/index.d.ts +0 -8
- package/lib/typescript/src/utils/index.d.ts.map +0 -1
- package/lib/typescript/src/utils/logger.d.ts +0 -108
- package/lib/typescript/src/utils/logger.d.ts.map +0 -1
- package/lib/typescript/src/utils/platform.d.ts +0 -58
- package/lib/typescript/src/utils/platform.d.ts.map +0 -1
- package/lib/typescript/src/utils/request-utils.d.ts +0 -22
- package/lib/typescript/src/utils/request-utils.d.ts.map +0 -1
- package/lib/typescript/src/utils/rrweb-events.d.ts +0 -67
- package/lib/typescript/src/utils/rrweb-events.d.ts.map +0 -1
- package/lib/typescript/src/utils/session.d.ts +0 -7
- package/lib/typescript/src/utils/session.d.ts.map +0 -1
- package/lib/typescript/src/utils/shallowEqual.d.ts +0 -2
- package/lib/typescript/src/utils/shallowEqual.d.ts.map +0 -1
- package/lib/typescript/src/utils/time.d.ts +0 -5
- package/lib/typescript/src/utils/time.d.ts.map +0 -1
- package/lib/typescript/src/utils/type-utils.d.ts +0 -17
- package/lib/typescript/src/utils/type-utils.d.ts.map +0 -1
- package/lib/typescript/src/version.d.ts +0 -2
- package/lib/typescript/src/version.d.ts.map +0 -1
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { type RecorderConfig } from '../types';
|
|
2
|
-
export declare class NavigationRecorder {
|
|
3
|
-
private config?;
|
|
4
|
-
private isRecording;
|
|
5
|
-
private navigationRef;
|
|
6
|
-
private navigationListeners;
|
|
7
|
-
private currentRoute;
|
|
8
|
-
private navigationStack;
|
|
9
|
-
private navigationStartTime;
|
|
10
|
-
private screenRecorder?;
|
|
11
|
-
init(config: RecorderConfig, screenRecorder?: any): void;
|
|
12
|
-
setNavigationRef(ref: any): void;
|
|
13
|
-
start(): void;
|
|
14
|
-
stop(): void;
|
|
15
|
-
pause(): void;
|
|
16
|
-
resume(): void;
|
|
17
|
-
private _setupNavigationListener;
|
|
18
|
-
private _removeNavigationListener;
|
|
19
|
-
private _getFriendlyRouteTitle;
|
|
20
|
-
private _recordNavigationEvent;
|
|
21
|
-
private _updateNavigationStack;
|
|
22
|
-
private _recordOpenTelemetrySpan;
|
|
23
|
-
getCurrentRoute(): string | null;
|
|
24
|
-
getNavigationStack(): string[];
|
|
25
|
-
getNavigationDepth(): number;
|
|
26
|
-
isRecordingEnabled(): boolean;
|
|
27
|
-
getNavigationDuration(): number;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=navigationRecorder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigationRecorder.d.ts","sourceRoot":"","sources":["../../../../src/recorder/navigationRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAIrE,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,CAAiB;IAChC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,cAAc,CAAC,CAAM;IAE7B,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,GAAG,GAAG,IAAI;IASxD,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAgBhC,KAAK,IAAI,IAAI;IAUb,IAAI,IAAI,IAAI;IAMZ,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,IAAI;IAKd,OAAO,CAAC,wBAAwB;IAkDhC,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,sBAAsB;IA2C9B,OAAO,CAAC,sBAAsB;IAsC9B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,wBAAwB;IAkChC,eAAe,IAAI,MAAM,GAAG,IAAI;IAIhC,kBAAkB,IAAI,MAAM,EAAE;IAI9B,kBAAkB,IAAI,MAAM;IAK5B,kBAAkB,IAAI,OAAO;IAK7B,qBAAqB,IAAI,MAAM;CAGhC"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { type ScreenEvent, type RecorderConfig, type EventRecorder } from '../types';
|
|
2
|
-
import { type eventWithTime } from '@rrweb/types';
|
|
3
|
-
export declare class ScreenRecorder implements EventRecorder {
|
|
4
|
-
private config?;
|
|
5
|
-
private isRecording;
|
|
6
|
-
private isBufferOnlyMode;
|
|
7
|
-
private needsFullSnapshot;
|
|
8
|
-
private events;
|
|
9
|
-
private captureInterval?;
|
|
10
|
-
private bufferSnapshotInterval?;
|
|
11
|
-
private captureCount;
|
|
12
|
-
private maxCaptures;
|
|
13
|
-
private captureQuality;
|
|
14
|
-
private captureScale;
|
|
15
|
-
private captureFormat;
|
|
16
|
-
private screenDimensions;
|
|
17
|
-
private eventRecorder?;
|
|
18
|
-
private nodeIdCounter;
|
|
19
|
-
private lastScreenCapture;
|
|
20
|
-
private lastScreenHash;
|
|
21
|
-
private enableChangeDetection;
|
|
22
|
-
private hashSampleSize;
|
|
23
|
-
private currentImageNodeId;
|
|
24
|
-
private recordingConfig?;
|
|
25
|
-
private viewShotRef;
|
|
26
|
-
init(config: RecorderConfig, eventRecorder?: EventRecorder): void;
|
|
27
|
-
start(): void;
|
|
28
|
-
stop(): void;
|
|
29
|
-
pause(): void;
|
|
30
|
-
resume(): void;
|
|
31
|
-
/**
|
|
32
|
-
* Enables behavior specific to crash-buffer-only mode.
|
|
33
|
-
* In this mode we periodically force a full snapshot anchor for replayability.
|
|
34
|
-
*/
|
|
35
|
-
setBufferOnlyMode(enabled: boolean): void;
|
|
36
|
-
private _getScreenDimensions;
|
|
37
|
-
private _startPeriodicCapture;
|
|
38
|
-
private _stopPeriodicCapture;
|
|
39
|
-
private _startBufferSnapshotInterval;
|
|
40
|
-
private _stopBufferSnapshotInterval;
|
|
41
|
-
private _captureScreen;
|
|
42
|
-
private _captureScreenBase64;
|
|
43
|
-
private _createAndEmitFullSnapshotEvent;
|
|
44
|
-
/**
|
|
45
|
-
* Create a full snapshot event with the given base64 image
|
|
46
|
-
* @param base64Image - Base64 encoded image data
|
|
47
|
-
* @param timestamp - Optional timestamp to use for the event
|
|
48
|
-
* @returns Full snapshot event
|
|
49
|
-
*/
|
|
50
|
-
createFullSnapshot(base64Image: string, timestamp?: number): eventWithTime;
|
|
51
|
-
/**
|
|
52
|
-
* Create an incremental snapshot event with mutation data to update image src
|
|
53
|
-
* @param base64Image - New base64 encoded image data
|
|
54
|
-
* @param captureFormat - Image format (png, jpg, etc.)
|
|
55
|
-
* @param timestamp - Optional timestamp to use for the event
|
|
56
|
-
* @returns Incremental snapshot event with mutation data
|
|
57
|
-
*/
|
|
58
|
-
createIncrementalSnapshotWithImageUpdate(base64Image: string, captureFormat?: string, timestamp?: number): eventWithTime;
|
|
59
|
-
/**
|
|
60
|
-
* Update the screen with a new image using incremental snapshot
|
|
61
|
-
* @param base64Image - New base64 encoded image data
|
|
62
|
-
* @param timestamp - Optional timestamp to use for the event
|
|
63
|
-
* @returns true if update was successful, false otherwise
|
|
64
|
-
*/
|
|
65
|
-
updateScreenWithIncrementalSnapshot(base64Image: string, timestamp?: number): boolean;
|
|
66
|
-
/**
|
|
67
|
-
* Force a full snapshot (useful when screen dimensions change or for debugging)
|
|
68
|
-
* @param base64Image - Base64 encoded image data
|
|
69
|
-
*/
|
|
70
|
-
forceFullSnapshot(base64Image: string): void;
|
|
71
|
-
/**
|
|
72
|
-
* Check if the screen has changed by comparing with the previous capture
|
|
73
|
-
* @param currentBase64 - Current screen capture as base64
|
|
74
|
-
* @returns true if screen has changed, false otherwise
|
|
75
|
-
*/
|
|
76
|
-
private _hasScreenChanged;
|
|
77
|
-
/**
|
|
78
|
-
* Generate a simple hash for screen comparison
|
|
79
|
-
* This is a lightweight hash that focuses on the beginning and end of the base64 string
|
|
80
|
-
* to detect changes without doing a full comparison
|
|
81
|
-
* @param base64Image - Base64 encoded image
|
|
82
|
-
* @returns Hash string for comparison
|
|
83
|
-
*/
|
|
84
|
-
private _generateScreenHash;
|
|
85
|
-
private _sendEvent;
|
|
86
|
-
private _recordOpenTelemetrySpan;
|
|
87
|
-
private _recordScreenCaptureError;
|
|
88
|
-
setCaptureInterval(intervalMs: number): void;
|
|
89
|
-
setCaptureQuality(quality: number): void;
|
|
90
|
-
setCaptureFormat(format: 'png' | 'jpg'): void;
|
|
91
|
-
setMaxCaptures(max: number): void;
|
|
92
|
-
/**
|
|
93
|
-
* Enable or disable change detection
|
|
94
|
-
* @param enabled - Whether to enable change detection
|
|
95
|
-
*/
|
|
96
|
-
setChangeDetection(enabled: boolean): void;
|
|
97
|
-
/**
|
|
98
|
-
* Set the hash sample size for change detection
|
|
99
|
-
* @param size - Number of characters to sample from each part of the image
|
|
100
|
-
*/
|
|
101
|
-
setHashSampleSize(size: number): void;
|
|
102
|
-
recordScreenPerformance(screenName: string, loadTime: number): void;
|
|
103
|
-
recordScreenError(error: Error, screenName?: string): void;
|
|
104
|
-
getEvents(): ScreenEvent[];
|
|
105
|
-
clearEvents(): void;
|
|
106
|
-
getScreenStats(): Record<string, any>;
|
|
107
|
-
isRecordingEnabled(): boolean;
|
|
108
|
-
getConfiguration(): Record<string, any>;
|
|
109
|
-
shutdown(): void;
|
|
110
|
-
/**
|
|
111
|
-
* Set the viewshot ref for screen capture
|
|
112
|
-
* @param ref - React Native View ref for screen capture
|
|
113
|
-
*/
|
|
114
|
-
setViewShotRef(ref: any): void;
|
|
115
|
-
/**
|
|
116
|
-
* Force capture screen (useful after touch interactions)
|
|
117
|
-
* This bypasses the change detection and always captures
|
|
118
|
-
* @param timestamp - Optional timestamp to use for the capture event
|
|
119
|
-
*/
|
|
120
|
-
forceCapture(timestamp?: number): void;
|
|
121
|
-
/**
|
|
122
|
-
* Record an rrweb event
|
|
123
|
-
* @param event - The rrweb event to record
|
|
124
|
-
*/
|
|
125
|
-
recordEvent(event: any): void;
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=screenRecorder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screenRecorder.d.ts","sourceRoot":"","sources":["../../../../src/recorder/screenRecorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import type { IUserAttributes, ISessionAttributes, IResourceAttributes } from '@multiplayer-app/session-recorder-common';
|
|
2
|
-
import { type ApiServiceConfig } from '../types';
|
|
3
|
-
import type { eventWithTime } from '@rrweb/types';
|
|
4
|
-
export interface StartSessionRequest {
|
|
5
|
-
name?: string;
|
|
6
|
-
stoppedAt?: string | number;
|
|
7
|
-
sessionAttributes?: ISessionAttributes;
|
|
8
|
-
resourceAttributes?: IResourceAttributes;
|
|
9
|
-
userAttributes?: IUserAttributes;
|
|
10
|
-
debugSessionData?: Record<string, any>;
|
|
11
|
-
tags?: {
|
|
12
|
-
key?: string;
|
|
13
|
-
value: string;
|
|
14
|
-
}[];
|
|
15
|
-
}
|
|
16
|
-
export interface StopSessionRequest {
|
|
17
|
-
sessionAttributes?: ISessionAttributes;
|
|
18
|
-
stoppedAt: string | number;
|
|
19
|
-
}
|
|
20
|
-
export interface CheckRemoteSessionRequest {
|
|
21
|
-
sessionAttributes?: ISessionAttributes;
|
|
22
|
-
resourceAttributes?: IResourceAttributes;
|
|
23
|
-
userAttributes?: IUserAttributes;
|
|
24
|
-
}
|
|
25
|
-
export interface CreateErrorSpanSessionRequest {
|
|
26
|
-
span: any;
|
|
27
|
-
}
|
|
28
|
-
export declare class ApiService {
|
|
29
|
-
private config?;
|
|
30
|
-
private baseUrl;
|
|
31
|
-
constructor();
|
|
32
|
-
init(config: ApiServiceConfig): void;
|
|
33
|
-
/**
|
|
34
|
-
* Update the API service configuration
|
|
35
|
-
* @param config - Partial configuration to update
|
|
36
|
-
*/
|
|
37
|
-
updateConfigs(config: Partial<ApiServiceConfig>): void;
|
|
38
|
-
/**
|
|
39
|
-
* Set the API key
|
|
40
|
-
* @param apiKey - The API key to set
|
|
41
|
-
*/
|
|
42
|
-
setApiKey(apiKey: string): void;
|
|
43
|
-
/**
|
|
44
|
-
* Create a new error span session
|
|
45
|
-
* @param request - Session create error span request data
|
|
46
|
-
* @param signal - Optional AbortSignal for request cancellation
|
|
47
|
-
*/
|
|
48
|
-
createErrorSession(request: CreateErrorSpanSessionRequest, signal?: AbortSignal): Promise<any>;
|
|
49
|
-
updateSessionAttributes(sessionId: string, requestBody: {
|
|
50
|
-
name?: string;
|
|
51
|
-
startedAt?: string;
|
|
52
|
-
stoppedAt?: string;
|
|
53
|
-
userAttributes?: IUserAttributes;
|
|
54
|
-
sessionAttributes?: ISessionAttributes;
|
|
55
|
-
resourceAttributes?: IResourceAttributes;
|
|
56
|
-
}, signal?: AbortSignal): Promise<any>;
|
|
57
|
-
/**
|
|
58
|
-
* Export events to the session debugger API
|
|
59
|
-
* @param sessionId - ID of the session to export events
|
|
60
|
-
* @param requestBody - Request body containing events
|
|
61
|
-
* @param signal - Optional AbortSignal for request cancellation
|
|
62
|
-
*/
|
|
63
|
-
exportEvents(sessionId: string, requestBody: {
|
|
64
|
-
events: eventWithTime[];
|
|
65
|
-
}, signal?: AbortSignal): Promise<any>;
|
|
66
|
-
/**
|
|
67
|
-
* Start a new debug session
|
|
68
|
-
* @param request - Session start request data
|
|
69
|
-
* @param signal - Optional AbortSignal for request cancellation
|
|
70
|
-
*/
|
|
71
|
-
startSession(request: StartSessionRequest, signal?: AbortSignal): Promise<any>;
|
|
72
|
-
/**
|
|
73
|
-
* Stop an active debug session
|
|
74
|
-
* @param sessionId - ID of the session to stop
|
|
75
|
-
* @param request - Session stop request data
|
|
76
|
-
*/
|
|
77
|
-
stopSession(sessionId: string, request: StopSessionRequest): Promise<any>;
|
|
78
|
-
/**
|
|
79
|
-
* Cancel an active debug session
|
|
80
|
-
* @param sessionId - ID of the session to cancel
|
|
81
|
-
*/
|
|
82
|
-
cancelSession(sessionId: string): Promise<any>;
|
|
83
|
-
/**
|
|
84
|
-
* Start a new continuous debug session
|
|
85
|
-
* @param request - Session start request data
|
|
86
|
-
* @param signal - Optional AbortSignal for request cancellation
|
|
87
|
-
*/
|
|
88
|
-
startContinuousDebugSession(request: StartSessionRequest, signal?: AbortSignal): Promise<any>;
|
|
89
|
-
/**
|
|
90
|
-
* Save a continuous debug session
|
|
91
|
-
* @param sessionId - ID of the session to save
|
|
92
|
-
* @param request - Session save request data
|
|
93
|
-
* @param signal - Optional AbortSignal for request cancellation
|
|
94
|
-
*/
|
|
95
|
-
saveContinuousDebugSession(sessionId: string, request: StartSessionRequest, signal?: AbortSignal): Promise<any>;
|
|
96
|
-
/**
|
|
97
|
-
* Stop an active continuous debug session
|
|
98
|
-
* @param sessionId - ID of the session to stop
|
|
99
|
-
*/
|
|
100
|
-
stopContinuousDebugSession(sessionId: string): Promise<any>;
|
|
101
|
-
/**
|
|
102
|
-
* Check debug session should be started remotely
|
|
103
|
-
*/
|
|
104
|
-
checkRemoteSession(requestBody: CheckRemoteSessionRequest, signal?: AbortSignal): Promise<{
|
|
105
|
-
state: 'START' | 'STOP';
|
|
106
|
-
}>;
|
|
107
|
-
/**
|
|
108
|
-
* Make a request to the session debugger API
|
|
109
|
-
* @param path - API endpoint path (relative to the base URL)
|
|
110
|
-
* @param method - HTTP method (GET, POST, PATCH, etc.)
|
|
111
|
-
* @param body - request payload
|
|
112
|
-
* @param signal - AbortSignal to set request's signal
|
|
113
|
-
*/
|
|
114
|
-
private makeRequest;
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=api.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.service.d.ts","sourceRoot":"","sources":["../../../../src/services/api.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { CrashBufferEventMap, CrashBufferEventName, CrashBuffer, CrashBufferRrwebEventPayload, CrashBufferOtelSpanBatchPayload, CrashBufferSnapshot } from '@multiplayer-app/session-recorder-common';
|
|
2
|
-
export declare class CrashBufferService implements CrashBuffer {
|
|
3
|
-
private static instance;
|
|
4
|
-
private index;
|
|
5
|
-
private indexLoaded;
|
|
6
|
-
private lastPruneAt;
|
|
7
|
-
private opChain;
|
|
8
|
-
private defaultWindowMs;
|
|
9
|
-
private lastSeenEventTs;
|
|
10
|
-
private listeners;
|
|
11
|
-
static getInstance(): CrashBufferService;
|
|
12
|
-
private enqueue;
|
|
13
|
-
private ensureIndexLoaded;
|
|
14
|
-
setAttrs(attrs: any): Promise<void>;
|
|
15
|
-
appendEvent(payload: CrashBufferRrwebEventPayload, windowMs?: number): Promise<void>;
|
|
16
|
-
appendSpans(payload: CrashBufferOtelSpanBatchPayload, windowMs?: number): Promise<void>;
|
|
17
|
-
setDefaultWindowMs(windowMs: number): void;
|
|
18
|
-
on<E extends CrashBufferEventName>(event: E, listener: (payload: CrashBufferEventMap[E]) => void): () => void;
|
|
19
|
-
off<E extends CrashBufferEventName>(event: E, listener: (payload: CrashBufferEventMap[E]) => void): void;
|
|
20
|
-
private _emit;
|
|
21
|
-
private appendRecord;
|
|
22
|
-
private pruneSoon;
|
|
23
|
-
pruneOlderThan(cutoffTs: number): Promise<void>;
|
|
24
|
-
snapshot(windowMs?: number, now?: number): Promise<CrashBufferSnapshot>;
|
|
25
|
-
clear(): Promise<void>;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=crashBuffer.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crashBuffer.service.d.ts","sourceRoot":"","sources":["../../../../src/services/crashBuffer.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EAEpB,WAAW,EACX,4BAA4B,EAE5B,+BAA+B,EAC/B,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAuClD,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAE1D,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,eAAe,CAAa;IAEpC,OAAO,CAAC,SAAS,CAGb;IAEJ,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAOxC,OAAO,CAAC,OAAO;YAUD,iBAAiB;IAiBzB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnC,WAAW,CACf,OAAO,EAAE,4BAA4B,EACrC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAwBV,WAAW,CACf,OAAO,EAAE,+BAA+B,EACxC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAmChB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1C,EAAE,CAAC,CAAC,SAAS,oBAAoB,EAC/B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,GAClD,MAAM,IAAI;IAOb,GAAG,CAAC,CAAC,SAAS,oBAAoB,EAChC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,GAClD,IAAI;IAOP,OAAO,CAAC,KAAK;YAeC,YAAY;IA0B1B,OAAO,CAAC,SAAS;IAQX,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB/C,QAAQ,CACZ,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,GAAE,MAAmB,GACvB,OAAO,CAAC,mBAAmB,CAAC;IAoFzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAc7B"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
export interface NetworkState {
|
|
2
|
-
isConnected: boolean;
|
|
3
|
-
type: string | null;
|
|
4
|
-
isInternetReachable: boolean | null;
|
|
5
|
-
}
|
|
6
|
-
export type NetworkStateChangeCallback = (state: NetworkState) => void;
|
|
7
|
-
export declare class NetworkService {
|
|
8
|
-
private static instance;
|
|
9
|
-
private _isOnline;
|
|
10
|
-
private unsubscribe;
|
|
11
|
-
private callbacks;
|
|
12
|
-
private constructor();
|
|
13
|
-
static getInstance(): NetworkService;
|
|
14
|
-
/**
|
|
15
|
-
* Initialize network monitoring
|
|
16
|
-
*/
|
|
17
|
-
init(): Promise<void>;
|
|
18
|
-
/**
|
|
19
|
-
* Get current network state
|
|
20
|
-
*/
|
|
21
|
-
getCurrentState(): NetworkState;
|
|
22
|
-
/**
|
|
23
|
-
* Check if device is online
|
|
24
|
-
*/
|
|
25
|
-
isOnline(): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Add callback for network state changes
|
|
28
|
-
*/
|
|
29
|
-
addCallback(callback: NetworkStateChangeCallback): void;
|
|
30
|
-
/**
|
|
31
|
-
* Remove callback for network state changes
|
|
32
|
-
*/
|
|
33
|
-
removeCallback(callback: NetworkStateChangeCallback): void;
|
|
34
|
-
/**
|
|
35
|
-
* Notify all callbacks of network state change
|
|
36
|
-
*/
|
|
37
|
-
private notifyCallbacks;
|
|
38
|
-
/**
|
|
39
|
-
* Cleanup network monitoring
|
|
40
|
-
*/
|
|
41
|
-
cleanup(): void;
|
|
42
|
-
/**
|
|
43
|
-
* Force refresh network state
|
|
44
|
-
*/
|
|
45
|
-
refresh(): Promise<NetworkState>;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=network.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.service.d.ts","sourceRoot":"","sources":["../../../../src/services/network.service.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAEvE,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IACtD,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,SAAS,CAAoC;IAErD,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiD3B;;OAEG;IACH,eAAe,IAAI,YAAY;IAQ/B;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,0BAA0B,GAAG,IAAI;IAIvD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,0BAA0B,GAAG,IAAI;IAI1D;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,IAAI,IAAI;IASf;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;CAmBvC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { type MaskingOptions } from '../native/SessionRecorderNative';
|
|
2
|
-
export interface ScreenRecordingConfig {
|
|
3
|
-
/** Whether screen masking is enabled */
|
|
4
|
-
enabled: boolean;
|
|
5
|
-
/** Whether to mask text inputs (UITextField, UITextView, React Native text components) */
|
|
6
|
-
maskTextInputs?: boolean;
|
|
7
|
-
/** Whether to mask images (UIImageView, React Native Image components) */
|
|
8
|
-
maskImages?: boolean;
|
|
9
|
-
/** Whether to mask buttons (UIButton) */
|
|
10
|
-
maskButtons?: boolean;
|
|
11
|
-
/** Whether to mask labels (UILabel) */
|
|
12
|
-
maskLabels?: boolean;
|
|
13
|
-
/** Whether to mask web views (WKWebView) */
|
|
14
|
-
maskWebViews?: boolean;
|
|
15
|
-
/** Whether to mask sandboxed views (system views that don't belong to current process) */
|
|
16
|
-
maskSandboxedViews?: boolean;
|
|
17
|
-
}
|
|
18
|
-
export declare class ScreenRecordingService {
|
|
19
|
-
private config;
|
|
20
|
-
private isAvailable;
|
|
21
|
-
constructor(config?: ScreenRecordingConfig);
|
|
22
|
-
/**
|
|
23
|
-
* Check if the native masking module is available
|
|
24
|
-
*/
|
|
25
|
-
private checkAvailability;
|
|
26
|
-
/**
|
|
27
|
-
* Capture screen with masking applied
|
|
28
|
-
*/
|
|
29
|
-
captureMaskedScreen(options: MaskingOptions): Promise<string | null>;
|
|
30
|
-
/**
|
|
31
|
-
* Capture screen with basic masking (no custom options)
|
|
32
|
-
*/
|
|
33
|
-
captureMaskedScreenBasic(): Promise<string | null>;
|
|
34
|
-
/**
|
|
35
|
-
* Update the masking configuration
|
|
36
|
-
*/
|
|
37
|
-
updateConfig(config: Partial<ScreenRecordingConfig>): void;
|
|
38
|
-
/**
|
|
39
|
-
* Check if screen masking is available
|
|
40
|
-
*/
|
|
41
|
-
isScreenRecordingAvailable(): boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Get the current configuration
|
|
44
|
-
*/
|
|
45
|
-
getConfig(): ScreenRecordingConfig;
|
|
46
|
-
}
|
|
47
|
-
export declare const screenRecordingService: ScreenRecordingService;
|
|
48
|
-
//# sourceMappingURL=screenRecordingService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screenRecordingService.d.ts","sourceRoot":"","sources":["../../../../src/services/screenRecordingService.ts"],"names":[],"mappings":"AAAA,OAA8B,EAC5B,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0FAA0F;IAC1F,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,WAAW,CAAkB;gBAGnC,MAAM,GAAE,qBAQP;IAMH;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2B1E;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsBxD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI;IAQ1D;;OAEG;IACH,0BAA0B,IAAI,OAAO;IAIrC;;OAEG;IACH,SAAS,IAAI,qBAAqB;CAGnC;AAGD,eAAO,MAAM,sBAAsB,wBAA+B,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'lib0/observable';
|
|
2
|
-
import { SESSION_AUTO_CREATED, SESSION_STOPPED_EVENT, REMOTE_SESSION_RECORDING_START, REMOTE_SESSION_RECORDING_STOP, SESSION_SAVE_BUFFER_EVENT } from '../config';
|
|
3
|
-
import { type ISession, type IUserAttributes } from '@multiplayer-app/session-recorder-common';
|
|
4
|
-
export type SocketServiceEvents = typeof SESSION_STOPPED_EVENT | typeof SESSION_AUTO_CREATED | typeof REMOTE_SESSION_RECORDING_START | typeof REMOTE_SESSION_RECORDING_STOP | typeof SESSION_SAVE_BUFFER_EVENT;
|
|
5
|
-
export interface SocketServiceOptions {
|
|
6
|
-
apiKey: string;
|
|
7
|
-
socketUrl: string;
|
|
8
|
-
keepAlive?: boolean;
|
|
9
|
-
clientId?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare class SocketService extends Observable<SocketServiceEvents> {
|
|
12
|
-
private socket;
|
|
13
|
-
private queue;
|
|
14
|
-
private isConnecting;
|
|
15
|
-
private isConnected;
|
|
16
|
-
private attempts;
|
|
17
|
-
private sessionId;
|
|
18
|
-
private options;
|
|
19
|
-
private isInitialized;
|
|
20
|
-
constructor();
|
|
21
|
-
/**
|
|
22
|
-
* Initialize the socket service
|
|
23
|
-
* @param config - Socket service configuration
|
|
24
|
-
*/
|
|
25
|
-
init(config: SocketServiceOptions): void;
|
|
26
|
-
/**
|
|
27
|
-
* Update the socket service configuration
|
|
28
|
-
* @param config - Partial configuration to update
|
|
29
|
-
*/
|
|
30
|
-
updateConfigs(config: Partial<SocketServiceOptions>): void;
|
|
31
|
-
private _initConnection;
|
|
32
|
-
private checkReconnectionAttempts;
|
|
33
|
-
private emitSocketEvent;
|
|
34
|
-
private flushQueue;
|
|
35
|
-
send(event: any): void;
|
|
36
|
-
subscribeToSession(session: ISession): void;
|
|
37
|
-
unsubscribeFromSession(stopSession?: boolean): void;
|
|
38
|
-
setUser(data: {
|
|
39
|
-
userAttributes: IUserAttributes | null;
|
|
40
|
-
clientId?: string;
|
|
41
|
-
}): void;
|
|
42
|
-
close(): Promise<void>;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=socket.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"socket.service.d.ts","sourceRoot":"","sources":["../../../../src/services/socket.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,OAAO,EAEL,oBAAoB,EACpB,qBAAqB,EAIrB,8BAA8B,EAC9B,6BAA6B,EAE7B,yBAAyB,EAC1B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,EAErB,MAAM,0CAA0C,CAAC;AAIlD,MAAM,MAAM,mBAAmB,GAC3B,OAAO,qBAAqB,GAC5B,OAAO,oBAAoB,GAC3B,OAAO,8BAA8B,GACrC,OAAO,6BAA6B,GACpC,OAAO,yBAAyB,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,aAAc,SAAQ,UAAU,CAAC,mBAAmB,CAAC;IAChE,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,aAAa,CAAkB;;IAUvC;;;OAGG;IACI,IAAI,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAe/C;;;OAGG;IACI,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IA0BjE,OAAO,CAAC,eAAe;IAyDvB,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,UAAU;IAWX,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAItB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAe3C,sBAAsB,CAAC,WAAW,CAAC,EAAE,OAAO;IAW5C,OAAO,CAAC,IAAI,EAAE;QACnB,cAAc,EAAE,eAAe,GAAG,IAAI,CAAC;QACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAID,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAiB9B"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { SessionType, type ISession } from '@multiplayer-app/session-recorder-common';
|
|
2
|
-
import type { SessionState } from '../types';
|
|
3
|
-
interface CacheData {
|
|
4
|
-
sessionId: string | null;
|
|
5
|
-
sessionType: SessionType | null;
|
|
6
|
-
sessionState: SessionState | null;
|
|
7
|
-
sessionObject: ISession | null;
|
|
8
|
-
floatingButtonPosition: {
|
|
9
|
-
x: number;
|
|
10
|
-
y: number;
|
|
11
|
-
} | null;
|
|
12
|
-
}
|
|
13
|
-
export declare class StorageService {
|
|
14
|
-
private static readonly SESSION_ID_KEY;
|
|
15
|
-
private static readonly SESSION_TYPE_KEY;
|
|
16
|
-
private static readonly SESSION_STATE_KEY;
|
|
17
|
-
private static readonly SESSION_OBJECT_KEY;
|
|
18
|
-
private static readonly FLOATING_BUTTON_POSITION_KEY;
|
|
19
|
-
private static cache;
|
|
20
|
-
private static cacheInitialized;
|
|
21
|
-
private static instance;
|
|
22
|
-
private static positionSaveTimeout;
|
|
23
|
-
private constructor();
|
|
24
|
-
static getInstance(): StorageService;
|
|
25
|
-
private static initializeCache;
|
|
26
|
-
saveSessionId(sessionId: string): void;
|
|
27
|
-
getSessionId(): string | null;
|
|
28
|
-
saveSessionType(sessionType: SessionType): void;
|
|
29
|
-
getSessionType(): SessionType | null;
|
|
30
|
-
saveSessionState(state: SessionState): void;
|
|
31
|
-
getSessionState(): SessionState | null;
|
|
32
|
-
saveSessionObject(session: ISession): void;
|
|
33
|
-
getSessionObject(): ISession | null;
|
|
34
|
-
clearSessionData(): void;
|
|
35
|
-
getAllSessionData(): Omit<CacheData, 'floatingButtonPosition'>;
|
|
36
|
-
saveFloatingButtonPosition(position: {
|
|
37
|
-
x: number;
|
|
38
|
-
y: number;
|
|
39
|
-
}): void;
|
|
40
|
-
getFloatingButtonPosition(): {
|
|
41
|
-
x: number;
|
|
42
|
-
y: number;
|
|
43
|
-
} | null;
|
|
44
|
-
static initialize(): Promise<void>;
|
|
45
|
-
}
|
|
46
|
-
export {};
|
|
47
|
-
//# sourceMappingURL=storage.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.service.d.ts","sourceRoot":"","sources":["../../../../src/services/storage.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,KAAK,QAAQ,EACd,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAsB7C,UAAU,SAAS;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC/B,sBAAsB,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACzD;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAgB;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CACvB;IAE7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAMlB;IAEF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAS;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IACtD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAoB;IAEtD,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,cAAc;mBAQf,eAAe;IAkCpC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IActC,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAc/C,cAAc,IAAI,WAAW,GAAG,IAAI;IAIpC,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAe3C,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAe1C,gBAAgB,IAAI,QAAQ,GAAG,IAAI;IAInC,gBAAgB,IAAI,IAAI;IA0BxB,iBAAiB,IAAI,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC;IAS9D,0BAA0B,CAAC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA+BpE,yBAAyB,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;WAK/C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzC"}
|