@multiplayer-app/session-recorder-react-native 1.0.0 → 1.0.1-beta.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.
Files changed (463) hide show
  1. package/LICENSE +1 -2
  2. package/README.md +216 -155
  3. package/SessionRecorderNative.podspec +35 -14
  4. package/android/build.gradle +65 -22
  5. package/android/gradle.properties +5 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativeConfig.kt +52 -0
  8. package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativeModule.kt +861 -0
  9. package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativePackage.kt +33 -0
  10. package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativeSpec.kt +79 -0
  11. package/android/src/main/java/com/sessionrecordernative/model/TargetInfo.kt +9 -0
  12. package/android/src/main/java/com/sessionrecordernative/util/ViewUtils.kt +72 -0
  13. package/ios/GestureTargetFinder.swift +50 -0
  14. package/ios/SessionRecorderNative-Bridging-Header.h +2 -0
  15. package/ios/{GestureRecorderNative.m → SessionRecorderNative.mm} +17 -6
  16. package/ios/SessionRecorderNative.swift +256 -4
  17. package/lib/module/SessionRecorderNativeSpec.js +5 -0
  18. package/lib/module/SessionRecorderNativeSpec.js.map +1 -0
  19. package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js +23 -0
  20. package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js.map +1 -0
  21. package/lib/module/components/ScreenRecorderView/index.js +4 -0
  22. package/lib/module/components/ScreenRecorderView/index.js.map +1 -0
  23. package/lib/module/components/SessionRecorderWidget/ErrorBanner.js +64 -0
  24. package/lib/module/components/SessionRecorderWidget/ErrorBanner.js.map +1 -0
  25. package/lib/module/components/SessionRecorderWidget/FinalPopover.js +74 -0
  26. package/lib/module/components/SessionRecorderWidget/FinalPopover.js.map +1 -0
  27. package/lib/module/components/SessionRecorderWidget/FloatingButton.js +191 -0
  28. package/lib/module/components/SessionRecorderWidget/FloatingButton.js.map +1 -0
  29. package/lib/module/components/SessionRecorderWidget/InitialPopover.js +138 -0
  30. package/lib/module/components/SessionRecorderWidget/InitialPopover.js.map +1 -0
  31. package/lib/module/components/SessionRecorderWidget/ModalContainer.js +177 -0
  32. package/lib/module/components/SessionRecorderWidget/ModalContainer.js.map +1 -0
  33. package/lib/module/components/SessionRecorderWidget/ModalHeader.js +27 -0
  34. package/lib/module/components/SessionRecorderWidget/ModalHeader.js.map +1 -0
  35. package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js +133 -0
  36. package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -0
  37. package/lib/module/components/SessionRecorderWidget/icons.js +93 -0
  38. package/lib/module/components/SessionRecorderWidget/icons.js.map +1 -0
  39. package/lib/module/components/SessionRecorderWidget/index.js +5 -0
  40. package/lib/module/components/SessionRecorderWidget/index.js.map +1 -0
  41. package/lib/module/components/SessionRecorderWidget/styles.js +173 -0
  42. package/lib/module/components/SessionRecorderWidget/styles.js.map +1 -0
  43. package/lib/module/components/index.js +5 -0
  44. package/lib/module/components/index.js.map +1 -0
  45. package/lib/module/config/constants.js +42 -0
  46. package/lib/module/config/constants.js.map +1 -0
  47. package/lib/module/config/defaults.js +81 -0
  48. package/lib/module/config/defaults.js.map +1 -0
  49. package/lib/module/config/index.js +9 -0
  50. package/lib/module/config/index.js.map +1 -0
  51. package/lib/module/config/masking.js +35 -0
  52. package/lib/module/config/masking.js.map +1 -0
  53. package/lib/module/config/session-recorder.js +44 -0
  54. package/lib/module/config/session-recorder.js.map +1 -0
  55. package/lib/module/config/validators.js +28 -0
  56. package/lib/module/config/validators.js.map +1 -0
  57. package/lib/module/config/widget.js +35 -0
  58. package/lib/module/config/widget.js.map +1 -0
  59. package/lib/module/context/SessionRecorderContext.js +93 -0
  60. package/lib/module/context/SessionRecorderContext.js.map +1 -0
  61. package/lib/module/context/SessionRecorderStore.js +12 -0
  62. package/lib/module/context/SessionRecorderStore.js.map +1 -0
  63. package/lib/module/context/useSessionRecorderStore.js +20 -0
  64. package/lib/module/context/useSessionRecorderStore.js.map +1 -0
  65. package/lib/module/context/useStoreSelector.js +27 -0
  66. package/lib/module/context/useStoreSelector.js.map +1 -0
  67. package/lib/module/index.js +16 -0
  68. package/lib/module/index.js.map +1 -0
  69. package/lib/module/native/SessionRecorderNative.js +79 -0
  70. package/lib/module/native/SessionRecorderNative.js.map +1 -0
  71. package/lib/module/native/index.js +4 -0
  72. package/lib/module/native/index.js.map +1 -0
  73. package/lib/module/otel/helpers.js +218 -0
  74. package/lib/module/otel/helpers.js.map +1 -0
  75. package/lib/module/otel/index.js +95 -0
  76. package/lib/module/otel/index.js.map +1 -0
  77. package/lib/module/otel/instrumentations/index.js +102 -0
  78. package/lib/module/otel/instrumentations/index.js.map +1 -0
  79. package/lib/module/package.json +1 -0
  80. package/lib/module/patch/index.js +4 -0
  81. package/lib/module/patch/index.js.map +1 -0
  82. package/lib/module/patch/xhr.js +116 -0
  83. package/lib/module/patch/xhr.js.map +1 -0
  84. package/lib/module/recorder/eventExporter.js +130 -0
  85. package/lib/module/recorder/eventExporter.js.map +1 -0
  86. package/lib/module/recorder/gestureRecorder.js +641 -0
  87. package/lib/module/recorder/gestureRecorder.js.map +1 -0
  88. package/lib/module/recorder/index.js +168 -0
  89. package/lib/module/recorder/index.js.map +1 -0
  90. package/lib/module/recorder/navigationTracker.js +228 -0
  91. package/lib/module/recorder/navigationTracker.js.map +1 -0
  92. package/lib/module/recorder/screenRecorder.js +495 -0
  93. package/lib/module/recorder/screenRecorder.js.map +1 -0
  94. package/lib/module/services/api.service.js +149 -0
  95. package/lib/module/services/api.service.js.map +1 -0
  96. package/lib/module/services/network.service.js +178 -0
  97. package/lib/module/services/network.service.js.map +1 -0
  98. package/lib/module/services/screenMaskingService.js +107 -0
  99. package/lib/module/services/screenMaskingService.js.map +1 -0
  100. package/lib/module/services/storage.service.js +179 -0
  101. package/lib/module/services/storage.service.js.map +1 -0
  102. package/lib/module/session-recorder.js +541 -0
  103. package/lib/module/session-recorder.js.map +1 -0
  104. package/lib/module/types/configs.js +4 -0
  105. package/lib/module/types/configs.js.map +1 -0
  106. package/lib/module/types/expo-constants.d.js +2 -0
  107. package/lib/module/types/expo-constants.d.js.map +1 -0
  108. package/lib/module/types/index.js +11 -0
  109. package/lib/module/types/index.js.map +1 -0
  110. package/lib/module/types/session-recorder.js +68 -0
  111. package/lib/module/types/session-recorder.js.map +1 -0
  112. package/lib/module/types/session.js +9 -0
  113. package/lib/module/types/session.js.map +1 -0
  114. package/lib/module/utils/app-metadata.js +28 -0
  115. package/lib/module/utils/app-metadata.js.map +1 -0
  116. package/lib/module/utils/constants.optional.expo.js +6 -0
  117. package/lib/module/utils/constants.optional.expo.js.map +1 -0
  118. package/lib/module/utils/constants.optional.js +8 -0
  119. package/lib/module/utils/constants.optional.js.map +1 -0
  120. package/lib/module/utils/createStore.js +27 -0
  121. package/lib/module/utils/createStore.js.map +1 -0
  122. package/lib/module/utils/index.js +11 -0
  123. package/lib/module/utils/index.js.map +1 -0
  124. package/lib/module/utils/logger.js +185 -0
  125. package/lib/module/utils/logger.js.map +1 -0
  126. package/lib/module/utils/platform.js +340 -0
  127. package/lib/module/utils/platform.js.map +1 -0
  128. package/lib/module/utils/request-utils.js +58 -0
  129. package/lib/module/utils/request-utils.js.map +1 -0
  130. package/lib/module/utils/rrweb-events.js +276 -0
  131. package/lib/module/utils/rrweb-events.js.map +1 -0
  132. package/lib/module/utils/session.js +21 -0
  133. package/lib/module/utils/session.js.map +1 -0
  134. package/lib/module/utils/shallowEqual.js +17 -0
  135. package/lib/module/utils/shallowEqual.js.map +1 -0
  136. package/lib/module/utils/time.js +17 -0
  137. package/lib/module/utils/time.js.map +1 -0
  138. package/lib/module/utils/type-utils.js +69 -0
  139. package/lib/module/utils/type-utils.js.map +1 -0
  140. package/lib/module/version.js +4 -0
  141. package/lib/module/version.js.map +1 -0
  142. package/lib/typescript/package.json +1 -0
  143. package/{dist/native/SessionRecorderNative.d.ts → lib/typescript/src/SessionRecorderNativeSpec.d.ts} +23 -15
  144. package/lib/typescript/src/SessionRecorderNativeSpec.d.ts.map +1 -0
  145. package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts +6 -0
  146. package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts.map +1 -0
  147. package/lib/typescript/src/components/ScreenRecorderView/index.d.ts +2 -0
  148. package/lib/typescript/src/components/ScreenRecorderView/index.d.ts.map +1 -0
  149. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ErrorBanner.d.ts +1 -0
  150. package/lib/typescript/src/components/SessionRecorderWidget/ErrorBanner.d.ts.map +1 -0
  151. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/FinalPopover.d.ts +2 -1
  152. package/lib/typescript/src/components/SessionRecorderWidget/FinalPopover.d.ts.map +1 -0
  153. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/FloatingButton.d.ts +1 -0
  154. package/lib/typescript/src/components/SessionRecorderWidget/FloatingButton.d.ts.map +1 -0
  155. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/InitialPopover.d.ts +2 -1
  156. package/lib/typescript/src/components/SessionRecorderWidget/InitialPopover.d.ts.map +1 -0
  157. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ModalContainer.d.ts +1 -0
  158. package/lib/typescript/src/components/SessionRecorderWidget/ModalContainer.d.ts.map +1 -0
  159. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ModalHeader.d.ts +1 -0
  160. package/lib/typescript/src/components/SessionRecorderWidget/ModalHeader.d.ts.map +1 -0
  161. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +1 -0
  162. package/lib/typescript/src/components/SessionRecorderWidget/SessionRecorderWidget.d.ts.map +1 -0
  163. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/icons.d.ts +1 -0
  164. package/lib/typescript/src/components/SessionRecorderWidget/icons.d.ts.map +1 -0
  165. package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts +3 -0
  166. package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts.map +1 -0
  167. package/{dist → lib/typescript/src}/components/SessionRecorderWidget/styles.d.ts +4 -3
  168. package/lib/typescript/src/components/SessionRecorderWidget/styles.d.ts.map +1 -0
  169. package/lib/typescript/src/components/index.d.ts +3 -0
  170. package/lib/typescript/src/components/index.d.ts.map +1 -0
  171. package/{dist → lib/typescript/src}/config/constants.d.ts +1 -0
  172. package/lib/typescript/src/config/constants.d.ts.map +1 -0
  173. package/{dist → lib/typescript/src}/config/defaults.d.ts +2 -1
  174. package/lib/typescript/src/config/defaults.d.ts.map +1 -0
  175. package/{dist → lib/typescript/src}/config/index.d.ts +1 -0
  176. package/lib/typescript/src/config/index.d.ts.map +1 -0
  177. package/lib/typescript/src/config/masking.d.ts +3 -0
  178. package/lib/typescript/src/config/masking.d.ts.map +1 -0
  179. package/lib/typescript/src/config/session-recorder.d.ts +3 -0
  180. package/lib/typescript/src/config/session-recorder.d.ts.map +1 -0
  181. package/{dist → lib/typescript/src}/config/validators.d.ts +1 -0
  182. package/lib/typescript/src/config/validators.d.ts.map +1 -0
  183. package/{dist → lib/typescript/src}/config/widget.d.ts +2 -1
  184. package/lib/typescript/src/config/widget.d.ts.map +1 -0
  185. package/{dist → lib/typescript/src}/context/SessionRecorderContext.d.ts +3 -2
  186. package/lib/typescript/src/context/SessionRecorderContext.d.ts.map +1 -0
  187. package/{dist → lib/typescript/src}/context/SessionRecorderStore.d.ts +2 -1
  188. package/lib/typescript/src/context/SessionRecorderStore.d.ts.map +1 -0
  189. package/{dist → lib/typescript/src}/context/useSessionRecorderStore.d.ts +4 -3
  190. package/lib/typescript/src/context/useSessionRecorderStore.d.ts.map +1 -0
  191. package/{dist → lib/typescript/src}/context/useStoreSelector.d.ts +2 -1
  192. package/lib/typescript/src/context/useStoreSelector.d.ts.map +1 -0
  193. package/{dist → lib/typescript/src}/index.d.ts +2 -0
  194. package/lib/typescript/src/index.d.ts.map +1 -0
  195. package/lib/typescript/src/native/SessionRecorderNative.d.ts +27 -0
  196. package/lib/typescript/src/native/SessionRecorderNative.d.ts.map +1 -0
  197. package/lib/typescript/src/native/index.d.ts +2 -0
  198. package/lib/typescript/src/native/index.d.ts.map +1 -0
  199. package/{dist → lib/typescript/src}/otel/helpers.d.ts +3 -2
  200. package/lib/typescript/src/otel/helpers.d.ts.map +1 -0
  201. package/{dist → lib/typescript/src}/otel/index.d.ts +2 -2
  202. package/lib/typescript/src/otel/index.d.ts.map +1 -0
  203. package/{dist → lib/typescript/src}/otel/instrumentations/index.d.ts +2 -1
  204. package/lib/typescript/src/otel/instrumentations/index.d.ts.map +1 -0
  205. package/lib/typescript/src/patch/index.d.ts +2 -0
  206. package/lib/typescript/src/patch/index.d.ts.map +1 -0
  207. package/{dist → lib/typescript/src}/patch/xhr.d.ts +1 -0
  208. package/lib/typescript/src/patch/xhr.d.ts.map +1 -0
  209. package/{dist → lib/typescript/src}/recorder/eventExporter.d.ts +2 -1
  210. package/lib/typescript/src/recorder/eventExporter.d.ts.map +1 -0
  211. package/{dist → lib/typescript/src}/recorder/gestureRecorder.d.ts +3 -2
  212. package/lib/typescript/src/recorder/gestureRecorder.d.ts.map +1 -0
  213. package/{dist → lib/typescript/src}/recorder/index.d.ts +3 -2
  214. package/lib/typescript/src/recorder/index.d.ts.map +1 -0
  215. package/{dist → lib/typescript/src}/recorder/navigationTracker.d.ts +2 -1
  216. package/lib/typescript/src/recorder/navigationTracker.d.ts.map +1 -0
  217. package/{dist → lib/typescript/src}/recorder/screenRecorder.d.ts +4 -4
  218. package/lib/typescript/src/recorder/screenRecorder.d.ts.map +1 -0
  219. package/{dist → lib/typescript/src}/services/api.service.d.ts +2 -1
  220. package/lib/typescript/src/services/api.service.d.ts.map +1 -0
  221. package/{dist → lib/typescript/src}/services/network.service.d.ts +1 -0
  222. package/lib/typescript/src/services/network.service.d.ts.map +1 -0
  223. package/{dist → lib/typescript/src}/services/screenMaskingService.d.ts +2 -1
  224. package/lib/typescript/src/services/screenMaskingService.d.ts.map +1 -0
  225. package/{dist → lib/typescript/src}/services/storage.service.d.ts +2 -1
  226. package/lib/typescript/src/services/storage.service.d.ts.map +1 -0
  227. package/{dist → lib/typescript/src}/session-recorder.d.ts +3 -2
  228. package/lib/typescript/src/session-recorder.d.ts.map +1 -0
  229. package/{dist → lib/typescript/src}/types/configs.d.ts +3 -2
  230. package/lib/typescript/src/types/configs.d.ts.map +1 -0
  231. package/{dist → lib/typescript/src}/types/index.d.ts +1 -0
  232. package/lib/typescript/src/types/index.d.ts.map +1 -0
  233. package/{dist → lib/typescript/src}/types/session-recorder.d.ts +7 -6
  234. package/lib/typescript/src/types/session-recorder.d.ts.map +1 -0
  235. package/{dist → lib/typescript/src}/types/session.d.ts +1 -0
  236. package/lib/typescript/src/types/session.d.ts.map +1 -0
  237. package/{dist → lib/typescript/src}/utils/app-metadata.d.ts +1 -0
  238. package/lib/typescript/src/utils/app-metadata.d.ts.map +1 -0
  239. package/{dist → lib/typescript/src}/utils/constants.optional.d.ts +1 -0
  240. package/lib/typescript/src/utils/constants.optional.d.ts.map +1 -0
  241. package/{dist → lib/typescript/src}/utils/constants.optional.expo.d.ts +1 -0
  242. package/lib/typescript/src/utils/constants.optional.expo.d.ts.map +1 -0
  243. package/{dist → lib/typescript/src}/utils/createStore.d.ts +1 -0
  244. package/lib/typescript/src/utils/createStore.d.ts.map +1 -0
  245. package/lib/typescript/src/utils/index.d.ts +8 -0
  246. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  247. package/{dist → lib/typescript/src}/utils/logger.d.ts +2 -1
  248. package/lib/typescript/src/utils/logger.d.ts.map +1 -0
  249. package/{dist → lib/typescript/src}/utils/platform.d.ts +2 -1
  250. package/lib/typescript/src/utils/platform.d.ts.map +1 -0
  251. package/{dist → lib/typescript/src}/utils/request-utils.d.ts +1 -0
  252. package/lib/typescript/src/utils/request-utils.d.ts.map +1 -0
  253. package/{dist → lib/typescript/src}/utils/rrweb-events.d.ts +2 -1
  254. package/lib/typescript/src/utils/rrweb-events.d.ts.map +1 -0
  255. package/{dist → lib/typescript/src}/utils/session.d.ts +1 -0
  256. package/lib/typescript/src/utils/session.d.ts.map +1 -0
  257. package/{dist → lib/typescript/src}/utils/shallowEqual.d.ts +1 -0
  258. package/lib/typescript/src/utils/shallowEqual.d.ts.map +1 -0
  259. package/{dist → lib/typescript/src}/utils/time.d.ts +1 -0
  260. package/lib/typescript/src/utils/time.d.ts.map +1 -0
  261. package/{dist → lib/typescript/src}/utils/type-utils.d.ts +1 -0
  262. package/lib/typescript/src/utils/type-utils.d.ts.map +1 -0
  263. package/lib/typescript/src/version.d.ts +2 -0
  264. package/lib/typescript/src/version.d.ts.map +1 -0
  265. package/package.json +157 -39
  266. package/react-native.config.js +8 -6
  267. package/src/SessionRecorderNativeSpec.ts +52 -0
  268. package/src/components/ScreenRecorderView/ScreenRecorderView.tsx +20 -0
  269. package/src/components/ScreenRecorderView/index.ts +1 -0
  270. package/src/components/SessionRecorderWidget/ErrorBanner.tsx +58 -0
  271. package/src/components/SessionRecorderWidget/FinalPopover.tsx +96 -0
  272. package/src/components/SessionRecorderWidget/FloatingButton.tsx +176 -0
  273. package/src/components/SessionRecorderWidget/InitialPopover.tsx +167 -0
  274. package/src/components/SessionRecorderWidget/ModalContainer.tsx +189 -0
  275. package/src/components/SessionRecorderWidget/ModalHeader.tsx +26 -0
  276. package/src/components/SessionRecorderWidget/SessionRecorderWidget.tsx +150 -0
  277. package/src/components/SessionRecorderWidget/icons.tsx +80 -0
  278. package/src/components/SessionRecorderWidget/index.ts +3 -0
  279. package/src/components/SessionRecorderWidget/styles.ts +168 -0
  280. package/src/config/constants.ts +67 -0
  281. package/src/config/defaults.ts +105 -0
  282. package/src/config/index.ts +6 -0
  283. package/src/config/masking.ts +60 -0
  284. package/src/config/session-recorder.ts +87 -0
  285. package/src/config/validators.ts +54 -0
  286. package/src/config/widget.ts +47 -0
  287. package/src/context/SessionRecorderContext.tsx +138 -0
  288. package/src/context/SessionRecorderStore.ts +22 -0
  289. package/src/context/useSessionRecorderStore.ts +34 -0
  290. package/src/context/useStoreSelector.ts +36 -0
  291. package/src/index.ts +13 -0
  292. package/src/native/SessionRecorderNative.ts +120 -0
  293. package/src/native/index.ts +5 -0
  294. package/src/otel/helpers.ts +290 -0
  295. package/src/otel/index.ts +132 -0
  296. package/src/otel/instrumentations/index.ts +118 -0
  297. package/src/patch/xhr.ts +148 -0
  298. package/src/recorder/eventExporter.ts +150 -0
  299. package/src/recorder/gestureRecorder.ts +828 -0
  300. package/src/recorder/index.ts +203 -0
  301. package/src/recorder/navigationTracker.ts +268 -0
  302. package/src/recorder/screenRecorder.ts +600 -0
  303. package/src/services/api.service.ts +216 -0
  304. package/src/services/network.service.ts +191 -0
  305. package/src/services/screenMaskingService.ts +153 -0
  306. package/src/services/storage.service.ts +248 -0
  307. package/src/session-recorder.ts +647 -0
  308. package/src/types/configs.ts +118 -0
  309. package/src/types/expo-constants.d.ts +7 -0
  310. package/src/types/index.ts +27 -0
  311. package/src/types/session-recorder.ts +381 -0
  312. package/src/types/session.ts +65 -0
  313. package/src/utils/app-metadata.ts +31 -0
  314. package/src/utils/constants.optional.expo.ts +5 -0
  315. package/src/utils/constants.optional.ts +18 -0
  316. package/src/utils/createStore.ts +32 -0
  317. package/{dist/utils/index.d.ts → src/utils/index.ts} +1 -0
  318. package/src/utils/logger.ts +245 -0
  319. package/src/utils/platform.ts +401 -0
  320. package/src/utils/request-utils.ts +61 -0
  321. package/src/utils/rrweb-events.ts +329 -0
  322. package/src/utils/session.ts +22 -0
  323. package/src/utils/shallowEqual.ts +20 -0
  324. package/src/utils/time.ts +20 -0
  325. package/src/utils/type-utils.ts +75 -0
  326. package/src/version.ts +1 -0
  327. package/copy-react-native-dist.sh +0 -56
  328. package/dist/components/ScreenRecorderView/ScreenRecorderView.d.ts +0 -5
  329. package/dist/components/ScreenRecorderView/ScreenRecorderView.js +0 -1
  330. package/dist/components/ScreenRecorderView/ScreenRecorderView.js.map +0 -1
  331. package/dist/components/ScreenRecorderView/index.d.ts +0 -1
  332. package/dist/components/ScreenRecorderView/index.js +0 -1
  333. package/dist/components/ScreenRecorderView/index.js.map +0 -1
  334. package/dist/components/SessionRecorderWidget/ErrorBanner.js +0 -1
  335. package/dist/components/SessionRecorderWidget/ErrorBanner.js.map +0 -1
  336. package/dist/components/SessionRecorderWidget/FinalPopover.js +0 -1
  337. package/dist/components/SessionRecorderWidget/FinalPopover.js.map +0 -1
  338. package/dist/components/SessionRecorderWidget/FloatingButton.js +0 -1
  339. package/dist/components/SessionRecorderWidget/FloatingButton.js.map +0 -1
  340. package/dist/components/SessionRecorderWidget/InitialPopover.js +0 -1
  341. package/dist/components/SessionRecorderWidget/InitialPopover.js.map +0 -1
  342. package/dist/components/SessionRecorderWidget/ModalContainer.js +0 -1
  343. package/dist/components/SessionRecorderWidget/ModalContainer.js.map +0 -1
  344. package/dist/components/SessionRecorderWidget/ModalHeader.js +0 -1
  345. package/dist/components/SessionRecorderWidget/ModalHeader.js.map +0 -1
  346. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +0 -1
  347. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +0 -1
  348. package/dist/components/SessionRecorderWidget/icons.js +0 -1
  349. package/dist/components/SessionRecorderWidget/icons.js.map +0 -1
  350. package/dist/components/SessionRecorderWidget/index.d.ts +0 -2
  351. package/dist/components/SessionRecorderWidget/index.js +0 -1
  352. package/dist/components/SessionRecorderWidget/index.js.map +0 -1
  353. package/dist/components/SessionRecorderWidget/styles.js +0 -1
  354. package/dist/components/SessionRecorderWidget/styles.js.map +0 -1
  355. package/dist/components/index.js +0 -1
  356. package/dist/components/index.js.map +0 -1
  357. package/dist/config/constants.js +0 -1
  358. package/dist/config/constants.js.map +0 -1
  359. package/dist/config/defaults.js +0 -1
  360. package/dist/config/defaults.js.map +0 -1
  361. package/dist/config/index.js +0 -1
  362. package/dist/config/index.js.map +0 -1
  363. package/dist/config/masking.d.ts +0 -2
  364. package/dist/config/masking.js +0 -1
  365. package/dist/config/masking.js.map +0 -1
  366. package/dist/config/session-recorder.d.ts +0 -2
  367. package/dist/config/session-recorder.js +0 -1
  368. package/dist/config/session-recorder.js.map +0 -1
  369. package/dist/config/validators.js +0 -1
  370. package/dist/config/validators.js.map +0 -1
  371. package/dist/config/widget.js +0 -1
  372. package/dist/config/widget.js.map +0 -1
  373. package/dist/context/SessionRecorderContext.js +0 -1
  374. package/dist/context/SessionRecorderContext.js.map +0 -1
  375. package/dist/context/SessionRecorderStore.js +0 -1
  376. package/dist/context/SessionRecorderStore.js.map +0 -1
  377. package/dist/context/useSessionRecorderStore.js +0 -1
  378. package/dist/context/useSessionRecorderStore.js.map +0 -1
  379. package/dist/context/useStoreSelector.js +0 -1
  380. package/dist/context/useStoreSelector.js.map +0 -1
  381. package/dist/index.js +0 -1
  382. package/dist/index.js.map +0 -1
  383. package/dist/native/GestureRecorderNative.d.ts +0 -57
  384. package/dist/native/GestureRecorderNative.js +0 -1
  385. package/dist/native/GestureRecorderNative.js.map +0 -1
  386. package/dist/native/SessionRecorderNative.js +0 -1
  387. package/dist/native/SessionRecorderNative.js.map +0 -1
  388. package/dist/native/index.d.ts +0 -2
  389. package/dist/native/index.js +0 -1
  390. package/dist/native/index.js.map +0 -1
  391. package/dist/otel/helpers.js +0 -1
  392. package/dist/otel/helpers.js.map +0 -1
  393. package/dist/otel/index.js +0 -1
  394. package/dist/otel/index.js.map +0 -1
  395. package/dist/otel/instrumentations/index.js +0 -1
  396. package/dist/otel/instrumentations/index.js.map +0 -1
  397. package/dist/patch/index.js +0 -1
  398. package/dist/patch/index.js.map +0 -1
  399. package/dist/patch/xhr.js +0 -1
  400. package/dist/patch/xhr.js.map +0 -1
  401. package/dist/recorder/eventExporter.js +0 -1
  402. package/dist/recorder/eventExporter.js.map +0 -1
  403. package/dist/recorder/gestureRecorder.js +0 -1
  404. package/dist/recorder/gestureRecorder.js.map +0 -1
  405. package/dist/recorder/index.js +0 -1
  406. package/dist/recorder/index.js.map +0 -1
  407. package/dist/recorder/navigationTracker.js +0 -1
  408. package/dist/recorder/navigationTracker.js.map +0 -1
  409. package/dist/recorder/screenRecorder.js +0 -1
  410. package/dist/recorder/screenRecorder.js.map +0 -1
  411. package/dist/services/api.service.js +0 -1
  412. package/dist/services/api.service.js.map +0 -1
  413. package/dist/services/network.service.js +0 -1
  414. package/dist/services/network.service.js.map +0 -1
  415. package/dist/services/screenMaskingService.js +0 -1
  416. package/dist/services/screenMaskingService.js.map +0 -1
  417. package/dist/services/storage.service.js +0 -1
  418. package/dist/services/storage.service.js.map +0 -1
  419. package/dist/session-recorder.js +0 -1
  420. package/dist/session-recorder.js.map +0 -1
  421. package/dist/types/configs.js +0 -1
  422. package/dist/types/configs.js.map +0 -1
  423. package/dist/types/index.js +0 -1
  424. package/dist/types/index.js.map +0 -1
  425. package/dist/types/session-recorder.js +0 -1
  426. package/dist/types/session-recorder.js.map +0 -1
  427. package/dist/types/session.js +0 -1
  428. package/dist/types/session.js.map +0 -1
  429. package/dist/utils/app-metadata.js +0 -1
  430. package/dist/utils/app-metadata.js.map +0 -1
  431. package/dist/utils/constants.optional.expo.js +0 -1
  432. package/dist/utils/constants.optional.expo.js.map +0 -1
  433. package/dist/utils/constants.optional.js +0 -1
  434. package/dist/utils/constants.optional.js.map +0 -1
  435. package/dist/utils/createStore.js +0 -1
  436. package/dist/utils/createStore.js.map +0 -1
  437. package/dist/utils/index.js +0 -1
  438. package/dist/utils/index.js.map +0 -1
  439. package/dist/utils/logger.js +0 -1
  440. package/dist/utils/logger.js.map +0 -1
  441. package/dist/utils/platform.js +0 -1
  442. package/dist/utils/platform.js.map +0 -1
  443. package/dist/utils/request-utils.js +0 -1
  444. package/dist/utils/request-utils.js.map +0 -1
  445. package/dist/utils/rrweb-events.js +0 -1
  446. package/dist/utils/rrweb-events.js.map +0 -1
  447. package/dist/utils/session.js +0 -1
  448. package/dist/utils/session.js.map +0 -1
  449. package/dist/utils/shallowEqual.js +0 -1
  450. package/dist/utils/shallowEqual.js.map +0 -1
  451. package/dist/utils/time.js +0 -1
  452. package/dist/utils/time.js.map +0 -1
  453. package/dist/utils/type-utils.js +0 -1
  454. package/dist/utils/type-utils.js.map +0 -1
  455. package/dist/version.d.ts +0 -1
  456. package/dist/version.js +0 -1
  457. package/dist/version.js.map +0 -1
  458. package/docs/AUTO_METADATA_DETECTION.md +0 -108
  459. package/ios/GestureRecorderNative.swift +0 -316
  460. package/ios/SessionRecorderNative.m +0 -17
  461. package/ios/SessionRecorderNative.podspec +0 -26
  462. /package/{dist/components/index.d.ts → src/components/index.ts} +0 -0
  463. /package/{dist/patch/index.d.ts → src/patch/index.ts} +0 -0
