@multiplayer-app/session-recorder-react-native 1.0.1-beta.1 → 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.
- package/LICENSE +1 -2
- package/README.md +216 -155
- package/SessionRecorderNative.podspec +35 -14
- package/android/build.gradle +50 -54
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativeConfig.kt +52 -0
- package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativeModule.kt +861 -0
- package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativePackage.kt +33 -0
- package/android/src/main/java/com/sessionrecordernative/SessionRecorderNativeSpec.kt +79 -0
- package/android/src/main/java/com/sessionrecordernative/model/TargetInfo.kt +9 -0
- package/android/src/main/java/com/sessionrecordernative/util/ViewUtils.kt +72 -0
- package/ios/GestureTargetFinder.swift +50 -0
- package/ios/SessionRecorderNative-Bridging-Header.h +2 -0
- package/ios/{GestureRecorderNative.m → SessionRecorderNative.mm} +17 -6
- package/ios/SessionRecorderNative.swift +256 -4
- package/lib/module/SessionRecorderNativeSpec.js +5 -0
- package/lib/module/SessionRecorderNativeSpec.js.map +1 -0
- package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js +23 -0
- package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js.map +1 -0
- package/lib/module/components/ScreenRecorderView/index.js +4 -0
- package/lib/module/components/ScreenRecorderView/index.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/ErrorBanner.js +64 -0
- package/lib/module/components/SessionRecorderWidget/ErrorBanner.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/FinalPopover.js +74 -0
- package/lib/module/components/SessionRecorderWidget/FinalPopover.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/FloatingButton.js +191 -0
- package/lib/module/components/SessionRecorderWidget/FloatingButton.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/InitialPopover.js +138 -0
- package/lib/module/components/SessionRecorderWidget/InitialPopover.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/ModalContainer.js +177 -0
- package/lib/module/components/SessionRecorderWidget/ModalContainer.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/ModalHeader.js +27 -0
- package/lib/module/components/SessionRecorderWidget/ModalHeader.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js +133 -0
- package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/icons.js +93 -0
- package/lib/module/components/SessionRecorderWidget/icons.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/index.js +5 -0
- package/lib/module/components/SessionRecorderWidget/index.js.map +1 -0
- package/lib/module/components/SessionRecorderWidget/styles.js +173 -0
- package/lib/module/components/SessionRecorderWidget/styles.js.map +1 -0
- package/lib/module/components/index.js +5 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/config/constants.js +42 -0
- package/lib/module/config/constants.js.map +1 -0
- package/lib/module/config/defaults.js +81 -0
- package/lib/module/config/defaults.js.map +1 -0
- package/lib/module/config/index.js +9 -0
- package/lib/module/config/index.js.map +1 -0
- package/lib/module/config/masking.js +35 -0
- package/lib/module/config/masking.js.map +1 -0
- package/lib/module/config/session-recorder.js +44 -0
- package/lib/module/config/session-recorder.js.map +1 -0
- package/lib/module/config/validators.js +28 -0
- package/lib/module/config/validators.js.map +1 -0
- package/lib/module/config/widget.js +35 -0
- package/lib/module/config/widget.js.map +1 -0
- package/lib/module/context/SessionRecorderContext.js +93 -0
- package/lib/module/context/SessionRecorderContext.js.map +1 -0
- package/lib/module/context/SessionRecorderStore.js +12 -0
- package/lib/module/context/SessionRecorderStore.js.map +1 -0
- package/lib/module/context/useSessionRecorderStore.js +20 -0
- package/lib/module/context/useSessionRecorderStore.js.map +1 -0
- package/lib/module/context/useStoreSelector.js +27 -0
- package/lib/module/context/useStoreSelector.js.map +1 -0
- package/lib/module/index.js +16 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/native/SessionRecorderNative.js +79 -0
- package/lib/module/native/SessionRecorderNative.js.map +1 -0
- package/lib/module/native/index.js +4 -0
- package/lib/module/native/index.js.map +1 -0
- package/lib/module/otel/helpers.js +218 -0
- package/lib/module/otel/helpers.js.map +1 -0
- package/lib/module/otel/index.js +95 -0
- package/lib/module/otel/index.js.map +1 -0
- package/lib/module/otel/instrumentations/index.js +102 -0
- package/lib/module/otel/instrumentations/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/patch/index.js +4 -0
- package/lib/module/patch/index.js.map +1 -0
- package/lib/module/patch/xhr.js +116 -0
- package/lib/module/patch/xhr.js.map +1 -0
- package/lib/module/recorder/eventExporter.js +130 -0
- package/lib/module/recorder/eventExporter.js.map +1 -0
- package/lib/module/recorder/gestureRecorder.js +641 -0
- package/lib/module/recorder/gestureRecorder.js.map +1 -0
- package/lib/module/recorder/index.js +168 -0
- package/lib/module/recorder/index.js.map +1 -0
- package/lib/module/recorder/navigationTracker.js +228 -0
- package/lib/module/recorder/navigationTracker.js.map +1 -0
- package/lib/module/recorder/screenRecorder.js +495 -0
- package/lib/module/recorder/screenRecorder.js.map +1 -0
- package/lib/module/services/api.service.js +149 -0
- package/lib/module/services/api.service.js.map +1 -0
- package/lib/module/services/network.service.js +178 -0
- package/lib/module/services/network.service.js.map +1 -0
- package/lib/module/services/screenMaskingService.js +107 -0
- package/lib/module/services/screenMaskingService.js.map +1 -0
- package/lib/module/services/storage.service.js +179 -0
- package/lib/module/services/storage.service.js.map +1 -0
- package/lib/module/session-recorder.js +541 -0
- package/lib/module/session-recorder.js.map +1 -0
- package/lib/module/types/configs.js +4 -0
- package/lib/module/types/configs.js.map +1 -0
- package/lib/module/types/expo-constants.d.js +2 -0
- package/lib/module/types/expo-constants.d.js.map +1 -0
- package/lib/module/types/index.js +11 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/types/session-recorder.js +68 -0
- package/lib/module/types/session-recorder.js.map +1 -0
- package/lib/module/types/session.js +9 -0
- package/lib/module/types/session.js.map +1 -0
- package/lib/module/utils/app-metadata.js +28 -0
- package/lib/module/utils/app-metadata.js.map +1 -0
- package/lib/module/utils/constants.optional.expo.js +6 -0
- package/lib/module/utils/constants.optional.expo.js.map +1 -0
- package/lib/module/utils/constants.optional.js +8 -0
- package/lib/module/utils/constants.optional.js.map +1 -0
- package/lib/module/utils/createStore.js +27 -0
- package/lib/module/utils/createStore.js.map +1 -0
- package/lib/module/utils/index.js +11 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/logger.js +185 -0
- package/lib/module/utils/logger.js.map +1 -0
- package/lib/module/utils/platform.js +340 -0
- package/lib/module/utils/platform.js.map +1 -0
- package/lib/module/utils/request-utils.js +58 -0
- package/lib/module/utils/request-utils.js.map +1 -0
- package/lib/module/utils/rrweb-events.js +276 -0
- package/lib/module/utils/rrweb-events.js.map +1 -0
- package/lib/module/utils/session.js +21 -0
- package/lib/module/utils/session.js.map +1 -0
- package/lib/module/utils/shallowEqual.js +17 -0
- package/lib/module/utils/shallowEqual.js.map +1 -0
- package/lib/module/utils/time.js +17 -0
- package/lib/module/utils/time.js.map +1 -0
- package/lib/module/utils/type-utils.js +69 -0
- package/lib/module/utils/type-utils.js.map +1 -0
- package/lib/module/version.js +4 -0
- package/lib/module/version.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/{dist/native/SessionRecorderNative.d.ts → lib/typescript/src/SessionRecorderNativeSpec.d.ts} +23 -15
- package/lib/typescript/src/SessionRecorderNativeSpec.d.ts.map +1 -0
- package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts +6 -0
- package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts.map +1 -0
- package/lib/typescript/src/components/ScreenRecorderView/index.d.ts +2 -0
- package/lib/typescript/src/components/ScreenRecorderView/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ErrorBanner.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/ErrorBanner.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/FinalPopover.d.ts +2 -1
- package/lib/typescript/src/components/SessionRecorderWidget/FinalPopover.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/FloatingButton.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/FloatingButton.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/InitialPopover.d.ts +2 -1
- package/lib/typescript/src/components/SessionRecorderWidget/InitialPopover.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ModalContainer.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/ModalContainer.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/ModalHeader.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/ModalHeader.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/SessionRecorderWidget.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/icons.d.ts +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/icons.d.ts.map +1 -0
- package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts +3 -0
- package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/components/SessionRecorderWidget/styles.d.ts +4 -3
- package/lib/typescript/src/components/SessionRecorderWidget/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +3 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/config/constants.d.ts +1 -0
- package/lib/typescript/src/config/constants.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/config/defaults.d.ts +2 -1
- package/lib/typescript/src/config/defaults.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/config/index.d.ts +1 -0
- package/lib/typescript/src/config/index.d.ts.map +1 -0
- package/lib/typescript/src/config/masking.d.ts +3 -0
- package/lib/typescript/src/config/masking.d.ts.map +1 -0
- package/lib/typescript/src/config/session-recorder.d.ts +3 -0
- package/lib/typescript/src/config/session-recorder.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/config/validators.d.ts +1 -0
- package/lib/typescript/src/config/validators.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/config/widget.d.ts +2 -1
- package/lib/typescript/src/config/widget.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/context/SessionRecorderContext.d.ts +3 -2
- package/lib/typescript/src/context/SessionRecorderContext.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/context/SessionRecorderStore.d.ts +2 -1
- package/lib/typescript/src/context/SessionRecorderStore.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/context/useSessionRecorderStore.d.ts +4 -3
- package/lib/typescript/src/context/useSessionRecorderStore.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/context/useStoreSelector.d.ts +2 -1
- package/lib/typescript/src/context/useStoreSelector.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/native/SessionRecorderNative.d.ts +27 -0
- package/lib/typescript/src/native/SessionRecorderNative.d.ts.map +1 -0
- package/lib/typescript/src/native/index.d.ts +2 -0
- package/lib/typescript/src/native/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/otel/helpers.d.ts +3 -2
- package/lib/typescript/src/otel/helpers.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/otel/index.d.ts +2 -2
- package/lib/typescript/src/otel/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/otel/instrumentations/index.d.ts +2 -1
- package/lib/typescript/src/otel/instrumentations/index.d.ts.map +1 -0
- package/lib/typescript/src/patch/index.d.ts +2 -0
- package/lib/typescript/src/patch/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/patch/xhr.d.ts +1 -0
- package/lib/typescript/src/patch/xhr.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/recorder/eventExporter.d.ts +2 -1
- package/lib/typescript/src/recorder/eventExporter.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/recorder/gestureRecorder.d.ts +3 -2
- package/lib/typescript/src/recorder/gestureRecorder.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/recorder/index.d.ts +3 -2
- package/lib/typescript/src/recorder/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/recorder/navigationTracker.d.ts +2 -1
- package/lib/typescript/src/recorder/navigationTracker.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/recorder/screenRecorder.d.ts +4 -4
- package/lib/typescript/src/recorder/screenRecorder.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/services/api.service.d.ts +2 -1
- package/lib/typescript/src/services/api.service.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/services/network.service.d.ts +1 -0
- package/lib/typescript/src/services/network.service.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/services/screenMaskingService.d.ts +2 -1
- package/lib/typescript/src/services/screenMaskingService.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/services/storage.service.d.ts +2 -1
- package/lib/typescript/src/services/storage.service.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/session-recorder.d.ts +3 -2
- package/lib/typescript/src/session-recorder.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/types/configs.d.ts +3 -2
- package/lib/typescript/src/types/configs.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/types/index.d.ts +1 -0
- package/lib/typescript/src/types/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/types/session-recorder.d.ts +7 -6
- package/lib/typescript/src/types/session-recorder.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/types/session.d.ts +1 -0
- package/lib/typescript/src/types/session.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/app-metadata.d.ts +1 -0
- package/lib/typescript/src/utils/app-metadata.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/constants.optional.d.ts +1 -0
- package/lib/typescript/src/utils/constants.optional.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/constants.optional.expo.d.ts +1 -0
- package/lib/typescript/src/utils/constants.optional.expo.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/createStore.d.ts +1 -0
- package/lib/typescript/src/utils/createStore.d.ts.map +1 -0
- package/lib/typescript/src/utils/index.d.ts +8 -0
- package/lib/typescript/src/utils/index.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/logger.d.ts +2 -1
- package/lib/typescript/src/utils/logger.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/platform.d.ts +2 -1
- package/lib/typescript/src/utils/platform.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/request-utils.d.ts +1 -0
- package/lib/typescript/src/utils/request-utils.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/rrweb-events.d.ts +2 -1
- package/lib/typescript/src/utils/rrweb-events.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/session.d.ts +1 -0
- package/lib/typescript/src/utils/session.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/shallowEqual.d.ts +1 -0
- package/lib/typescript/src/utils/shallowEqual.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/time.d.ts +1 -0
- package/lib/typescript/src/utils/time.d.ts.map +1 -0
- package/{dist → lib/typescript/src}/utils/type-utils.d.ts +1 -0
- package/lib/typescript/src/utils/type-utils.d.ts.map +1 -0
- package/lib/typescript/src/version.d.ts +2 -0
- package/lib/typescript/src/version.d.ts.map +1 -0
- package/package.json +154 -37
- package/react-native.config.js +14 -0
- package/src/SessionRecorderNativeSpec.ts +52 -0
- package/src/components/ScreenRecorderView/ScreenRecorderView.tsx +20 -0
- package/src/components/ScreenRecorderView/index.ts +1 -0
- package/src/components/SessionRecorderWidget/ErrorBanner.tsx +58 -0
- package/src/components/SessionRecorderWidget/FinalPopover.tsx +96 -0
- package/src/components/SessionRecorderWidget/FloatingButton.tsx +176 -0
- package/src/components/SessionRecorderWidget/InitialPopover.tsx +167 -0
- package/src/components/SessionRecorderWidget/ModalContainer.tsx +189 -0
- package/src/components/SessionRecorderWidget/ModalHeader.tsx +26 -0
- package/src/components/SessionRecorderWidget/SessionRecorderWidget.tsx +150 -0
- package/src/components/SessionRecorderWidget/icons.tsx +80 -0
- package/src/components/SessionRecorderWidget/index.ts +3 -0
- package/src/components/SessionRecorderWidget/styles.ts +168 -0
- package/src/config/constants.ts +67 -0
- package/src/config/defaults.ts +105 -0
- package/src/config/index.ts +6 -0
- package/src/config/masking.ts +60 -0
- package/src/config/session-recorder.ts +87 -0
- package/src/config/validators.ts +54 -0
- package/src/config/widget.ts +47 -0
- package/src/context/SessionRecorderContext.tsx +138 -0
- package/src/context/SessionRecorderStore.ts +22 -0
- package/src/context/useSessionRecorderStore.ts +34 -0
- package/src/context/useStoreSelector.ts +36 -0
- package/src/index.ts +13 -0
- package/src/native/SessionRecorderNative.ts +120 -0
- package/src/native/index.ts +5 -0
- package/src/otel/helpers.ts +290 -0
- package/src/otel/index.ts +132 -0
- package/src/otel/instrumentations/index.ts +118 -0
- package/src/patch/xhr.ts +148 -0
- package/src/recorder/eventExporter.ts +150 -0
- package/src/recorder/gestureRecorder.ts +828 -0
- package/src/recorder/index.ts +203 -0
- package/src/recorder/navigationTracker.ts +268 -0
- package/src/recorder/screenRecorder.ts +600 -0
- package/src/services/api.service.ts +216 -0
- package/src/services/network.service.ts +191 -0
- package/src/services/screenMaskingService.ts +153 -0
- package/src/services/storage.service.ts +248 -0
- package/src/session-recorder.ts +647 -0
- package/src/types/configs.ts +118 -0
- package/src/types/expo-constants.d.ts +7 -0
- package/src/types/index.ts +27 -0
- package/src/types/session-recorder.ts +381 -0
- package/src/types/session.ts +65 -0
- package/src/utils/app-metadata.ts +31 -0
- package/src/utils/constants.optional.expo.ts +5 -0
- package/src/utils/constants.optional.ts +18 -0
- package/src/utils/createStore.ts +32 -0
- package/{dist/utils/index.d.ts → src/utils/index.ts} +1 -0
- package/src/utils/logger.ts +245 -0
- package/src/utils/platform.ts +401 -0
- package/src/utils/request-utils.ts +61 -0
- package/src/utils/rrweb-events.ts +329 -0
- package/src/utils/session.ts +22 -0
- package/src/utils/shallowEqual.ts +20 -0
- package/src/utils/time.ts +20 -0
- package/src/utils/type-utils.ts +75 -0
- package/src/version.ts +1 -0
- package/copy-react-native-dist.sh +0 -56
- package/dist/components/ScreenRecorderView/ScreenRecorderView.d.ts +0 -5
- package/dist/components/ScreenRecorderView/ScreenRecorderView.js +0 -1
- package/dist/components/ScreenRecorderView/ScreenRecorderView.js.map +0 -1
- package/dist/components/ScreenRecorderView/index.d.ts +0 -1
- package/dist/components/ScreenRecorderView/index.js +0 -1
- package/dist/components/ScreenRecorderView/index.js.map +0 -1
- package/dist/components/SessionRecorderWidget/ErrorBanner.js +0 -1
- package/dist/components/SessionRecorderWidget/ErrorBanner.js.map +0 -1
- package/dist/components/SessionRecorderWidget/FinalPopover.js +0 -1
- package/dist/components/SessionRecorderWidget/FinalPopover.js.map +0 -1
- package/dist/components/SessionRecorderWidget/FloatingButton.js +0 -1
- package/dist/components/SessionRecorderWidget/FloatingButton.js.map +0 -1
- package/dist/components/SessionRecorderWidget/InitialPopover.js +0 -1
- package/dist/components/SessionRecorderWidget/InitialPopover.js.map +0 -1
- package/dist/components/SessionRecorderWidget/ModalContainer.js +0 -1
- package/dist/components/SessionRecorderWidget/ModalContainer.js.map +0 -1
- package/dist/components/SessionRecorderWidget/ModalHeader.js +0 -1
- package/dist/components/SessionRecorderWidget/ModalHeader.js.map +0 -1
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +0 -1
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +0 -1
- package/dist/components/SessionRecorderWidget/icons.js +0 -1
- package/dist/components/SessionRecorderWidget/icons.js.map +0 -1
- package/dist/components/SessionRecorderWidget/index.d.ts +0 -2
- package/dist/components/SessionRecorderWidget/index.js +0 -1
- package/dist/components/SessionRecorderWidget/index.js.map +0 -1
- package/dist/components/SessionRecorderWidget/styles.js +0 -1
- package/dist/components/SessionRecorderWidget/styles.js.map +0 -1
- package/dist/components/index.js +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/config/constants.js +0 -1
- package/dist/config/constants.js.map +0 -1
- package/dist/config/defaults.js +0 -1
- package/dist/config/defaults.js.map +0 -1
- package/dist/config/index.js +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/config/masking.d.ts +0 -2
- package/dist/config/masking.js +0 -1
- package/dist/config/masking.js.map +0 -1
- package/dist/config/session-recorder.d.ts +0 -2
- package/dist/config/session-recorder.js +0 -1
- package/dist/config/session-recorder.js.map +0 -1
- package/dist/config/validators.js +0 -1
- package/dist/config/validators.js.map +0 -1
- package/dist/config/widget.js +0 -1
- package/dist/config/widget.js.map +0 -1
- package/dist/context/SessionRecorderContext.js +0 -1
- package/dist/context/SessionRecorderContext.js.map +0 -1
- package/dist/context/SessionRecorderStore.js +0 -1
- package/dist/context/SessionRecorderStore.js.map +0 -1
- package/dist/context/useSessionRecorderStore.js +0 -1
- package/dist/context/useSessionRecorderStore.js.map +0 -1
- package/dist/context/useStoreSelector.js +0 -1
- package/dist/context/useStoreSelector.js.map +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +0 -1
- package/dist/native/GestureRecorderNative.d.ts +0 -57
- package/dist/native/GestureRecorderNative.js +0 -1
- package/dist/native/GestureRecorderNative.js.map +0 -1
- package/dist/native/GestureRecorderNativeTurboSpec.d.ts +0 -31
- package/dist/native/GestureRecorderNativeTurboSpec.js +0 -1
- package/dist/native/GestureRecorderNativeTurboSpec.js.map +0 -1
- package/dist/native/SessionRecorderNative.js +0 -1
- package/dist/native/SessionRecorderNative.js.map +0 -1
- package/dist/native/SessionRecorderNativeTurboSpec.d.ts +0 -17
- package/dist/native/SessionRecorderNativeTurboSpec.js +0 -1
- package/dist/native/SessionRecorderNativeTurboSpec.js.map +0 -1
- package/dist/native/index.d.ts +0 -2
- package/dist/native/index.js +0 -1
- package/dist/native/index.js.map +0 -1
- package/dist/otel/helpers.js +0 -1
- package/dist/otel/helpers.js.map +0 -1
- package/dist/otel/index.js +0 -1
- package/dist/otel/index.js.map +0 -1
- package/dist/otel/instrumentations/index.js +0 -1
- package/dist/otel/instrumentations/index.js.map +0 -1
- package/dist/patch/index.js +0 -1
- package/dist/patch/index.js.map +0 -1
- package/dist/patch/xhr.js +0 -1
- package/dist/patch/xhr.js.map +0 -1
- package/dist/recorder/eventExporter.js +0 -1
- package/dist/recorder/eventExporter.js.map +0 -1
- package/dist/recorder/gestureRecorder.js +0 -1
- package/dist/recorder/gestureRecorder.js.map +0 -1
- package/dist/recorder/index.js +0 -1
- package/dist/recorder/index.js.map +0 -1
- package/dist/recorder/navigationTracker.js +0 -1
- package/dist/recorder/navigationTracker.js.map +0 -1
- package/dist/recorder/screenRecorder.js +0 -1
- package/dist/recorder/screenRecorder.js.map +0 -1
- package/dist/services/api.service.js +0 -1
- package/dist/services/api.service.js.map +0 -1
- package/dist/services/network.service.js +0 -1
- package/dist/services/network.service.js.map +0 -1
- package/dist/services/screenMaskingService.js +0 -1
- package/dist/services/screenMaskingService.js.map +0 -1
- package/dist/services/storage.service.js +0 -1
- package/dist/services/storage.service.js.map +0 -1
- package/dist/session-recorder.js +0 -1
- package/dist/session-recorder.js.map +0 -1
- package/dist/types/configs.js +0 -1
- package/dist/types/configs.js.map +0 -1
- package/dist/types/index.js +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/types/session-recorder.js +0 -1
- package/dist/types/session-recorder.js.map +0 -1
- package/dist/types/session.js +0 -1
- package/dist/types/session.js.map +0 -1
- package/dist/utils/app-metadata.js +0 -1
- package/dist/utils/app-metadata.js.map +0 -1
- package/dist/utils/constants.optional.expo.js +0 -1
- package/dist/utils/constants.optional.expo.js.map +0 -1
- package/dist/utils/constants.optional.js +0 -1
- package/dist/utils/constants.optional.js.map +0 -1
- package/dist/utils/createStore.js +0 -1
- package/dist/utils/createStore.js.map +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/logger.js +0 -1
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/platform.js +0 -1
- package/dist/utils/platform.js.map +0 -1
- package/dist/utils/request-utils.js +0 -1
- package/dist/utils/request-utils.js.map +0 -1
- package/dist/utils/rrweb-events.js +0 -1
- package/dist/utils/rrweb-events.js.map +0 -1
- package/dist/utils/session.js +0 -1
- package/dist/utils/session.js.map +0 -1
- package/dist/utils/shallowEqual.js +0 -1
- package/dist/utils/shallowEqual.js.map +0 -1
- package/dist/utils/time.js +0 -1
- package/dist/utils/time.js.map +0 -1
- package/dist/utils/type-utils.js +0 -1
- package/dist/utils/type-utils.js.map +0 -1
- package/dist/version.d.ts +0 -1
- package/dist/version.js +0 -1
- package/dist/version.js.map +0 -1
- package/docs/AUTO_METADATA_DETECTION.md +0 -108
- package/ios/GestureRecorderNative.swift +0 -316
- package/ios/SessionRecorderNative.m +0 -17
- package/ios/SessionRecorderNative.podspec +0 -26
- package/turbo.json +0 -41
- /package/{dist/components/index.d.ts → src/components/index.ts} +0 -0
- /package/{dist/patch/index.d.ts → src/patch/index.ts} +0 -0
package/dist/utils/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _platform=require("./platform");Object.keys(_platform).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_platform[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _platform[key];}});});var _session=require("./session");Object.keys(_session).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_session[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _session[key];}});});var _time=require("./time");Object.keys(_time).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_time[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _time[key];}});});var _typeUtils=require("./type-utils");Object.keys(_typeUtils).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_typeUtils[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _typeUtils[key];}});});var _requestUtils=require("./request-utils");Object.keys(_requestUtils).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_requestUtils[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _requestUtils[key];}});});var _rrwebEvents=require("./rrweb-events");Object.keys(_rrwebEvents).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_rrwebEvents[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _rrwebEvents[key];}});});var _logger=require("./logger");Object.keys(_logger).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_logger[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _logger[key];}});});
|
package/dist/utils/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA"}
|
package/dist/utils/logger.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.logger=exports.logWarn=exports.logSuccess=exports.logInfo=exports.logFailure=exports.logError=exports.logDebug=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _types=require("../types");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 Logger=function(){function Logger(){(0,_classCallCheck2["default"])(this,Logger);this.config={level:_types.LogLevel.INFO,enabled:true,enablePrefix:true,prefix:'[SessionRecorder]'};this.componentPrefixes=new Map([['ScreenRecorder','📸'],['NativeGestureRecorder','👆'],['SessionRecorderContext','🎯'],['EventExporter','📤'],['NavigationTracker','📸'],['RecorderReactNativeSDK','📤'],['DEBUGGER_LIB','🔍']]);}return(0,_createClass2["default"])(Logger,[{key:"configure",value:function configure(config){this.config=_objectSpread(_objectSpread({},this.config),config);}},{key:"setLevel",value:function setLevel(level){this.config.level=level;}},{key:"setConsoleEnabled",value:function setConsoleEnabled(enabled){this.config.enabled=enabled;}},{key:"setComponentPrefix",value:function setComponentPrefix(component,emoji){this.componentPrefixes.set(component,emoji);}},{key:"getPrefix",value:function getPrefix(component){if(!this.config.enablePrefix)return'';var emoji=this.componentPrefixes.get(component)||'📝';return"".concat(this.config.prefix," ").concat(emoji," [").concat(component,"]");}},{key:"shouldLog",value:function shouldLog(level){return level>=this.config.level&&this.config.enabled;}},{key:"formatMessage",value:function formatMessage(component,level,message,data){var prefix=this.getPrefix(component);var levelName=_types.LogLevel[level];var formattedMessage="".concat(prefix," ").concat(levelName," ").concat(message);if(data!==undefined){formattedMessage+=" ".concat(JSON.stringify(data));}return formattedMessage;}},{key:"debug",value:function debug(component,message,data){if(!this.shouldLog(_types.LogLevel.DEBUG))return;var formattedMessage=this.formatMessage(component,_types.LogLevel.DEBUG,message,data);console.log(formattedMessage);}},{key:"info",value:function info(component,message,data){if(!this.shouldLog(_types.LogLevel.INFO))return;var formattedMessage=this.formatMessage(component,_types.LogLevel.INFO,message,data);console.log(formattedMessage);}},{key:"warn",value:function warn(component,message,data){if(!this.shouldLog(_types.LogLevel.WARN))return;var formattedMessage=this.formatMessage(component,_types.LogLevel.WARN,message,data);console.warn(formattedMessage);}},{key:"error",value:function error(component,message,data){if(!this.shouldLog(_types.LogLevel.ERROR))return;var formattedMessage=this.formatMessage(component,_types.LogLevel.ERROR,message,data);console.error(formattedMessage);}},{key:"success",value:function success(component,message,data){if(!this.shouldLog(_types.LogLevel.INFO))return;var prefix=this.getPrefix(component);var formattedMessage="".concat(prefix," \u2705 ").concat(message);var fullMessage=formattedMessage;if(data!==undefined){fullMessage+=" ".concat(JSON.stringify(data));}console.log(fullMessage);}},{key:"failure",value:function failure(component,message,data){if(!this.shouldLog(_types.LogLevel.ERROR))return;var prefix=this.getPrefix(component);var formattedMessage="".concat(prefix," \u274C ").concat(message);var fullMessage=formattedMessage;if(data!==undefined){fullMessage+=" ".concat(JSON.stringify(data));}console.error(fullMessage);}}]);}();var logger=exports.logger=new Logger();var logDebug=exports.logDebug=function logDebug(component,message,data){return logger.debug(component,message,data);};var logInfo=exports.logInfo=function logInfo(component,message,data){return logger.info(component,message,data);};var logWarn=exports.logWarn=function logWarn(component,message,data){return logger.warn(component,message,data);};var logError=exports.logError=function logError(component,message,data){return logger.error(component,message,data);};var logSuccess=exports.logSuccess=function logSuccess(component,message,data){return logger.success(component,message,data);};var logFailure=exports.logFailure=function logFailure(component,message,data){return logger.failure(component,message,data);};
|
package/dist/utils/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/platform.js
DELETED
|
@@ -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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"}
|
package/dist/utils/session.js
DELETED
|
@@ -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"}
|
package/dist/utils/time.js
DELETED
|
@@ -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'});};
|
package/dist/utils/time.js.map
DELETED
|
@@ -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"}
|
package/dist/utils/type-utils.js
DELETED
|
@@ -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.1-beta.1";
|
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.1-beta.1";
|
package/dist/version.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,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
|