@multiplayer-app/session-recorder-react-native 0.0.1-beta.1 → 0.0.1-beta.11
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/SessionRecorderNative.podspec +29 -0
- package/android/build.gradle +32 -0
- package/copy-react-native-dist.sh +4 -10
- package/dist/components/MaskableComponent.d.ts +22 -0
- package/dist/components/MaskableComponent.js +1 -0
- package/dist/components/MaskableComponent.js.map +1 -0
- package/dist/components/MaskableTextInput.d.ts +14 -0
- package/dist/components/MaskableTextInput.js +1 -0
- package/dist/components/MaskableTextInput.js.map +1 -0
- package/dist/components/SessionRecorderWidget/FinalPopover.d.ts +11 -0
- package/dist/components/SessionRecorderWidget/FinalPopover.js +1 -0
- package/dist/components/SessionRecorderWidget/FinalPopover.js.map +1 -0
- package/dist/components/SessionRecorderWidget/FloatingButton.d.ts +8 -0
- package/dist/components/SessionRecorderWidget/FloatingButton.js +1 -0
- package/dist/components/SessionRecorderWidget/FloatingButton.js.map +1 -0
- package/dist/components/SessionRecorderWidget/InitialPopover.d.ts +13 -0
- package/dist/components/SessionRecorderWidget/InitialPopover.js +1 -0
- package/dist/components/SessionRecorderWidget/InitialPopover.js.map +1 -0
- package/dist/components/SessionRecorderWidget/ModalContainer.d.ts +8 -0
- package/dist/components/SessionRecorderWidget/ModalContainer.js +1 -0
- package/dist/components/SessionRecorderWidget/ModalContainer.js.map +1 -0
- package/dist/components/SessionRecorderWidget/ModalHeader.d.ts +6 -0
- package/dist/components/SessionRecorderWidget/ModalHeader.js +1 -0
- package/dist/components/SessionRecorderWidget/ModalHeader.js.map +1 -0
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +5 -0
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +1 -0
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -0
- package/dist/components/SessionRecorderWidget/icons.d.ts +11 -0
- package/dist/components/SessionRecorderWidget/icons.js +1 -0
- package/dist/components/SessionRecorderWidget/icons.js.map +1 -0
- package/dist/components/SessionRecorderWidget/index.d.ts +2 -0
- package/dist/components/SessionRecorderWidget/index.js +1 -0
- package/dist/components/SessionRecorderWidget/index.js.map +1 -0
- package/dist/components/SessionRecorderWidget/styles.d.ts +145 -0
- package/dist/components/SessionRecorderWidget/styles.js +1 -0
- package/dist/components/SessionRecorderWidget/styles.js.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/masking.js +1 -1
- package/dist/config/masking.js.map +1 -1
- package/dist/context/SessionRecorderContext.d.ts +5 -3
- package/dist/context/SessionRecorderContext.js +1 -1
- package/dist/context/SessionRecorderContext.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/native/ScreenMasking.d.ts +21 -0
- package/dist/native/ScreenMasking.js +1 -0
- package/dist/native/ScreenMasking.js.map +1 -0
- package/dist/native/SessionRecorderNative.d.ts +21 -0
- package/dist/native/SessionRecorderNative.js +1 -0
- package/dist/native/SessionRecorderNative.js.map +1 -0
- package/dist/patch/xhr.js +1 -1
- package/dist/patch/xhr.js.map +1 -1
- package/dist/recorder/screenRecorder.d.ts +1 -0
- package/dist/recorder/screenRecorder.js +1 -1
- package/dist/recorder/screenRecorder.js.map +1 -1
- package/dist/recorder/screenshotManager.d.ts +10 -0
- package/dist/recorder/screenshotManager.js +1 -0
- package/dist/recorder/screenshotManager.js.map +1 -0
- package/dist/services/screenMaskingService.d.ts +39 -0
- package/dist/services/screenMaskingService.js +1 -0
- package/dist/services/screenMaskingService.js.map +1 -0
- package/dist/services/storage.service.d.ts +18 -2
- package/dist/services/storage.service.js +1 -1
- package/dist/services/storage.service.js.map +1 -1
- package/dist/session-recorder.d.ts +2 -1
- package/dist/session-recorder.js +1 -1
- package/dist/session-recorder.js.map +1 -1
- package/dist/types/session-recorder.d.ts +6 -0
- package/dist/types/session-recorder.js.map +1 -1
- package/dist/utils/componentRegistry.d.ts +64 -0
- package/dist/utils/componentRegistry.js +1 -0
- package/dist/utils/componentRegistry.js.map +1 -0
- package/dist/utils/nativeModuleTest.d.ts +8 -0
- package/dist/utils/nativeModuleTest.js +1 -0
- package/dist/utils/nativeModuleTest.js.map +1 -0
- package/dist/utils/platform.d.ts +3 -0
- package/dist/utils/reactNativeHierarchyExtractor.d.ts +38 -0
- package/dist/utils/reactNativeHierarchyExtractor.js +1 -0
- package/dist/utils/reactNativeHierarchyExtractor.js.map +1 -0
- package/dist/utils/screenshotMasker.d.ts +96 -0
- package/dist/utils/screenshotMasker.js +1 -0
- package/dist/utils/screenshotMasker.js.map +1 -0
- package/dist/utils/viewHierarchyTracker.d.ts +89 -0
- package/dist/utils/viewHierarchyTracker.js +1 -0
- package/dist/utils/viewHierarchyTracker.js.map +1 -0
- package/ios/SessionRecorderNative.m +17 -0
- package/ios/SessionRecorderNative.podspec +26 -0
- package/ios/SessionRecorderNative.swift +205 -0
- package/package.json +22 -7
- package/react-native.config.js +15 -0
- package/RRWEB_INTEGRATION.md +0 -336
- package/VIEWSHOT_INTEGRATION_TEST.md +0 -123
- package/babel.config.js +0 -13
- package/dist/components/GestureCaptureWrapper.d.ts +0 -6
- package/dist/components/GestureCaptureWrapper.js +0 -1
- package/dist/components/GestureCaptureWrapper.js.map +0 -1
- package/dist/expo.d.ts +0 -7
- package/dist/expo.js +0 -1
- package/dist/expo.js.map +0 -1
- package/dist/otel/instrumentations/gestureInstrumentation.d.ts +0 -15
- package/dist/otel/instrumentations/gestureInstrumentation.js +0 -1
- package/dist/otel/instrumentations/gestureInstrumentation.js.map +0 -1
- package/dist/otel/instrumentations/reactNativeInstrumentation.d.ts +0 -8
- package/dist/otel/instrumentations/reactNativeInstrumentation.js +0 -1
- package/dist/otel/instrumentations/reactNativeInstrumentation.js.map +0 -1
- package/dist/otel/instrumentations/reactNavigationInstrumentation.d.ts +0 -13
- package/dist/otel/instrumentations/reactNavigationInstrumentation.js +0 -1
- package/dist/otel/instrumentations/reactNavigationInstrumentation.js.map +0 -1
- package/dist/recorder/gestureHandlerRecorder.d.ts +0 -19
- package/dist/recorder/gestureHandlerRecorder.js +0 -1
- package/dist/recorder/gestureHandlerRecorder.js.map +0 -1
- package/dist/types/rrweb.d.ts +0 -118
- package/dist/types/rrweb.js +0 -1
- package/dist/types/rrweb.js.map +0 -1
- package/scripts/generate-app-metadata.js +0 -173
- package/src/components/GestureCaptureWrapper/GestureCaptureWrapper.tsx +0 -86
- package/src/components/GestureCaptureWrapper/index.ts +0 -1
- package/src/components/ScreenRecorderView/ScreenRecorderView.tsx +0 -72
- package/src/components/ScreenRecorderView/index.ts +0 -1
- package/src/components/index.ts +0 -1
- package/src/config/constants.ts +0 -60
- package/src/config/defaults.ts +0 -82
- package/src/config/index.ts +0 -6
- package/src/config/masking.ts +0 -27
- package/src/config/session-recorder.ts +0 -55
- package/src/config/validators.ts +0 -31
- package/src/context/SessionRecorderContext.tsx +0 -75
- package/src/expo.ts +0 -11
- package/src/index.ts +0 -17
- package/src/otel/helpers.ts +0 -275
- package/src/otel/index.ts +0 -138
- package/src/otel/instrumentations/index.ts +0 -115
- package/src/patch/index.ts +0 -1
- package/src/patch/xhr.ts +0 -142
- package/src/recorder/eventExporter.ts +0 -141
- package/src/recorder/gestureRecorder.ts +0 -498
- package/src/recorder/index.ts +0 -179
- package/src/recorder/navigationTracker.ts +0 -449
- package/src/recorder/screenRecorder.ts +0 -498
- package/src/services/api.service.ts +0 -203
- package/src/services/storage.service.ts +0 -158
- package/src/session-recorder.ts +0 -600
- package/src/types/expo.d.ts +0 -23
- package/src/types/index.ts +0 -28
- package/src/types/session-recorder.ts +0 -423
- package/src/types/session.ts +0 -65
- package/src/utils/app-metadata.ts +0 -31
- package/src/utils/index.ts +0 -8
- package/src/utils/logger.ts +0 -225
- package/src/utils/platform.ts +0 -384
- package/src/utils/request-utils.ts +0 -61
- package/src/utils/rrweb-events.ts +0 -309
- package/src/utils/session.ts +0 -18
- package/src/utils/time.ts +0 -17
- package/src/utils/type-utils.ts +0 -75
- package/src/version.ts +0 -1
- package/tsconfig.json +0 -24
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import AsyncStorage from '@react-native-async-storage/async-storage'
|
|
2
|
-
import { SessionType } from '@multiplayer-app/session-recorder-common'
|
|
3
|
-
import { ISession, SessionState } from '../types'
|
|
4
|
-
|
|
5
|
-
interface CacheData {
|
|
6
|
-
sessionId: string | null
|
|
7
|
-
sessionType: SessionType | null
|
|
8
|
-
sessionState: SessionState | null
|
|
9
|
-
sessionObject: ISession | null
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export class StorageService {
|
|
13
|
-
private static readonly SESSION_ID_KEY = 'session_id'
|
|
14
|
-
private static readonly SESSION_TYPE_KEY = 'session_type'
|
|
15
|
-
private static readonly SESSION_STATE_KEY = 'session_state'
|
|
16
|
-
private static readonly SESSION_OBJECT_KEY = 'session_object'
|
|
17
|
-
|
|
18
|
-
private static cache: CacheData = {
|
|
19
|
-
sessionId: null,
|
|
20
|
-
sessionType: null,
|
|
21
|
-
sessionState: null,
|
|
22
|
-
sessionObject: null,
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
private static cacheInitialized = false
|
|
26
|
-
|
|
27
|
-
constructor() {
|
|
28
|
-
StorageService.initialize()
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
private static async initializeCache(): Promise<void> {
|
|
32
|
-
if (StorageService.cacheInitialized) return
|
|
33
|
-
|
|
34
|
-
try {
|
|
35
|
-
const [sessionId, sessionType, sessionState, sessionObject] = await Promise.all([
|
|
36
|
-
AsyncStorage.getItem(StorageService.SESSION_ID_KEY),
|
|
37
|
-
AsyncStorage.getItem(StorageService.SESSION_TYPE_KEY),
|
|
38
|
-
AsyncStorage.getItem(StorageService.SESSION_STATE_KEY),
|
|
39
|
-
AsyncStorage.getItem(StorageService.SESSION_OBJECT_KEY),
|
|
40
|
-
])
|
|
41
|
-
|
|
42
|
-
StorageService.cache = {
|
|
43
|
-
sessionId,
|
|
44
|
-
sessionType: sessionType as SessionType | null,
|
|
45
|
-
sessionState: sessionState as SessionState | null,
|
|
46
|
-
sessionObject: sessionObject ? JSON.parse(sessionObject) : null,
|
|
47
|
-
}
|
|
48
|
-
StorageService.cacheInitialized = true
|
|
49
|
-
} catch (error) {
|
|
50
|
-
// Failed to initialize cache - silently continue
|
|
51
|
-
StorageService.cacheInitialized = true // Mark as initialized to prevent retries
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
saveSessionId(sessionId: string): void {
|
|
56
|
-
try {
|
|
57
|
-
StorageService.cache.sessionId = sessionId
|
|
58
|
-
AsyncStorage.setItem(StorageService.SESSION_ID_KEY, sessionId).catch(error => {
|
|
59
|
-
// Failed to persist session ID - silently continue
|
|
60
|
-
})
|
|
61
|
-
} catch (error) {
|
|
62
|
-
// Failed to save session ID - silently continue
|
|
63
|
-
throw error
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
getSessionId(): string | null {
|
|
68
|
-
return StorageService.cache.sessionId
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
saveSessionType(sessionType: SessionType): void {
|
|
72
|
-
try {
|
|
73
|
-
StorageService.cache.sessionType = sessionType
|
|
74
|
-
AsyncStorage.setItem(StorageService.SESSION_TYPE_KEY, sessionType).catch(error => {
|
|
75
|
-
// Failed to persist session type - silently continue
|
|
76
|
-
})
|
|
77
|
-
} catch (error) {
|
|
78
|
-
// Failed to save session type - silently continue
|
|
79
|
-
throw error
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
getSessionType(): SessionType | null {
|
|
84
|
-
return StorageService.cache.sessionType
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
saveSessionState(state: SessionState): void {
|
|
88
|
-
try {
|
|
89
|
-
StorageService.cache.sessionState = state
|
|
90
|
-
|
|
91
|
-
AsyncStorage.setItem(StorageService.SESSION_STATE_KEY, state).catch(error => {
|
|
92
|
-
// Failed to persist session state - silently continue
|
|
93
|
-
})
|
|
94
|
-
} catch (error) {
|
|
95
|
-
// Failed to save session state - silently continue
|
|
96
|
-
throw error
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
getSessionState(): SessionState | null {
|
|
101
|
-
return StorageService.cache.sessionState
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
saveSessionObject(session: ISession): void {
|
|
105
|
-
try {
|
|
106
|
-
StorageService.cache.sessionObject = session
|
|
107
|
-
AsyncStorage.setItem(StorageService.SESSION_OBJECT_KEY, JSON.stringify(session)).catch(error => {
|
|
108
|
-
// Failed to persist session object - silently continue
|
|
109
|
-
})
|
|
110
|
-
} catch (error) {
|
|
111
|
-
// Failed to save session object - silently continue
|
|
112
|
-
throw error
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
getSessionObject(): ISession | null {
|
|
117
|
-
return StorageService.cache.sessionObject
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
clearSessionData(): void {
|
|
121
|
-
try {
|
|
122
|
-
// Clear cache immediately
|
|
123
|
-
StorageService.cache = {
|
|
124
|
-
sessionId: null,
|
|
125
|
-
sessionType: null,
|
|
126
|
-
sessionState: null,
|
|
127
|
-
sessionObject: null,
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// Clear persistent storage asynchronously
|
|
131
|
-
AsyncStorage.multiRemove([
|
|
132
|
-
StorageService.SESSION_ID_KEY,
|
|
133
|
-
StorageService.SESSION_TYPE_KEY,
|
|
134
|
-
StorageService.SESSION_STATE_KEY,
|
|
135
|
-
StorageService.SESSION_OBJECT_KEY,
|
|
136
|
-
]).catch(error => {
|
|
137
|
-
// Failed to clear session data from storage - silently continue
|
|
138
|
-
})
|
|
139
|
-
} catch (error) {
|
|
140
|
-
// Failed to clear session data - silently continue
|
|
141
|
-
throw error
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
getAllSessionData(): CacheData {
|
|
146
|
-
return {
|
|
147
|
-
sessionId: StorageService.cache.sessionId,
|
|
148
|
-
sessionType: StorageService.cache.sessionType,
|
|
149
|
-
sessionState: StorageService.cache.sessionState,
|
|
150
|
-
sessionObject: StorageService.cache.sessionObject,
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
// Initialize cache on first use - call this method when the service is first used
|
|
155
|
-
static async initialize(): Promise<void> {
|
|
156
|
-
await StorageService.initializeCache()
|
|
157
|
-
}
|
|
158
|
-
}
|