@multiplayer-app/session-recorder-react-native 0.0.1-beta.2 → 0.0.1-beta.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.
Files changed (245) hide show
  1. package/README.md +170 -12
  2. package/SessionRecorderNative.podspec +26 -0
  3. package/android/build.gradle +34 -0
  4. package/copy-react-native-dist.sh +34 -16
  5. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.d.ts +1 -0
  6. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js +1 -1
  7. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js.map +1 -1
  8. package/dist/components/MaskableComponent.d.ts +22 -0
  9. package/dist/components/MaskableComponent.js +1 -0
  10. package/dist/components/MaskableComponent.js.map +1 -0
  11. package/dist/components/MaskableTextInput.d.ts +14 -0
  12. package/dist/components/MaskableTextInput.js +1 -0
  13. package/dist/components/MaskableTextInput.js.map +1 -0
  14. package/dist/components/ScreenRecorderView/ScreenRecorderView.js +1 -1
  15. package/dist/components/ScreenRecorderView/ScreenRecorderView.js.map +1 -1
  16. package/dist/components/SessionRecorderWidget/FinalPopover.d.ts +11 -0
  17. package/dist/components/SessionRecorderWidget/FinalPopover.js +1 -0
  18. package/dist/components/SessionRecorderWidget/FinalPopover.js.map +1 -0
  19. package/dist/components/SessionRecorderWidget/FloatingButton.d.ts +8 -0
  20. package/dist/components/SessionRecorderWidget/FloatingButton.js +1 -0
  21. package/dist/components/SessionRecorderWidget/FloatingButton.js.map +1 -0
  22. package/dist/components/SessionRecorderWidget/InitialPopover.d.ts +15 -0
  23. package/dist/components/SessionRecorderWidget/InitialPopover.js +1 -0
  24. package/dist/components/SessionRecorderWidget/InitialPopover.js.map +1 -0
  25. package/dist/components/SessionRecorderWidget/ModalContainer.d.ts +8 -0
  26. package/dist/components/SessionRecorderWidget/ModalContainer.js +1 -0
  27. package/dist/components/SessionRecorderWidget/ModalContainer.js.map +1 -0
  28. package/dist/components/SessionRecorderWidget/ModalHeader.d.ts +6 -0
  29. package/dist/components/SessionRecorderWidget/ModalHeader.js +1 -0
  30. package/dist/components/SessionRecorderWidget/ModalHeader.js.map +1 -0
  31. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +5 -0
  32. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +1 -0
  33. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -0
  34. package/dist/components/SessionRecorderWidget/icons.d.ts +11 -0
  35. package/dist/components/SessionRecorderWidget/icons.js +1 -0
  36. package/dist/components/SessionRecorderWidget/icons.js.map +1 -0
  37. package/dist/components/SessionRecorderWidget/index.d.ts +2 -0
  38. package/dist/components/SessionRecorderWidget/index.js +1 -0
  39. package/dist/components/SessionRecorderWidget/index.js.map +1 -0
  40. package/dist/components/SessionRecorderWidget/styles.d.ts +165 -0
  41. package/dist/components/SessionRecorderWidget/styles.js +1 -0
  42. package/dist/components/SessionRecorderWidget/styles.js.map +1 -0
  43. package/dist/components/index.d.ts +2 -1
  44. package/dist/components/index.js +1 -1
  45. package/dist/components/index.js.map +1 -1
  46. package/dist/config/defaults.d.ts +4 -4
  47. package/dist/config/defaults.js +1 -1
  48. package/dist/config/defaults.js.map +1 -1
  49. package/dist/config/masking.d.ts +2 -2
  50. package/dist/config/masking.js +1 -1
  51. package/dist/config/masking.js.map +1 -1
  52. package/dist/config/session-recorder.js +1 -1
  53. package/dist/config/session-recorder.js.map +1 -1
  54. package/dist/config/validators.d.ts +1 -1
  55. package/dist/config/validators.js +1 -1
  56. package/dist/config/validators.js.map +1 -1
  57. package/dist/config/widget.d.ts +9 -0
  58. package/dist/config/widget.js +1 -0
  59. package/dist/config/widget.js.map +1 -0
  60. package/dist/context/SessionRecorderContext.d.ts +12 -3
  61. package/dist/context/SessionRecorderContext.js +1 -1
  62. package/dist/context/SessionRecorderContext.js.map +1 -1
  63. package/dist/context/SessionRecorderStore.d.ts +10 -0
  64. package/dist/context/SessionRecorderStore.js +1 -0
  65. package/dist/context/SessionRecorderStore.js.map +1 -0
  66. package/dist/context/useSessionRecorderStore.d.ts +8 -0
  67. package/dist/context/useSessionRecorderStore.js +1 -0
  68. package/dist/context/useSessionRecorderStore.js.map +1 -0
  69. package/dist/context/useStoreSelector.d.ts +4 -0
  70. package/dist/context/useStoreSelector.js +1 -0
  71. package/dist/context/useStoreSelector.js.map +1 -0
  72. package/dist/index.d.ts +1 -1
  73. package/dist/index.js +1 -1
  74. package/dist/index.js.map +1 -1
  75. package/dist/native/GestureRecorderNative.d.ts +57 -0
  76. package/dist/native/GestureRecorderNative.js +1 -0
  77. package/dist/native/GestureRecorderNative.js.map +1 -0
  78. package/dist/native/ScreenMasking.d.ts +21 -0
  79. package/dist/native/ScreenMasking.js +1 -0
  80. package/dist/native/ScreenMasking.js.map +1 -0
  81. package/dist/native/SessionRecorderNative.d.ts +33 -0
  82. package/dist/native/SessionRecorderNative.js +1 -0
  83. package/dist/native/SessionRecorderNative.js.map +1 -0
  84. package/dist/native/index.d.ts +2 -0
  85. package/dist/native/index.js +1 -0
  86. package/dist/native/index.js.map +1 -0
  87. package/dist/otel/index.js +1 -1
  88. package/dist/otel/index.js.map +1 -1
  89. package/dist/patch/xhr.js +1 -1
  90. package/dist/patch/xhr.js.map +1 -1
  91. package/dist/recorder/eventExporter.d.ts +4 -1
  92. package/dist/recorder/eventExporter.js +1 -1
  93. package/dist/recorder/eventExporter.js.map +1 -1
  94. package/dist/recorder/gestureRecorder.d.ts +28 -62
  95. package/dist/recorder/gestureRecorder.js +1 -1
  96. package/dist/recorder/gestureRecorder.js.map +1 -1
  97. package/dist/recorder/index.d.ts +2 -0
  98. package/dist/recorder/index.js +1 -1
  99. package/dist/recorder/index.js.map +1 -1
  100. package/dist/recorder/navigationTracker.d.ts +4 -19
  101. package/dist/recorder/navigationTracker.js +1 -1
  102. package/dist/recorder/navigationTracker.js.map +1 -1
  103. package/dist/recorder/screenRecorder.d.ts +11 -5
  104. package/dist/recorder/screenRecorder.js +1 -1
  105. package/dist/recorder/screenRecorder.js.map +1 -1
  106. package/dist/recorder/screenshotManager.d.ts +10 -0
  107. package/dist/recorder/screenshotManager.js +1 -0
  108. package/dist/recorder/screenshotManager.js.map +1 -0
  109. package/dist/services/api.service.d.ts +12 -3
  110. package/dist/services/api.service.js +1 -1
  111. package/dist/services/api.service.js.map +1 -1
  112. package/dist/services/screenMaskingService.d.ts +47 -0
  113. package/dist/services/screenMaskingService.js +1 -0
  114. package/dist/services/screenMaskingService.js.map +1 -0
  115. package/dist/services/storage.service.d.ts +18 -2
  116. package/dist/services/storage.service.js +1 -1
  117. package/dist/services/storage.service.js.map +1 -1
  118. package/dist/session-recorder.d.ts +10 -34
  119. package/dist/session-recorder.js +1 -1
  120. package/dist/session-recorder.js.map +1 -1
  121. package/dist/types/configs.d.ts +85 -0
  122. package/dist/types/configs.js +1 -0
  123. package/dist/types/configs.js.map +1 -0
  124. package/dist/types/index.d.ts +1 -0
  125. package/dist/types/index.js +1 -1
  126. package/dist/types/index.js.map +1 -1
  127. package/dist/types/session-recorder.d.ts +96 -132
  128. package/dist/types/session-recorder.js +1 -1
  129. package/dist/types/session-recorder.js.map +1 -1
  130. package/dist/utils/componentRegistry.d.ts +64 -0
  131. package/dist/utils/componentRegistry.js +1 -0
  132. package/dist/utils/componentRegistry.js.map +1 -0
  133. package/dist/utils/constants.optional.d.ts +21 -0
  134. package/dist/utils/constants.optional.expo.d.ts +3 -0
  135. package/dist/utils/constants.optional.expo.js +1 -0
  136. package/dist/utils/constants.optional.expo.js.map +1 -0
  137. package/dist/utils/constants.optional.js +1 -0
  138. package/dist/utils/constants.optional.js.map +1 -0
  139. package/dist/utils/createStore.d.ts +8 -0
  140. package/dist/utils/createStore.js +1 -0
  141. package/dist/utils/createStore.js.map +1 -0
  142. package/dist/utils/logger.d.ts +1 -1
  143. package/dist/utils/logger.js +1 -1
  144. package/dist/utils/logger.js.map +1 -1
  145. package/dist/utils/nativeModuleTest.d.ts +8 -0
  146. package/dist/utils/nativeModuleTest.js +1 -0
  147. package/dist/utils/nativeModuleTest.js.map +1 -0
  148. package/dist/utils/platform.d.ts +11 -0
  149. package/dist/utils/platform.js +1 -1
  150. package/dist/utils/platform.js.map +1 -1
  151. package/dist/utils/reactNativeHierarchyExtractor.d.ts +38 -0
  152. package/dist/utils/reactNativeHierarchyExtractor.js +1 -0
  153. package/dist/utils/reactNativeHierarchyExtractor.js.map +1 -0
  154. package/dist/utils/rrweb-events.d.ts +4 -3
  155. package/dist/utils/rrweb-events.js +1 -1
  156. package/dist/utils/rrweb-events.js.map +1 -1
  157. package/dist/utils/screenshotMasker.d.ts +96 -0
  158. package/dist/utils/screenshotMasker.js +1 -0
  159. package/dist/utils/screenshotMasker.js.map +1 -0
  160. package/dist/utils/session.d.ts +2 -1
  161. package/dist/utils/session.js +1 -1
  162. package/dist/utils/session.js.map +1 -1
  163. package/dist/utils/shallowEqual.d.ts +1 -0
  164. package/dist/utils/shallowEqual.js +1 -0
  165. package/dist/utils/shallowEqual.js.map +1 -0
  166. package/dist/utils/viewHierarchyTracker.d.ts +89 -0
  167. package/dist/utils/viewHierarchyTracker.js +1 -0
  168. package/dist/utils/viewHierarchyTracker.js.map +1 -0
  169. package/dist/version.d.ts +1 -1
  170. package/dist/version.js +1 -1
  171. package/dist/version.js.map +1 -1
  172. package/ios/GestureRecorderNative.m +21 -0
  173. package/ios/GestureRecorderNative.swift +316 -0
  174. package/ios/SessionRecorderNative.m +17 -0
  175. package/ios/SessionRecorderNative.podspec +26 -0
  176. package/ios/SessionRecorderNative.swift +599 -0
  177. package/package.json +14 -12
  178. package/react-native.config.js +12 -0
  179. package/RRWEB_INTEGRATION.md +0 -336
  180. package/VIEWSHOT_INTEGRATION_TEST.md +0 -123
  181. package/babel.config.js +0 -13
  182. package/dist/components/GestureCaptureWrapper.d.ts +0 -6
  183. package/dist/components/GestureCaptureWrapper.js +0 -1
  184. package/dist/components/GestureCaptureWrapper.js.map +0 -1
  185. package/dist/expo.d.ts +0 -7
  186. package/dist/expo.js +0 -1
  187. package/dist/expo.js.map +0 -1
  188. package/dist/otel/instrumentations/gestureInstrumentation.d.ts +0 -15
  189. package/dist/otel/instrumentations/gestureInstrumentation.js +0 -1
  190. package/dist/otel/instrumentations/gestureInstrumentation.js.map +0 -1
  191. package/dist/otel/instrumentations/reactNativeInstrumentation.d.ts +0 -8
  192. package/dist/otel/instrumentations/reactNativeInstrumentation.js +0 -1
  193. package/dist/otel/instrumentations/reactNativeInstrumentation.js.map +0 -1
  194. package/dist/otel/instrumentations/reactNavigationInstrumentation.d.ts +0 -13
  195. package/dist/otel/instrumentations/reactNavigationInstrumentation.js +0 -1
  196. package/dist/otel/instrumentations/reactNavigationInstrumentation.js.map +0 -1
  197. package/dist/recorder/gestureHandlerRecorder.d.ts +0 -19
  198. package/dist/recorder/gestureHandlerRecorder.js +0 -1
  199. package/dist/recorder/gestureHandlerRecorder.js.map +0 -1
  200. package/dist/types/rrweb.d.ts +0 -118
  201. package/dist/types/rrweb.js +0 -1
  202. package/dist/types/rrweb.js.map +0 -1
  203. package/scripts/generate-app-metadata.js +0 -173
  204. package/src/components/GestureCaptureWrapper/GestureCaptureWrapper.tsx +0 -86
  205. package/src/components/GestureCaptureWrapper/index.ts +0 -1
  206. package/src/components/ScreenRecorderView/ScreenRecorderView.tsx +0 -72
  207. package/src/components/ScreenRecorderView/index.ts +0 -1
  208. package/src/components/index.ts +0 -1
  209. package/src/config/constants.ts +0 -60
  210. package/src/config/defaults.ts +0 -82
  211. package/src/config/index.ts +0 -6
  212. package/src/config/masking.ts +0 -27
  213. package/src/config/session-recorder.ts +0 -55
  214. package/src/config/validators.ts +0 -31
  215. package/src/context/SessionRecorderContext.tsx +0 -75
  216. package/src/expo.ts +0 -11
  217. package/src/index.ts +0 -17
  218. package/src/otel/helpers.ts +0 -275
  219. package/src/otel/index.ts +0 -138
  220. package/src/otel/instrumentations/index.ts +0 -115
  221. package/src/patch/index.ts +0 -1
  222. package/src/patch/xhr.ts +0 -142
  223. package/src/recorder/eventExporter.ts +0 -141
  224. package/src/recorder/gestureRecorder.ts +0 -498
  225. package/src/recorder/index.ts +0 -179
  226. package/src/recorder/navigationTracker.ts +0 -449
  227. package/src/recorder/screenRecorder.ts +0 -498
  228. package/src/services/api.service.ts +0 -203
  229. package/src/services/storage.service.ts +0 -158
  230. package/src/session-recorder.ts +0 -600
  231. package/src/types/expo.d.ts +0 -23
  232. package/src/types/index.ts +0 -28
  233. package/src/types/session-recorder.ts +0 -423
  234. package/src/types/session.ts +0 -65
  235. package/src/utils/app-metadata.ts +0 -31
  236. package/src/utils/index.ts +0 -8
  237. package/src/utils/logger.ts +0 -225
  238. package/src/utils/platform.ts +0 -384
  239. package/src/utils/request-utils.ts +0 -61
  240. package/src/utils/rrweb-events.ts +0 -309
  241. package/src/utils/session.ts +0 -18
  242. package/src/utils/time.ts +0 -17
  243. package/src/utils/type-utils.ts +0 -75
  244. package/src/version.ts +0 -1
  245. 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
- }