@@ -1 +0,0 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.configureAppMetadata=configureAppMetadata;exports.detectPlatform=detectPlatform;exports.getAppMetadata=getAppMetadata;exports.getConfiguredAppMetadata=getConfiguredAppMetadata;exports.getNavigatorInfo=void 0;exports.getPlatformAttributes=getPlatformAttributes;exports.isExpoEnvironment=isExpoEnvironment;exports.isReactNativeEnvironment=isReactNativeEnvironment;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _constants=_interopRequireDefault(require("./constants.optional"));var _reactNative=require("react-native");var _version=require("../version");var _appMetadata=require("./app-metadata");function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}var globalAppMetadata={};var autoDetectedMetadata=null;function detectPlatform(){var _a;try{var isExpo=!!(_constants["default"]===null||_constants["default"]===void 0?void 0:_constants["default"].expoVersion);if(isExpo){var expoVersion=_constants["default"]===null||_constants["default"]===void 0?void 0:_constants["default"].expoVersion;var platform=_constants["default"]===null||_constants["default"]===void 0?void 0:_constants["default"].platform;return{isExpo:true,isReactNative:true,platform:(platform===null||platform===void 0?void 0:platform.ios)?'ios':(platform===null||platform===void 0?void 0:platform.android)?'android':'unknown',expoVersion:expoVersion,deviceType:'expo'};}return{isExpo:false,isReactNative:true,platform:_reactNative.Platform.OS,platformVersion:(_a=_reactNative.Platform.Version)===null||_a===void 0?void 0:_a.toString(),deviceType:_reactNative.Platform.OS};}catch(error){return{isExpo:false,isReactNative:false,platform:'unknown',deviceType:'unknown'};}}function getPlatformAttributes(){var platformInfo=detectPlatform();var attributes={platform:platformInfo.isExpo?'expo':'react-native','device.type':platformInfo.deviceType};if(platformInfo.platformVersion){attributes['platform.version']=platformInfo.platformVersion;}if(platformInfo.expoVersion){attributes['expo.version']=platformInfo.expoVersion;}return attributes;}function isExpoEnvironment(){return detectPlatform().isExpo;}function isReactNativeEnvironment(){return detectPlatform().isReactNative;}function configureAppMetadata(metadata){globalAppMetadata=_objectSpread(_objectSpread({},globalAppMetadata),metadata);}function getConfiguredAppMetadata(){return _objectSpread({},globalAppMetadata);}function autoDetectAppMetadata(){if(autoDetectedMetadata){return autoDetectedMetadata;}try{var autoMetadata=(0,_appMetadata.getAutoDetectedAppMetadata)();var metadata={};if(autoMetadata.name)metadata.name=autoMetadata.name;if(autoMetadata.version)metadata.version=autoMetadata.version;if(autoMetadata.bundleId)metadata.bundleId=autoMetadata.bundleId;autoDetectedMetadata=metadata;return metadata;}catch(error){autoDetectedMetadata={};return{};}}function getAppMetadata(){var expoMetadata=getExpoMetadata();var configuredMetadata=getConfiguredAppMetadata();var autoMetadata=autoDetectAppMetadata();return{name:expoMetadata.name||configuredMetadata.name||autoMetadata.name,version:expoMetadata.version||configuredMetadata.version||autoMetadata.version,bundleId:expoMetadata.bundleId||configuredMetadata.bundleId||autoMetadata.bundleId};}function getExpoMetadata(){var _a,_b;var expoConfig=_constants["default"]===null||_constants["default"]===void 0?void 0:_constants["default"].expoConfig;if(!expoConfig)return{};return{name:expoConfig.name,version:expoConfig.version,bundleId:((_a=expoConfig.ios)===null||_a===void 0?void 0:_a.bundleIdentifier)||((_b=expoConfig.android)===null||_b===void 0?void 0:_b["package"])};}var getNavigatorInfo=exports.getNavigatorInfo=function getNavigatorInfo(){var platformInfo=detectPlatform();var screenData=_reactNative.Dimensions.get('window');var screenDataScreen=_reactNative.Dimensions.get('screen');var pixelRatio=_reactNative.PixelRatio.get();var getDeviceType=function getDeviceType(){var width=screenData.width,height=screenData.height;var minDimension=Math.min(width,height);var maxDimension=Math.max(width,height);if(maxDimension>=1024){return'Tablet';}else if(minDimension>=600){return'Large Phone';}else{return'Phone';}};var getOrientation=function getOrientation(){var width=screenData.width,height=screenData.height;return width>height?'Landscape':'Portrait';};var getOSInfo=function getOSInfo(){if(platformInfo.isExpo){var platform=_constants["default"]===null||_constants["default"]===void 0?void 0:_constants["default"].platform;if(platform===null||platform===void 0?void 0:platform.ios){return"iOS ".concat(_reactNative.Platform.Version);}else if(platform===null||platform===void 0?void 0:platform.android){return"Android ".concat(_reactNative.Platform.Version);}}if(_reactNative.Platform.OS==='ios'){return"iOS ".concat(_reactNative.Platform.Version);}else if(_reactNative.Platform.OS==='android'){return"Android ".concat(_reactNative.Platform.Version);}return"".concat(_reactNative.Platform.OS," ").concat(_reactNative.Platform.Version||'Unknown');};var getDeviceInfo=function getDeviceInfo(){var deviceType=getDeviceType();var osInfo=getOSInfo();return"".concat(deviceType," - ").concat(osInfo);};var getBrowserInfo=function getBrowserInfo(){if(platformInfo.isExpo){return"Expo ".concat(platformInfo.expoVersion||'Unknown'," - React Native");}return'React Native';};var getScreenSize=function getScreenSize(){return"".concat(Math.round(screenData.width),"x").concat(Math.round(screenData.height));};var metadata=getAppMetadata();var getAppInfo=function getAppInfo(){var appName=getAppName();var appVersion=getAppVersion();return"".concat(appName," v").concat(appVersion);};var getAppName=function getAppName(){if(metadata.name)return metadata.name;var configuredMetadata=getConfiguredAppMetadata();if(configuredMetadata.displayName)return configuredMetadata.displayName;return'React Native App';};var getAppVersion=function getAppVersion(){if(metadata.version)return metadata.version;return'Unknown';};var getBundleId=function getBundleId(){if(metadata.bundleId)return metadata.bundleId;return'com.reactnative.app';};var getBuildNumber=function getBuildNumber(){var _a,_b,_c,_d;var expoBuildNumber=((_b=(_a=_constants["default"]===null||_constants["default"]===void 0?void 0:_constants["default"].expoConfig)===null||_a===void 0?void 0:_a.ios)===null||_b===void 0?void 0:_b.buildNumber)||((_d=(_c=_constants["default"]===null||_constants["default"]===void 0?void 0:_constants["default"].expoConfig)===null||_c===void 0?void 0:_c.android)===null||_d===void 0?void 0:_d.versionCode);if(expoBuildNumber)return expoBuildNumber.toString();var configuredMetadata=getConfiguredAppMetadata();if(configuredMetadata.buildNumber)return configuredMetadata.buildNumber;return'1';};var getHardwareInfo=function getHardwareInfo(){var pixelRatioInfo="Pixel Ratio: ".concat(pixelRatio);var screenDensity=_reactNative.PixelRatio.getFontScale();return"".concat(pixelRatioInfo,", Font Scale: ").concat(screenDensity);};return{platform:platformInfo.isExpo?'expo':'react-native',userAgent:getBrowserInfo(),timestamp:new Date().toISOString(),deviceInfo:getDeviceInfo(),osInfo:getOSInfo(),browserInfo:getBrowserInfo(),screenSize:getScreenSize(),pixelRatio:pixelRatio,orientation:getOrientation(),screenWidth:Math.round(screenData.width),screenHeight:Math.round(screenData.height),screenScale:pixelRatio,hardwareConcurrency:1,cookiesEnabled:'N/A',packageVersion:_version.version,appInfo:getAppInfo(),appName:getAppName(),appVersion:getAppVersion(),bundleId:getBundleId(),buildNumber:getBuildNumber(),platformType:platformInfo.platform,platformVersion:platformInfo.platformVersion,expoVersion:platformInfo.expoVersion,deviceType:getDeviceType(),hardwareInfo:getHardwareInfo(),screenDensity:_reactNative.PixelRatio.getFontScale(),screenScaleFactor:pixelRatio,windowWidth:Math.round(screenData.width),windowHeight:Math.round(screenData.height),fullScreenWidth:Math.round(screenDataScreen.width),fullScreenHeight:Math.round(screenDataScreen.height),isExpo:platformInfo.isExpo,isReactNative:platformInfo.isReactNative,environment:platformInfo.isExpo?'expo':'react-native',systemType:'mobile'};};
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.queryToObject=exports.objectToQuery=exports.formDataToQuery=void 0;var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}var formDataToQuery=exports.formDataToQuery=function formDataToQuery(formData){if(!formData)return'';var params=new URLSearchParams();if(typeof formData.entries==='function'){var _iterator=_createForOfIteratorHelper(formData.entries()),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _step$value=(0,_slicedToArray2["default"])(_step.value,2),key=_step$value[0],value=_step$value[1];params.append(key,value);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}else if((0,_typeof2["default"])(formData)==='object'){for(var _i=0,_Object$entries=Object.entries(formData);_i<_Object$entries.length;_i++){var _Object$entries$_i=(0,_slicedToArray2["default"])(_Object$entries[_i],2),_key=_Object$entries$_i[0],_value=_Object$entries$_i[1];params.append(_key,String(_value));}}return params.toString();};var objectToQuery=exports.objectToQuery=function objectToQuery(obj){var params=new URLSearchParams();for(var _i2=0,_Object$entries2=Object.entries(obj);_i2<_Object$entries2.length;_i2++){var _Object$entries2$_i=(0,_slicedToArray2["default"])(_Object$entries2[_i2],2),key=_Object$entries2$_i[0],value=_Object$entries2$_i[1];if(value!==null&&value!==undefined){params.append(key,String(value));}}return params.toString();};var queryToObject=exports.queryToObject=function queryToObject(queryString){var params=new URLSearchParams(queryString);var obj={};var _iterator2=_createForOfIteratorHelper(params.entries()),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _step2$value=(0,_slicedToArray2["default"])(_step2.value,2),key=_step2$value[0],value=_step2$value[1];obj[key]=value;}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}return obj;};
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-utils.js","sourceRoot":"","sources":["../../src/utils/request-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAa,EAAU,EAAE;IACvD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAA;IAExB,mDAAmD;IACnD,sCAAsC;IACtC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;IAEpC,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAe,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAwB,EAAU,EAAE;IAChE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;IAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAmB,EAA0B,EAAE;IAC3E,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;IAC/C,MAAM,GAAG,GAA2B,EAAE,CAAA;IAEtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAClB,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createDocumentNode=createDocumentNode;exports.createFullSnapshotEvent=createFullSnapshotEvent;exports.createImageNode=createImageNode;exports.createIncrementalSnapshotWithImageUpdate=createIncrementalSnapshotWithImageUpdate;exports.createRecordingMetaEvent=createRecordingMetaEvent;exports.generateScreenHash=generateScreenHash;exports.simpleHash=simpleHash;var _reactNative=require("react-native");var _types=require("@rrweb/types");var _platform=require("./platform");function createRecordingMetaEvent(){var screenDimensions=_reactNative.Dimensions.get('window');var metadata=(0,_platform.getAppMetadata)();return{type:_types.EventType.Meta,data:{href:metadata.bundleId||metadata.name||'https://native.multiplayer.app',width:screenDimensions.width,height:screenDimensions.height},timestamp:Date.now()};}function createFullSnapshotEvent(base64Image,width,height){var captureFormat=arguments.length>3&&arguments[3]!==undefined?arguments[3]:'jpg';var nodeIdCounter=arguments.length>4?arguments[4]:undefined;var timestamp=arguments.length>5?arguments[5]:undefined;var imageNode={type:_types.NodeType.Element,id:0,tagName:'img',attributes:{src:"data:image/".concat(captureFormat,";base64,").concat(base64Image),width:width.toString(),height:height.toString(),style:"width: ".concat(width,"px; height: ").concat(height,"px;")},childNodes:[]};var rootNode={type:_types.NodeType.Element,id:nodeIdCounter.current++,tagName:'div',attributes:{style:"width: ".concat(width,"px; height: ").concat(height,"px; position: relative;")},childNodes:[imageNode]};var domNode={type:_types.NodeType.Document,childNodes:[{type:_types.NodeType.DocumentType,name:'html',publicId:'',systemId:'',id:nodeIdCounter.current++},{type:_types.NodeType.Element,tagName:'html',attributes:{},childNodes:[{type:_types.NodeType.Element,tagName:'head',attributes:{},childNodes:[{type:_types.NodeType.Element,tagName:'meta',attributes:{charset:'utf-8'},childNodes:[],id:nodeIdCounter.current++},{type:_types.NodeType.Element,tagName:'meta',attributes:{name:'viewport',content:'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no'},childNodes:[],id:nodeIdCounter.current++}],id:nodeIdCounter.current++},{type:_types.NodeType.Element,tagName:'body',attributes:{style:'margin: 0; padding: 0; width: 100%; height: 100%;'},childNodes:[rootNode],id:nodeIdCounter.current++}],id:nodeIdCounter.current++}],id:nodeIdCounter.current++};return{type:_types.EventType.FullSnapshot,data:{node:domNode,initialOffset:{left:0,top:0}},timestamp:timestamp||Date.now()};}function createIncrementalSnapshotWithImageUpdate(base64Image){var captureFormat=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'jpg';var timestamp=arguments.length>2?arguments[2]:undefined;var mutationData={source:_types.IncrementalSource.Mutation,texts:[],attributes:[{id:0,attributes:{src:"data:image/".concat(captureFormat,";base64,").concat(base64Image)}}],removes:[],adds:[]};return{type:_types.EventType.IncrementalSnapshot,data:mutationData,timestamp:timestamp||Date.now()};}function createImageNode(base64Image,width,height){var captureFormat=arguments.length>3&&arguments[3]!==undefined?arguments[3]:'jpg';var nodeId=arguments.length>4?arguments[4]:undefined;return{type:_types.NodeType.Element,id:nodeId,tagName:'img',attributes:{src:"data:image/".concat(captureFormat,";base64,").concat(base64Image),width:width.toString(),height:height.toString(),style:"width: ".concat(width,"px; height: ").concat(height,"px;")},childNodes:[]};}function createDocumentNode(imageNode,width,height,nodeIdCounter){var rootNode={type:_types.NodeType.Element,id:nodeIdCounter.current++,tagName:'div',attributes:{style:"width: ".concat(width,"px; height: ").concat(height,"px; position: relative;")},childNodes:[imageNode]};return{type:_types.NodeType.Document,childNodes:[{type:_types.NodeType.DocumentType,name:'html',publicId:'',systemId:'',id:nodeIdCounter.current++},{type:_types.NodeType.Element,tagName:'html',attributes:{},childNodes:[{type:_types.NodeType.Element,tagName:'head',attributes:{},childNodes:[{type:_types.NodeType.Element,tagName:'meta',attributes:{charset:'utf-8'},childNodes:[],id:nodeIdCounter.current++},{type:_types.NodeType.Element,tagName:'meta',attributes:{name:'viewport',content:'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no'},childNodes:[],id:nodeIdCounter.current++}],id:nodeIdCounter.current++},{type:_types.NodeType.Element,tagName:'body',attributes:{},childNodes:[rootNode],id:nodeIdCounter.current++}],id:nodeIdCounter.current++}],id:nodeIdCounter.current++};}function generateScreenHash(base64Image){var sampleSize=arguments.length>1&&arguments[1]!==undefined?arguments[1]:100;var start=base64Image.substring(0,sampleSize);var middle=base64Image.substring(Math.floor(base64Image.length/2)-sampleSize/2,Math.floor(base64Image.length/2)+sampleSize/2);var end=base64Image.substring(base64Image.length-sampleSize);var combined=start+middle+end;return simpleHash(combined);}function simpleHash(str){var hash=0;for(var i=0;i<str.length;i++){var _char=str.charCodeAt(i);hash=(hash<<5)-hash+_char;hash=hash&hash;}return Math.abs(hash).toString(36);}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rrweb-events.js","sourceRoot":"","sources":["../../src/utils/rrweb-events.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.isSessionActive=exports.isConsoleEvent=void 0;var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _constants=require("../config/constants");var isSessionActive=exports.isSessionActive=function isSessionActive(session,sessionType){if(!session)return false;if(sessionType===_sessionRecorderCommon.SessionType.CONTINUOUS)return true;var startedAt=new Date(session.startedAt||session.createdAt);var now=new Date();var diff=now.getTime()-startedAt.getTime();return diff<_constants.DEBUG_SESSION_MAX_DURATION_SECONDS*1000;};var isConsoleEvent=exports.isConsoleEvent=function isConsoleEvent(event){var _a;return event.type==='Plugin'&&((_a=event.data)===null||_a===void 0?void 0:_a.plugin)==='rrweb/console@1';};
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAA;AAExE;;GAEG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAY,EAAE,WAA+B,EAAW,EAAE;IACxF,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAC1B,IAAI,WAAW,KAAK,WAAW,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IACvD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,CAAA;IAClE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAA;IAChD,OAAO,IAAI,GAAG,kCAAkC,GAAG,IAAI,CAAA;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAU,EAAW,EAAE;;IACpD,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,MAAM,MAAK,iBAAiB,CAAA;AAC5E,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.shallowEqual=shallowEqual;function shallowEqual(a,b){if(Object.is(a,b))return true;if(!a||!b)return false;var aKeys=Object.keys(a);var bKeys=Object.keys(b);if(aKeys.length!==bKeys.length)return false;for(var i=0;i<aKeys.length;i++){var key=aKeys[i];if(!Object.prototype.hasOwnProperty.call(b,key)||!Object.is(a[key],b[key])){return false;}}return true;}
@@ -1 +0,0 @@
1
- {"version":3,"file":"shallowEqual.js","sourceRoot":"","sources":["../../src/utils/shallowEqual.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAgC,CAAI,EAAE,CAAI;IACpE,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAChC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChF,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getFormattedDate=void 0;var getFormattedDate=exports.getFormattedDate=function getFormattedDate(date,options){return new Date(date).toLocaleDateString('en-US',options||{month:'short',year:'numeric',day:'numeric',hour:'numeric',minute:'2-digit',second:'2-digit'});};
@@ -1 +0,0 @@
1
- {"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAmB,EAAE,OAAa,EAAU,EAAE;IAC7E,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,CACtC,OAAO,EACP,OAAO,IAAI;QACT,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;KAClB,CACF,CAAA;AACH,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.isUndefined=exports.isUint8Array=exports.isString=exports.isObject=exports.isNumber=exports.isNullish=exports.isNull=exports.isFunction=exports.isFormData=exports.isFile=exports.isEmptyString=exports.isEmptyObject=exports.isDate=exports.isBoolean=exports.isArray=exports.hasOwnProperty=void 0;var nativeIsArray=Array.isArray;var ObjProto=Object.prototype;var hasOwnProperty=exports.hasOwnProperty=ObjProto.hasOwnProperty;var toString=ObjProto.toString;var isArray=exports.isArray=nativeIsArray||function(obj){return toString.call(obj)==='[object Array]';};var isUint8Array=exports.isUint8Array=function isUint8Array(x){return toString.call(x)==='[object Uint8Array]';};var isFunction=exports.isFunction=function isFunction(f){return typeof f==='function';};var isObject=exports.isObject=function isObject(x){return x===Object(x)&&!isArray(x);};var isEmptyObject=exports.isEmptyObject=function isEmptyObject(x){if(isObject(x)){for(var key in x){if(hasOwnProperty.call(x,key)){return false;}}return true;}return false;};var isUndefined=exports.isUndefined=function isUndefined(x){return x===void 0;};var isString=exports.isString=function isString(x){return toString.call(x)=='[object String]';};var isEmptyString=exports.isEmptyString=function isEmptyString(x){return isString(x)&&x.trim().length===0;};var isNull=exports.isNull=function isNull(x){return x===null;};var isNullish=exports.isNullish=function isNullish(x){return isUndefined(x)||isNull(x);};var isDate=exports.isDate=function isDate(x){return toString.call(x)=='[object Date]';};var isNumber=exports.isNumber=function isNumber(x){return toString.call(x)=='[object Number]';};var isBoolean=exports.isBoolean=function isBoolean(x){return toString.call(x)==='[object Boolean]';};var isFormData=exports.isFormData=function isFormData(x){return x instanceof FormData;};var isFile=exports.isFile=function isFile(x){return x instanceof File;};
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-utils.js","sourceRoot":"","sources":["../../src/utils/type-utils.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts DELETED
@@ -1 +0,0 @@
1
- export declare const version = "1.0.0";
package/dist/version.js DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.version=void 0;var version=exports.version="1.0.0";
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA"}
@@ -1,108 +0,0 @@
1
- # Automatic App Metadata Detection
2
-
3
- The session recorder automatically detects app metadata from your project configuration files **without requiring any developer intervention**.
4
-
5
- ## How It Works
6
-
7
- The library automatically extracts app information from common configuration files in this priority order:
8
-
9
- 1. **`app.json`** - Expo/React Native app configuration
10
- 2. **`app.config.js`** - Dynamic Expo configuration
11
- 3. **`package.json`** - Node.js package configuration (fallback)
12
-
13
- ## Supported Configuration Files
14
-
15
- ### app.json
16
-
17
- ```json
18
- {
19
- "name": "My Awesome App",
20
- "version": "1.2.3",
21
- "displayName": "My App",
22
- "ios": {
23
- "bundleIdentifier": "com.mycompany.myapp",
24
- "buildNumber": "123"
25
- },
26
- "android": {
27
- "package": "com.mycompany.myapp",
28
- "versionCode": 123
29
- }
30
- }
31
- ```
32
-
33
- ### app.config.js
34
-
35
- ```javascript
36
- export default {
37
- name: 'My Awesome App',
38
- version: '1.2.3',
39
- displayName: 'My App',
40
- ios: {
41
- bundleIdentifier: 'com.mycompany.myapp',
42
- buildNumber: '123'
43
- },
44
- android: {
45
- package: 'com.mycompany.myapp',
46
- versionCode: 123
47
- }
48
- }
49
- ```
50
-
51
- ### package.json (fallback)
52
-
53
- ```json
54
- {
55
- "name": "my-awesome-app",
56
- "version": "1.2.3"
57
- }
58
- ```
59
-
60
- ## Detected Metadata
61
-
62
- The following information is automatically extracted:
63
-
64
- - **App Name** - From `name` or `displayName`
65
- - **App Version** - From `version`
66
- - **Bundle ID** - From `ios.bundleIdentifier` or `android.package`
67
- - **Build Number** - From `ios.buildNumber` or `android.versionCode`
68
-
69
- ## Build Process
70
-
71
- The metadata detection happens automatically during the build process:
72
-
73
- 1. The build script scans your project root for configuration files
74
- 2. Extracts relevant metadata from the first found configuration
75
- 3. Generates a TypeScript file with the detected metadata
76
- 4. The session recorder uses this metadata in all recordings
77
-
78
- ## No Developer Action Required
79
-
80
- ✅ **Zero configuration** - Works out of the box
81
- ✅ **Automatic detection** - Scans common config files
82
- ✅ **Build-time generation** - No runtime file reading
83
- ✅ **Fallback support** - Graceful degradation
84
-
85
- ## Manual Override (Optional)
86
-
87
- If you need to override the auto-detected metadata, you can still use the manual configuration:
88
-
89
- ```typescript
90
- import { configureAppMetadata } from '@multiplayer-app/session-recorder-react-native'
91
-
92
- configureAppMetadata({
93
- name: 'Custom App Name',
94
- version: '2.0.0',
95
- bundleId: 'com.custom.app'
96
- })
97
- ```
98
-
99
- ## Priority Order
100
-
101
- The metadata detection follows this priority:
102
-
103
- 1. **Expo Config** (if using Expo)
104
- 2. **Manual Configuration** (if `configureAppMetadata` was called)
105
- 3. **Auto-detected Metadata** (from config files)
106
- 4. **Fallback Values** (defaults)
107
-
108
- This ensures maximum compatibility across different React Native setups while providing rich metadata for debugging sessions.
@@ -1,316 +0,0 @@
1
- import UIKit
2
- import React
3
-
4
- // Temporary solution: Embed GestureTargetFinder functionality directly
5
- // TODO: Fix module linking to properly separate these files
6
- struct GestureTargetInfo {
7
- let identifier: String
8
- let label: String?
9
- let role: String?
10
- let testId: String?
11
- let text: String?
12
- }
13
-
14
- enum GestureTargetFinder {
15
- static func findTargetView(at point: CGPoint, in view: UIView) -> GestureTargetInfo {
16
- let targetView = view.hitTest(point, with: nil)
17
-
18
- guard let target = targetView else {
19
- return GestureTargetInfo(identifier: "unknown", label: nil, role: nil, testId: nil, text: nil)
20
- }
21
-
22
- let identifier = target.accessibilityIdentifier ?? target.accessibilityLabel ?? "view-\(target.hash)"
23
- let label = target.accessibilityLabel
24
- let role = roleFromAccessibilityTraits(target.accessibilityTraits)
25
- let testId = target.accessibilityIdentifier
26
-
27
- var text: String?
28
- if let labelView = target as? UILabel {
29
- text = labelView.text
30
- } else if let button = target as? UIButton {
31
- text = button.titleLabel?.text
32
- } else if let textField = target as? UITextField {
33
- text = textField.text ?? textField.placeholder
34
- } else if let textView = target as? UITextView {
35
- text = textView.text
36
- }
37
-
38
- return GestureTargetInfo(identifier: identifier, label: label, role: role, testId: testId, text: text)
39
- }
40
-
41
- static func roleFromAccessibilityTraits(_ traits: UIAccessibilityTraits) -> String? {
42
- if traits.contains(.button) { return "button" }
43
- if traits.contains(.link) { return "link" }
44
- if traits.contains(.image) { return "image" }
45
- if traits.contains(.staticText) { return "text" }
46
- if traits.contains(.header) { return "header" }
47
- if traits.contains(.searchField) { return "search" }
48
- if traits.contains(.keyboardKey) { return "key" }
49
- if traits.contains(.adjustable) { return "adjustable" }
50
- if traits.contains(.tabBar) { return "tabbar" }
51
- return nil
52
- }
53
- }
54
-
55
- @objc(GestureRecorderNative)
56
- class GestureRecorderNative: RCTEventEmitter {
57
-
58
- private var isRecording = false
59
- private var gestureCallback: RCTResponseSenderBlock?
60
- private var rootViewController: UIViewController?
61
-
62
- // Gesture recognizers
63
- private var tapGestureRecognizer: UITapGestureRecognizer?
64
- private var panGestureRecognizer: UIPanGestureRecognizer?
65
- private var longPressGestureRecognizer: UILongPressGestureRecognizer?
66
- private var pinchGestureRecognizer: UIPinchGestureRecognizer?
67
-
68
- override func supportedEvents() -> [String]! {
69
- return ["onGestureDetected"]
70
- }
71
-
72
- override static func requiresMainQueueSetup() -> Bool {
73
- return true
74
- }
75
-
76
- @objc func startGestureRecording(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
77
- DispatchQueue.main.async {
78
- guard !self.isRecording else {
79
- resolve(nil)
80
- return
81
- }
82
-
83
- self.setupGestureRecognizers()
84
- self.isRecording = true
85
- resolve(nil)
86
- }
87
- }
88
-
89
- @objc func stopGestureRecording(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
90
- DispatchQueue.main.async {
91
- guard self.isRecording else {
92
- resolve(nil)
93
- return
94
- }
95
-
96
- self.removeGestureRecognizers()
97
- self.isRecording = false
98
- resolve(nil)
99
- }
100
- }
101
-
102
- @objc func isGestureRecordingActive(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
103
- resolve(self.isRecording)
104
- }
105
-
106
- @objc func recordGesture(_ gestureType: String, x: NSNumber, y: NSNumber, target: String?, metadata: NSDictionary?) {
107
- let gestureEvent: [String: Any] = [
108
- "type": gestureType,
109
- "timestamp": Date().timeIntervalSince1970 * 1000, // Convert to milliseconds
110
- "x": x.doubleValue,
111
- "y": y.doubleValue,
112
- "target": target ?? "",
113
- "metadata": metadata ?? [:]
114
- ]
115
-
116
- sendEvent(withName: "onGestureDetected", body: gestureEvent)
117
- }
118
-
119
- private func setupGestureRecognizers() {
120
- guard let window = UIApplication.shared.windows.first(where: { $0.isKeyWindow }),
121
- let rootViewController = window.rootViewController else {
122
- return
123
- }
124
-
125
- self.rootViewController = rootViewController
126
-
127
- // Tap gesture recognizer
128
- tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:)))
129
- tapGestureRecognizer?.numberOfTapsRequired = 1
130
- tapGestureRecognizer?.numberOfTouchesRequired = 1
131
- rootViewController.view.addGestureRecognizer(tapGestureRecognizer!)
132
-
133
- // Pan gesture recognizer
134
- panGestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(handlePan(_:)))
135
- rootViewController.view.addGestureRecognizer(panGestureRecognizer!)
136
-
137
- // Long press gesture recognizer
138
- longPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(handleLongPress(_:)))
139
- longPressGestureRecognizer?.minimumPressDuration = 0.5
140
- rootViewController.view.addGestureRecognizer(longPressGestureRecognizer!)
141
-
142
- // Pinch gesture recognizer
143
- pinchGestureRecognizer = UIPinchGestureRecognizer(target: self, action: #selector(handlePinch(_:)))
144
- rootViewController.view.addGestureRecognizer(pinchGestureRecognizer!)
145
-
146
- // Allow simultaneous recognition
147
- tapGestureRecognizer?.delegate = self
148
- panGestureRecognizer?.delegate = self
149
- longPressGestureRecognizer?.delegate = self
150
- pinchGestureRecognizer?.delegate = self
151
- }
152
-
153
- private func removeGestureRecognizers() {
154
- guard let rootViewController = rootViewController else { return }
155
-
156
- if let tapGesture = tapGestureRecognizer {
157
- rootViewController.view.removeGestureRecognizer(tapGesture)
158
- }
159
- if let panGesture = panGestureRecognizer {
160
- rootViewController.view.removeGestureRecognizer(panGesture)
161
- }
162
- if let longPressGesture = longPressGestureRecognizer {
163
- rootViewController.view.removeGestureRecognizer(longPressGesture)
164
- }
165
- if let pinchGesture = pinchGestureRecognizer {
166
- rootViewController.view.removeGestureRecognizer(pinchGesture)
167
- }
168
-
169
- tapGestureRecognizer = nil
170
- panGestureRecognizer = nil
171
- longPressGestureRecognizer = nil
172
- pinchGestureRecognizer = nil
173
- self.rootViewController = nil
174
- }
175
-
176
- @objc private func handleTap(_ gesture: UITapGestureRecognizer) {
177
- guard let view = gesture.view else { return }
178
- let location = gesture.location(in: view)
179
- let target = GestureTargetFinder.findTargetView(at: location, in: view)
180
-
181
- let gestureEvent: [String: Any] = [
182
- "type": "tap",
183
- "timestamp": Date().timeIntervalSince1970 * 1000,
184
- "x": location.x,
185
- "y": location.y,
186
- "target": target.identifier,
187
- "targetInfo": [
188
- "identifier": target.identifier,
189
- "label": target.label,
190
- "role": target.role,
191
- "testId": target.testId,
192
- "text": target.text
193
- ],
194
- "metadata": [
195
- "pressure": 1.0
196
- ]
197
- ]
198
-
199
- sendEvent(withName: "onGestureDetected", body: gestureEvent)
200
- }
201
-
202
- @objc private func handlePan(_ gesture: UIPanGestureRecognizer) {
203
- guard let view = gesture.view else { return }
204
- let location = gesture.location(in: view)
205
- let velocity = gesture.velocity(in: view)
206
- let translation = gesture.translation(in: view)
207
-
208
- let target = GestureTargetFinder.findTargetView(at: location, in: view)
209
-
210
- var gestureType: String
211
- switch gesture.state {
212
- case .began:
213
- gestureType = "pan_start"
214
- case .changed:
215
- gestureType = "pan_move"
216
- case .ended, .cancelled:
217
- gestureType = "pan_end"
218
- default:
219
- return
220
- }
221
-
222
- let gestureEvent: [String: Any] = [
223
- "type": gestureType,
224
- "timestamp": Date().timeIntervalSince1970 * 1000,
225
- "x": location.x,
226
- "y": location.y,
227
- "target": target.identifier,
228
- "targetInfo": [
229
- "identifier": target.identifier,
230
- "label": target.label,
231
- "role": target.role,
232
- "testId": target.testId,
233
- "text": target.text
234
- ],
235
- "metadata": [
236
- "velocity": sqrt(velocity.x * velocity.x + velocity.y * velocity.y),
237
- "deltaX": translation.x,
238
- "deltaY": translation.y
239
- ]
240
- ]
241
-
242
- sendEvent(withName: "onGestureDetected", body: gestureEvent)
243
- }
244
-
245
- @objc private func handleLongPress(_ gesture: UILongPressGestureRecognizer) {
246
- guard gesture.state == .began else { return }
247
-
248
- guard let view = gesture.view else { return }
249
- let location = gesture.location(in: view)
250
- let target = GestureTargetFinder.findTargetView(at: location, in: view)
251
-
252
- let gestureEvent: [String: Any] = [
253
- "type": "long_press",
254
- "timestamp": Date().timeIntervalSince1970 * 1000,
255
- "x": location.x,
256
- "y": location.y,
257
- "target": target.identifier,
258
- "targetInfo": [
259
- "identifier": target.identifier,
260
- "label": target.label,
261
- "role": target.role,
262
- "testId": target.testId,
263
- "text": target.text
264
- ],
265
- "metadata": [
266
- "duration": 0.5,
267
- "pressure": 1.0
268
- ]
269
- ]
270
-
271
- sendEvent(withName: "onGestureDetected", body: gestureEvent)
272
- }
273
-
274
- @objc private func handlePinch(_ gesture: UIPinchGestureRecognizer) {
275
- guard let view = gesture.view else { return }
276
- let location = gesture.location(in: view)
277
- let scale = gesture.scale
278
- let velocity = gesture.velocity
279
-
280
- let target = GestureTargetFinder.findTargetView(at: location, in: view)
281
-
282
- let gestureEvent: [String: Any] = [
283
- "type": "pinch",
284
- "timestamp": Date().timeIntervalSince1970 * 1000,
285
- "x": location.x,
286
- "y": location.y,
287
- "target": target.identifier,
288
- "targetInfo": [
289
- "identifier": target.identifier,
290
- "label": target.label,
291
- "role": target.role,
292
- "testId": target.testId,
293
- "text": target.text
294
- ],
295
- "metadata": [
296
- "scale": scale,
297
- "velocity": velocity
298
- ]
299
- ]
300
-
301
- sendEvent(withName: "onGestureDetected", body: gestureEvent)
302
- }
303
-
304
- // Target finding extracted to GestureTargetFinder
305
- }
306
-
307
- // MARK: - UIGestureRecognizerDelegate
308
- extension GestureRecorderNative: UIGestureRecognizerDelegate {
309
- func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
310
- return true
311
- }
312
-
313
- func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
314
- return true
315
- }
316
- }
@@ -1,17 +0,0 @@
1
- #import <React/RCTBridgeModule.h>
2
-
3
- @interface RCT_EXTERN_MODULE(SessionRecorderNative, NSObject)
4
-
5
- RCT_EXTERN_METHOD(captureAndMask:(RCTPromiseResolveBlock)resolve
6
- reject:(RCTPromiseRejectBlock)reject)
7
-
8
- RCT_EXTERN_METHOD(captureAndMaskWithOptions:(NSDictionary *)options
9
- resolve:(RCTPromiseResolveBlock)resolve
10
- reject:(RCTPromiseRejectBlock)reject)
11
-
12
- + (BOOL)requiresMainQueueSetup
13
- {
14
- return YES;
15
- }
16
-
17
- @end
@@ -1,26 +0,0 @@
1
- require "json"
2
-
3
- package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
4
-
5
- Pod::Spec.new do |s|
6
- s.name = "SessionRecorderNative"
7
- s.version = package["version"]
8
- s.summary = "Native session recorder module for React Native"
9
- s.description = "A native module that provides session recording with automatic masking of sensitive UI elements"
10
- s.homepage = "https://github.com/multiplayer-app/multiplayer-session-recorder-javascript"
11
- s.license = "MIT"
12
- s.authors = { "Multiplayer Software, Inc." => "https://www.multiplayer.app" }
13
- s.platforms = { :ios => "12.0" }
14
- s.source = { :git => "https://github.com/multiplayer-app/multiplayer-session-recorder-javascript.git", :tag => "#{s.version}" }
15
-
16
- s.source_files = "ios/**/*.{h,m,mm,swift}"
17
- s.requires_arc = true
18
-
19
- s.dependency "React-Core"
20
- s.dependency "React"
21
-
22
- # Ensure proper linking for Expo
23
- s.pod_target_xcconfig = {
24
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/React-Core/React\""
25
- }
26
- end
File without changes