@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.
Files changed (162) hide show
  1. package/SessionRecorderNative.podspec +29 -0
  2. package/android/build.gradle +32 -0
  3. package/copy-react-native-dist.sh +4 -10
  4. package/dist/components/MaskableComponent.d.ts +22 -0
  5. package/dist/components/MaskableComponent.js +1 -0
  6. package/dist/components/MaskableComponent.js.map +1 -0
  7. package/dist/components/MaskableTextInput.d.ts +14 -0
  8. package/dist/components/MaskableTextInput.js +1 -0
  9. package/dist/components/MaskableTextInput.js.map +1 -0
  10. package/dist/components/SessionRecorderWidget/FinalPopover.d.ts +11 -0
  11. package/dist/components/SessionRecorderWidget/FinalPopover.js +1 -0
  12. package/dist/components/SessionRecorderWidget/FinalPopover.js.map +1 -0
  13. package/dist/components/SessionRecorderWidget/FloatingButton.d.ts +8 -0
  14. package/dist/components/SessionRecorderWidget/FloatingButton.js +1 -0
  15. package/dist/components/SessionRecorderWidget/FloatingButton.js.map +1 -0
  16. package/dist/components/SessionRecorderWidget/InitialPopover.d.ts +13 -0
  17. package/dist/components/SessionRecorderWidget/InitialPopover.js +1 -0
  18. package/dist/components/SessionRecorderWidget/InitialPopover.js.map +1 -0
  19. package/dist/components/SessionRecorderWidget/ModalContainer.d.ts +8 -0
  20. package/dist/components/SessionRecorderWidget/ModalContainer.js +1 -0
  21. package/dist/components/SessionRecorderWidget/ModalContainer.js.map +1 -0
  22. package/dist/components/SessionRecorderWidget/ModalHeader.d.ts +6 -0
  23. package/dist/components/SessionRecorderWidget/ModalHeader.js +1 -0
  24. package/dist/components/SessionRecorderWidget/ModalHeader.js.map +1 -0
  25. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +5 -0
  26. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +1 -0
  27. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -0
  28. package/dist/components/SessionRecorderWidget/icons.d.ts +11 -0
  29. package/dist/components/SessionRecorderWidget/icons.js +1 -0
  30. package/dist/components/SessionRecorderWidget/icons.js.map +1 -0
  31. package/dist/components/SessionRecorderWidget/index.d.ts +2 -0
  32. package/dist/components/SessionRecorderWidget/index.js +1 -0
  33. package/dist/components/SessionRecorderWidget/index.js.map +1 -0
  34. package/dist/components/SessionRecorderWidget/styles.d.ts +145 -0
  35. package/dist/components/SessionRecorderWidget/styles.js +1 -0
  36. package/dist/components/SessionRecorderWidget/styles.js.map +1 -0
  37. package/dist/components/index.d.ts +2 -0
  38. package/dist/components/index.js +1 -1
  39. package/dist/components/index.js.map +1 -1
  40. package/dist/config/defaults.js +1 -1
  41. package/dist/config/defaults.js.map +1 -1
  42. package/dist/config/masking.js +1 -1
  43. package/dist/config/masking.js.map +1 -1
  44. package/dist/context/SessionRecorderContext.d.ts +5 -3
  45. package/dist/context/SessionRecorderContext.js +1 -1
  46. package/dist/context/SessionRecorderContext.js.map +1 -1
  47. package/dist/index.d.ts +0 -1
  48. package/dist/index.js +1 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/native/ScreenMasking.d.ts +21 -0
  51. package/dist/native/ScreenMasking.js +1 -0
  52. package/dist/native/ScreenMasking.js.map +1 -0
  53. package/dist/native/SessionRecorderNative.d.ts +21 -0
  54. package/dist/native/SessionRecorderNative.js +1 -0
  55. package/dist/native/SessionRecorderNative.js.map +1 -0
  56. package/dist/patch/xhr.js +1 -1
  57. package/dist/patch/xhr.js.map +1 -1
  58. package/dist/recorder/screenRecorder.d.ts +1 -0
  59. package/dist/recorder/screenRecorder.js +1 -1
  60. package/dist/recorder/screenRecorder.js.map +1 -1
  61. package/dist/recorder/screenshotManager.d.ts +10 -0
  62. package/dist/recorder/screenshotManager.js +1 -0
  63. package/dist/recorder/screenshotManager.js.map +1 -0
  64. package/dist/services/screenMaskingService.d.ts +39 -0
  65. package/dist/services/screenMaskingService.js +1 -0
  66. package/dist/services/screenMaskingService.js.map +1 -0
  67. package/dist/services/storage.service.d.ts +18 -2
  68. package/dist/services/storage.service.js +1 -1
  69. package/dist/services/storage.service.js.map +1 -1
  70. package/dist/session-recorder.d.ts +2 -1
  71. package/dist/session-recorder.js +1 -1
  72. package/dist/session-recorder.js.map +1 -1
  73. package/dist/types/session-recorder.d.ts +6 -0
  74. package/dist/types/session-recorder.js.map +1 -1
  75. package/dist/utils/componentRegistry.d.ts +64 -0
  76. package/dist/utils/componentRegistry.js +1 -0
  77. package/dist/utils/componentRegistry.js.map +1 -0
  78. package/dist/utils/nativeModuleTest.d.ts +8 -0
  79. package/dist/utils/nativeModuleTest.js +1 -0
  80. package/dist/utils/nativeModuleTest.js.map +1 -0
  81. package/dist/utils/platform.d.ts +3 -0
  82. package/dist/utils/reactNativeHierarchyExtractor.d.ts +38 -0
  83. package/dist/utils/reactNativeHierarchyExtractor.js +1 -0
  84. package/dist/utils/reactNativeHierarchyExtractor.js.map +1 -0
  85. package/dist/utils/screenshotMasker.d.ts +96 -0
  86. package/dist/utils/screenshotMasker.js +1 -0
  87. package/dist/utils/screenshotMasker.js.map +1 -0
  88. package/dist/utils/viewHierarchyTracker.d.ts +89 -0
  89. package/dist/utils/viewHierarchyTracker.js +1 -0
  90. package/dist/utils/viewHierarchyTracker.js.map +1 -0
  91. package/ios/SessionRecorderNative.m +17 -0
  92. package/ios/SessionRecorderNative.podspec +26 -0
  93. package/ios/SessionRecorderNative.swift +205 -0
  94. package/package.json +22 -7
  95. package/react-native.config.js +15 -0
  96. package/RRWEB_INTEGRATION.md +0 -336
  97. package/VIEWSHOT_INTEGRATION_TEST.md +0 -123
  98. package/babel.config.js +0 -13
  99. package/dist/components/GestureCaptureWrapper.d.ts +0 -6
  100. package/dist/components/GestureCaptureWrapper.js +0 -1
  101. package/dist/components/GestureCaptureWrapper.js.map +0 -1
  102. package/dist/expo.d.ts +0 -7
  103. package/dist/expo.js +0 -1
  104. package/dist/expo.js.map +0 -1
  105. package/dist/otel/instrumentations/gestureInstrumentation.d.ts +0 -15
  106. package/dist/otel/instrumentations/gestureInstrumentation.js +0 -1
  107. package/dist/otel/instrumentations/gestureInstrumentation.js.map +0 -1
  108. package/dist/otel/instrumentations/reactNativeInstrumentation.d.ts +0 -8
  109. package/dist/otel/instrumentations/reactNativeInstrumentation.js +0 -1
  110. package/dist/otel/instrumentations/reactNativeInstrumentation.js.map +0 -1
  111. package/dist/otel/instrumentations/reactNavigationInstrumentation.d.ts +0 -13
  112. package/dist/otel/instrumentations/reactNavigationInstrumentation.js +0 -1
  113. package/dist/otel/instrumentations/reactNavigationInstrumentation.js.map +0 -1
  114. package/dist/recorder/gestureHandlerRecorder.d.ts +0 -19
  115. package/dist/recorder/gestureHandlerRecorder.js +0 -1
  116. package/dist/recorder/gestureHandlerRecorder.js.map +0 -1
  117. package/dist/types/rrweb.d.ts +0 -118
  118. package/dist/types/rrweb.js +0 -1
  119. package/dist/types/rrweb.js.map +0 -1
  120. package/scripts/generate-app-metadata.js +0 -173
  121. package/src/components/GestureCaptureWrapper/GestureCaptureWrapper.tsx +0 -86
  122. package/src/components/GestureCaptureWrapper/index.ts +0 -1
  123. package/src/components/ScreenRecorderView/ScreenRecorderView.tsx +0 -72
  124. package/src/components/ScreenRecorderView/index.ts +0 -1
  125. package/src/components/index.ts +0 -1
  126. package/src/config/constants.ts +0 -60
  127. package/src/config/defaults.ts +0 -82
  128. package/src/config/index.ts +0 -6
  129. package/src/config/masking.ts +0 -27
  130. package/src/config/session-recorder.ts +0 -55
  131. package/src/config/validators.ts +0 -31
  132. package/src/context/SessionRecorderContext.tsx +0 -75
  133. package/src/expo.ts +0 -11
  134. package/src/index.ts +0 -17
  135. package/src/otel/helpers.ts +0 -275
  136. package/src/otel/index.ts +0 -138
  137. package/src/otel/instrumentations/index.ts +0 -115
  138. package/src/patch/index.ts +0 -1
  139. package/src/patch/xhr.ts +0 -142
  140. package/src/recorder/eventExporter.ts +0 -141
  141. package/src/recorder/gestureRecorder.ts +0 -498
  142. package/src/recorder/index.ts +0 -179
  143. package/src/recorder/navigationTracker.ts +0 -449
  144. package/src/recorder/screenRecorder.ts +0 -498
  145. package/src/services/api.service.ts +0 -203
  146. package/src/services/storage.service.ts +0 -158
  147. package/src/session-recorder.ts +0 -600
  148. package/src/types/expo.d.ts +0 -23
  149. package/src/types/index.ts +0 -28
  150. package/src/types/session-recorder.ts +0 -423
  151. package/src/types/session.ts +0 -65
  152. package/src/utils/app-metadata.ts +0 -31
  153. package/src/utils/index.ts +0 -8
  154. package/src/utils/logger.ts +0 -225
  155. package/src/utils/platform.ts +0 -384
  156. package/src/utils/request-utils.ts +0 -61
  157. package/src/utils/rrweb-events.ts +0 -309
  158. package/src/utils/session.ts +0 -18
  159. package/src/utils/time.ts +0 -17
  160. package/src/utils/type-utils.ts +0 -75
  161. package/src/version.ts +0 -1
  162. 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
- }