@crumbsdk/react-native 0.0.1-rc.3 → 0.0.1-rc.5
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/README.md +280 -8
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/margelo/nitro/crumbsdk/reactnative/CrumbReactNative.kt +121 -3
- package/app.plugin.js +52 -0
- package/ios/CrumbReactNative.swift +135 -3
- package/lib/module/NativeCrumbReactNative.web.js +5 -1
- package/lib/module/NativeCrumbReactNative.web.js.map +1 -1
- package/lib/module/build-release.js +19 -0
- package/lib/module/build-release.js.map +1 -0
- package/lib/module/index.js +94 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/javascript-crash-capture.js +497 -0
- package/lib/module/javascript-crash-capture.js.map +1 -0
- package/lib/module/log-buffer.js +22 -2
- package/lib/module/log-buffer.js.map +1 -1
- package/lib/module/screen-context.js +127 -0
- package/lib/module/screen-context.js.map +1 -0
- package/lib/typescript/src/CrumbReactNative.nitro.d.ts +5 -1
- package/lib/typescript/src/CrumbReactNative.nitro.d.ts.map +1 -1
- package/lib/typescript/src/NativeCrumbReactNative.web.d.ts.map +1 -1
- package/lib/typescript/src/build-release.d.ts +6 -0
- package/lib/typescript/src/build-release.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +8 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/javascript-crash-capture.d.ts +74 -0
- package/lib/typescript/src/javascript-crash-capture.d.ts.map +1 -0
- package/lib/typescript/src/log-buffer.d.ts +1 -0
- package/lib/typescript/src/log-buffer.d.ts.map +1 -1
- package/lib/typescript/src/screen-context.d.ts +19 -0
- package/lib/typescript/src/screen-context.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +38 -0
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/metro.cjs +35 -0
- package/metro.d.cts +2 -0
- package/native/ios/CrumbSDKCore.podspec +28 -0
- package/native/ios/CrumbSDKUI.podspec +38 -0
- package/native/ios/LICENSE +201 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/Info.plist +96 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/PrivacyInfo.xcprivacy +39 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/CrashReporter +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/CrashReporter.h +366 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Info.plist +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Modules/module.modulemap +8 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/CrashReporter +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/CrashReporter.h +366 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Modules/module.modulemap +8 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Resources/Info.plist +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Resources/PrivacyInfo.xcprivacy +39 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/CrashReporter +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/CrashReporter.h +366 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashFeatureConfig.h +108 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashMacros.h +143 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashNamespace.h +320 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReport.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportApplicationInfo.h +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportBinaryImageInfo.h +76 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportExceptionInfo.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportFormatter.h +55 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachExceptionInfo.h +41 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachineInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessInfo.h +80 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessorInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportRegisterInfo.h +45 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportSignalInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportStackFrameInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportSymbolInfo.h +51 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportSystemInfo.h +158 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportTextFormatter.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportThreadInfo.h +75 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReporter.h +131 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReporterConfig.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Modules/module.modulemap +8 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Resources/Info.plist +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Resources/PrivacyInfo.xcprivacy +39 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/CrashReporter +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/CrashReporter.h +366 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashFeatureConfig.h +108 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashMacros.h +143 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashNamespace.h +320 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReport.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportApplicationInfo.h +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportBinaryImageInfo.h +76 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportExceptionInfo.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportFormatter.h +55 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachExceptionInfo.h +41 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachineInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessInfo.h +80 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessorInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportRegisterInfo.h +45 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSignalInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportStackFrameInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSymbolInfo.h +51 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSystemInfo.h +158 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportTextFormatter.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportThreadInfo.h +75 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReporter.h +131 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReporterConfig.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Modules/module.modulemap +8 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Resources/Info.plist +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Resources/PrivacyInfo.xcprivacy +39 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/CrashReporter +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/CrashReporter.h +366 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Info.plist +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Modules/module.modulemap +8 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeDirectory +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements-1 +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeResources +462 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeSignature +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/CrashReporter +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/CrashReporter.h +366 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Modules/module.modulemap +8 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Resources/Info.plist +48 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Resources/PrivacyInfo.xcprivacy +39 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/CrashReporter +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/CrashReporter.h +366 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashFeatureConfig.h +108 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashMacros.h +143 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashNamespace.h +320 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReport.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportApplicationInfo.h +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportBinaryImageInfo.h +76 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportExceptionInfo.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportFormatter.h +55 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachExceptionInfo.h +41 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachineInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessInfo.h +80 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessorInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportRegisterInfo.h +45 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportSignalInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportStackFrameInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportSymbolInfo.h +51 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportSystemInfo.h +158 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportTextFormatter.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportThreadInfo.h +75 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReporter.h +131 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReporterConfig.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Modules/module.modulemap +8 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Resources/Info.plist +48 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Resources/PrivacyInfo.xcprivacy +39 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/CrashReporter +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/CrashReporter.h +366 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashFeatureConfig.h +108 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashMacros.h +143 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashNamespace.h +320 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReport.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportApplicationInfo.h +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportBinaryImageInfo.h +76 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportExceptionInfo.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportFormatter.h +55 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachExceptionInfo.h +41 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachineInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessInfo.h +80 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessorInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportRegisterInfo.h +45 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSignalInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportStackFrameInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSymbolInfo.h +51 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSystemInfo.h +158 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportTextFormatter.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportThreadInfo.h +75 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReporter.h +131 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReporterConfig.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Modules/module.modulemap +8 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Resources/Info.plist +48 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Resources/PrivacyInfo.xcprivacy +39 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/CrashReporter +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/CrashReporter.h +366 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Info.plist +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Modules/module.modulemap +8 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/CrashReporter +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/CrashReporter.h +366 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Info.plist +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Modules/module.modulemap +8 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeDirectory +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements-1 +0 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeResources +462 -0
- package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeSignature +0 -0
- package/native/ios/PLCrashReporter/LICENSE.txt +54 -0
- package/native/ios/PLCrashReporter/PLCrashReporter.podspec +19 -0
- package/native/ios/VERSION +1 -0
- package/native/ios/packages/ios/Sources/CrumbCore/Crumb.swift +108 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbConfiguration.swift +212 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbDiagnostics.swift +158 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbFailureStacks.swift +94 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbInfrastructureHealthProbe.swift +110 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbJavaScriptCrashRecovery.swift +136 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbJavaScriptCrashStore.swift +508 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbJavaScriptFailureContext.swift +166 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbLogs.swift +138 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbPolicy.swift +336 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbRendering.swift +68 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbReportEnvelope.swift +666 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbReportQueue.swift +543 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbReportUploader.swift +304 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbRuntime.swift +306 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbSDKVersion.swift +5 -0
- package/native/ios/packages/ios/Sources/CrumbCore/CrumbScreenContext.swift +29 -0
- package/native/ios/packages/ios/Sources/CrumbUI/CrumbDesign.swift +151 -0
- package/native/ios/packages/ios/Sources/CrumbUI/CrumbLocalization.swift +23 -0
- package/native/ios/packages/ios/Sources/CrumbUI/CrumbQualityInstrumentation.swift +30 -0
- package/native/ios/packages/ios/Sources/CrumbUI/CrumbRenderingMonitor.swift +40 -0
- package/native/ios/packages/ios/Sources/CrumbUI/CrumbReporter.swift +1705 -0
- package/native/ios/packages/ios/Sources/CrumbUI/CrumbReporterLifecycle.swift +119 -0
- package/native/ios/packages/ios/Sources/CrumbUI/CrumbScreenshotArtifact.swift +186 -0
- package/native/ios/packages/ios/Sources/CrumbUI/CrumbShakeGestureRecognizer.swift +62 -0
- package/native/ios/packages/ios/Sources/CrumbUI/CrumbUploadCoordinator.swift +113 -0
- package/native/ios/packages/ios/Sources/CrumbUI/CrumbWorkspacePolicyCoordinator.swift +86 -0
- package/native/ios/packages/ios/Sources/CrumbUI/OnDemandDiagnosticsCollector.swift +269 -0
- package/native/ios/packages/ios/Sources/CrumbUI/OnDemandLogCollector.swift +213 -0
- package/native/ios/packages/ios/Sources/CrumbUI/Resources/en.lproj/Localizable.strings +75 -0
- package/native/ios/provenance.json +8 -0
- package/nitrogen/generated/android/c++/JHybridCrumbReactNativeSpec.cpp +32 -3
- package/nitrogen/generated/android/c++/JHybridCrumbReactNativeSpec.hpp +5 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/crumbsdk/reactnative/HybridCrumbReactNativeSpec.kt +17 -1
- package/nitrogen/generated/ios/CrumbReactNative-Swift-Cxx-Bridge.hpp +9 -0
- package/nitrogen/generated/ios/c++/HybridCrumbReactNativeSpecSwift.hpp +30 -2
- package/nitrogen/generated/ios/swift/HybridCrumbReactNativeSpec.swift +5 -1
- package/nitrogen/generated/ios/swift/HybridCrumbReactNativeSpec_cxx.swift +55 -2
- package/nitrogen/generated/shared/c++/HybridCrumbReactNativeSpec.cpp +4 -0
- package/nitrogen/generated/shared/c++/HybridCrumbReactNativeSpec.hpp +5 -1
- package/package.json +29 -5
- package/plugin/build-hooks.cjs +52 -0
- package/plugin/podfile.cjs +21 -0
- package/scripts/ios.rb +23 -0
- package/src/CrumbReactNative.nitro.ts +5 -1
- package/src/NativeCrumbReactNative.web.ts +4 -0
- package/src/build-release.ts +30 -0
- package/src/index.ts +221 -2
- package/src/javascript-crash-capture.ts +774 -0
- package/src/log-buffer.ts +27 -2
- package/src/screen-context.ts +154 -0
- package/src/types.ts +53 -0
- package/tools/cli.cjs +116 -0
- package/tools/config.cjs +72 -0
- package/tools/crumb.gradle +63 -0
- package/tools/expo-export.cjs +122 -0
- package/tools/ios.cjs +93 -0
- package/tools/node.cjs +21 -0
- package/tools/release.cjs +65 -0
- package/tools/setup.cjs +291 -0
- package/tools/upload.cjs +137 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
#if os(iOS)
|
|
2
|
+
import CoreTelephony
|
|
3
|
+
import CrumbCore
|
|
4
|
+
import Darwin
|
|
5
|
+
import Foundation
|
|
6
|
+
import Network
|
|
7
|
+
|
|
8
|
+
enum OnDemandDiagnosticsCollector {
|
|
9
|
+
static func capture(
|
|
10
|
+
location: String,
|
|
11
|
+
options: CrumbDiagnosticsOptions,
|
|
12
|
+
evidence: Set<CrumbEvidenceCategory> = Set(CrumbEvidenceCategory.allCases),
|
|
13
|
+
screenContext: CrumbScreenContext? = nil
|
|
14
|
+
) -> CrumbDiagnosticsSnapshot {
|
|
15
|
+
let capturesPerformance = evidence.contains(.performance)
|
|
16
|
+
let threads = capturesPerformance ? threadDiagnostics() : []
|
|
17
|
+
let cpuUsagePercent: Double? = if !capturesPerformance || threads.isEmpty {
|
|
18
|
+
nil
|
|
19
|
+
} else {
|
|
20
|
+
threads.compactMap(\.cpuUsagePercent).reduce(0, +)
|
|
21
|
+
}
|
|
22
|
+
let memory = capturesPerformance ? memoryDiagnostics() : nil
|
|
23
|
+
let network = evidence.contains(.network)
|
|
24
|
+
? networkDiagnostics(
|
|
25
|
+
options: CrumbDiagnosticsOptions(
|
|
26
|
+
healthCheckURL: evidence.contains(.healthCheck) ? options.healthCheckURL : nil,
|
|
27
|
+
timeout: options.timeout,
|
|
28
|
+
logs: options.logs
|
|
29
|
+
)
|
|
30
|
+
)
|
|
31
|
+
: CrumbNetworkDiagnostic(
|
|
32
|
+
status: "unknown",
|
|
33
|
+
transport: "unknown",
|
|
34
|
+
cellularGeneration: nil,
|
|
35
|
+
isExpensive: false,
|
|
36
|
+
isConstrained: false,
|
|
37
|
+
healthCheck: nil
|
|
38
|
+
)
|
|
39
|
+
let logs: CrumbLogDiagnostic
|
|
40
|
+
if evidence.contains(.logs) {
|
|
41
|
+
logs = OnDemandLogCollector.capture(options: options.logs)
|
|
42
|
+
} else {
|
|
43
|
+
logs = CrumbLogDiagnostic(
|
|
44
|
+
status: options.logs.enabled ? .disabledByPolicy : .disabled,
|
|
45
|
+
sources: [],
|
|
46
|
+
entries: [],
|
|
47
|
+
truncated: false,
|
|
48
|
+
droppedEntryCount: 0,
|
|
49
|
+
failures: options.logs.enabled ? ["disabled_by_policy"] : []
|
|
50
|
+
)
|
|
51
|
+
}
|
|
52
|
+
let stackTraces = evidence.contains(.threadStacks)
|
|
53
|
+
? CrumbStackTraceDiagnostic(
|
|
54
|
+
status: .unavailable,
|
|
55
|
+
scope: "none",
|
|
56
|
+
threads: [],
|
|
57
|
+
truncated: false,
|
|
58
|
+
unavailableReason: "all_thread_stacks_unavailable_without_sampling"
|
|
59
|
+
)
|
|
60
|
+
: CrumbStackTraceDiagnostic(
|
|
61
|
+
status: .unavailable,
|
|
62
|
+
scope: "none",
|
|
63
|
+
threads: [],
|
|
64
|
+
truncated: false,
|
|
65
|
+
unavailableReason: "disabled_by_policy"
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
return CrumbDiagnosticsSnapshot(
|
|
69
|
+
capturedAt: Date(),
|
|
70
|
+
location: location,
|
|
71
|
+
processName: ProcessInfo.processInfo.processName,
|
|
72
|
+
processID: getpid(),
|
|
73
|
+
cpuUsagePercent: cpuUsagePercent,
|
|
74
|
+
residentMemoryBytes: memory?.resident,
|
|
75
|
+
physicalFootprintBytes: memory?.footprint,
|
|
76
|
+
thermalState: capturesPerformance ? thermalState() : "unavailable_by_policy",
|
|
77
|
+
threadCount: threads.count,
|
|
78
|
+
busiestThreads: Array(
|
|
79
|
+
threads
|
|
80
|
+
.sorted { ($0.cpuUsagePercent ?? 0) > ($1.cpuUsagePercent ?? 0) }
|
|
81
|
+
.prefix(12)
|
|
82
|
+
),
|
|
83
|
+
gpuStatus: "Unavailable on demand on iOS",
|
|
84
|
+
network: network,
|
|
85
|
+
logs: logs,
|
|
86
|
+
stackTraces: stackTraces,
|
|
87
|
+
rendering: options.renderingEnabled && capturesPerformance ? CrumbRenderingBuffer.shared.snapshot() : nil,
|
|
88
|
+
screenContext: evidence.contains(.customContext) ? screenContext : nil
|
|
89
|
+
)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
private static func memoryDiagnostics() -> (resident: UInt64, footprint: UInt64)? {
|
|
93
|
+
var info = task_vm_info_data_t()
|
|
94
|
+
var count = mach_msg_type_number_t(
|
|
95
|
+
MemoryLayout<task_vm_info_data_t>.size / MemoryLayout<natural_t>.size
|
|
96
|
+
)
|
|
97
|
+
let result = withUnsafeMutablePointer(to: &info) { pointer in
|
|
98
|
+
pointer.withMemoryRebound(to: integer_t.self, capacity: Int(count)) { rebound in
|
|
99
|
+
task_info(mach_task_self_, task_flavor_t(TASK_VM_INFO), rebound, &count)
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
guard result == KERN_SUCCESS else { return nil }
|
|
103
|
+
return (UInt64(info.resident_size), UInt64(info.phys_footprint))
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
private static func threadDiagnostics() -> [CrumbThreadDiagnostic] {
|
|
107
|
+
var threadList: thread_act_array_t?
|
|
108
|
+
var threadCount: mach_msg_type_number_t = 0
|
|
109
|
+
guard task_threads(mach_task_self_, &threadList, &threadCount) == KERN_SUCCESS,
|
|
110
|
+
let threadList else {
|
|
111
|
+
return []
|
|
112
|
+
}
|
|
113
|
+
defer {
|
|
114
|
+
let byteCount = vm_size_t(Int(threadCount) * MemoryLayout<thread_t>.stride)
|
|
115
|
+
vm_deallocate(
|
|
116
|
+
mach_task_self_,
|
|
117
|
+
vm_address_t(UInt(bitPattern: threadList)),
|
|
118
|
+
byteCount
|
|
119
|
+
)
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
var snapshots: [CrumbThreadDiagnostic] = []
|
|
123
|
+
snapshots.reserveCapacity(Int(threadCount))
|
|
124
|
+
for index in 0..<Int(threadCount) {
|
|
125
|
+
let thread = threadList[index]
|
|
126
|
+
defer { mach_port_deallocate(mach_task_self_, thread) }
|
|
127
|
+
|
|
128
|
+
var info = thread_basic_info_data_t()
|
|
129
|
+
var infoCount = mach_msg_type_number_t(
|
|
130
|
+
MemoryLayout<thread_basic_info_data_t>.size / MemoryLayout<integer_t>.size
|
|
131
|
+
)
|
|
132
|
+
let result = withUnsafeMutablePointer(to: &info) { pointer in
|
|
133
|
+
pointer.withMemoryRebound(to: integer_t.self, capacity: Int(infoCount)) { rebound in
|
|
134
|
+
thread_info(thread, thread_flavor_t(THREAD_BASIC_INFO), rebound, &infoCount)
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
guard result == KERN_SUCCESS else { continue }
|
|
138
|
+
|
|
139
|
+
let cpu: Double? = (info.flags & TH_FLAGS_IDLE) == 0
|
|
140
|
+
? Double(info.cpu_usage) / Double(TH_USAGE_SCALE) * 100
|
|
141
|
+
: 0
|
|
142
|
+
snapshots.append(
|
|
143
|
+
CrumbThreadDiagnostic(
|
|
144
|
+
id: UInt64(thread),
|
|
145
|
+
name: threadName(thread) ?? "thread-\(thread)",
|
|
146
|
+
state: threadState(info.run_state),
|
|
147
|
+
cpuUsagePercent: cpu
|
|
148
|
+
)
|
|
149
|
+
)
|
|
150
|
+
}
|
|
151
|
+
return snapshots
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
private static func threadName(_ thread: thread_t) -> String? {
|
|
155
|
+
guard let pthread = pthread_from_mach_thread_np(thread) else { return nil }
|
|
156
|
+
var buffer = [CChar](repeating: 0, count: 64)
|
|
157
|
+
let result = buffer.withUnsafeMutableBufferPointer { pointer in
|
|
158
|
+
pthread_getname_np(pthread, pointer.baseAddress!, pointer.count)
|
|
159
|
+
}
|
|
160
|
+
guard result == 0 else { return nil }
|
|
161
|
+
let name = String(
|
|
162
|
+
decoding: buffer.prefix { $0 != 0 }.map { UInt8(bitPattern: $0) },
|
|
163
|
+
as: UTF8.self
|
|
164
|
+
)
|
|
165
|
+
return name.isEmpty ? nil : name
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
private static func threadState(_ state: Int32) -> String {
|
|
169
|
+
switch state {
|
|
170
|
+
case TH_STATE_RUNNING: "running"
|
|
171
|
+
case TH_STATE_STOPPED: "stopped"
|
|
172
|
+
case TH_STATE_WAITING: "waiting"
|
|
173
|
+
case TH_STATE_UNINTERRUPTIBLE: "uninterruptible"
|
|
174
|
+
case TH_STATE_HALTED: "halted"
|
|
175
|
+
default: "unknown"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
private static func thermalState() -> String {
|
|
180
|
+
switch ProcessInfo.processInfo.thermalState {
|
|
181
|
+
case .nominal: "nominal"
|
|
182
|
+
case .fair: "fair"
|
|
183
|
+
case .serious: "serious"
|
|
184
|
+
case .critical: "critical"
|
|
185
|
+
@unknown default: "unknown"
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
private static func networkDiagnostics(
|
|
190
|
+
options: CrumbDiagnosticsOptions
|
|
191
|
+
) -> CrumbNetworkDiagnostic {
|
|
192
|
+
// Connectivity is useful context, but it must never consume the report-time
|
|
193
|
+
// diagnostics budget. NWPathMonitor normally publishes immediately; when a
|
|
194
|
+
// device does not, preserve an honest `unknown` value rather than blocking.
|
|
195
|
+
let path = currentNetworkPath(timeout: min(options.timeout, 0.1))
|
|
196
|
+
let transport = path.map(networkTransport) ?? "unknown"
|
|
197
|
+
let health = options.healthCheckURL.map {
|
|
198
|
+
CrumbInfrastructureHealthProbe.capture(url: $0, timeout: options.timeout)
|
|
199
|
+
}
|
|
200
|
+
return CrumbNetworkDiagnostic(
|
|
201
|
+
status: path.map { $0.status == .satisfied ? "reachable" : "unreachable" } ?? "unknown",
|
|
202
|
+
transport: transport,
|
|
203
|
+
cellularGeneration: transport == "cellular" ? cellularGeneration() : nil,
|
|
204
|
+
isExpensive: path?.isExpensive ?? false,
|
|
205
|
+
isConstrained: path?.isConstrained ?? false,
|
|
206
|
+
healthCheck: health
|
|
207
|
+
)
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
private static func currentNetworkPath(timeout: TimeInterval) -> NWPath? {
|
|
211
|
+
let monitor = NWPathMonitor()
|
|
212
|
+
let result = LockedValue<NWPath>()
|
|
213
|
+
let semaphore = DispatchSemaphore(value: 0)
|
|
214
|
+
monitor.pathUpdateHandler = { path in
|
|
215
|
+
result.setIfEmpty(path)
|
|
216
|
+
semaphore.signal()
|
|
217
|
+
}
|
|
218
|
+
monitor.start(queue: DispatchQueue(label: "dev.crumb.network-probe"))
|
|
219
|
+
_ = semaphore.wait(timeout: .now() + timeout)
|
|
220
|
+
monitor.cancel()
|
|
221
|
+
return result.value
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
private static func networkTransport(_ path: NWPath) -> String {
|
|
225
|
+
if path.usesInterfaceType(.wifi) { return "wifi" }
|
|
226
|
+
if path.usesInterfaceType(.cellular) { return "cellular" }
|
|
227
|
+
if path.usesInterfaceType(.wiredEthernet) { return "ethernet" }
|
|
228
|
+
if path.usesInterfaceType(.loopback) { return "loopback" }
|
|
229
|
+
return "other"
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
private static func cellularGeneration() -> String? {
|
|
233
|
+
let technologies = CTTelephonyNetworkInfo()
|
|
234
|
+
.serviceCurrentRadioAccessTechnology
|
|
235
|
+
.map { Array($0.values) } ?? []
|
|
236
|
+
guard let technology = technologies.first else { return nil }
|
|
237
|
+
if #available(iOS 14.1, *),
|
|
238
|
+
technology == CTRadioAccessTechnologyNR || technology == CTRadioAccessTechnologyNRNSA {
|
|
239
|
+
return "5G"
|
|
240
|
+
}
|
|
241
|
+
if technology == CTRadioAccessTechnologyLTE { return "4G/LTE" }
|
|
242
|
+
if [CTRadioAccessTechnologyWCDMA, CTRadioAccessTechnologyHSDPA,
|
|
243
|
+
CTRadioAccessTechnologyHSUPA, CTRadioAccessTechnologyCDMAEVDORev0,
|
|
244
|
+
CTRadioAccessTechnologyCDMAEVDORevA, CTRadioAccessTechnologyCDMAEVDORevB,
|
|
245
|
+
CTRadioAccessTechnologyeHRPD].contains(technology) {
|
|
246
|
+
return "3G"
|
|
247
|
+
}
|
|
248
|
+
return "2G"
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
private final class LockedValue<Value>: @unchecked Sendable {
|
|
254
|
+
private let lock = NSLock()
|
|
255
|
+
private var storage: Value?
|
|
256
|
+
|
|
257
|
+
var value: Value? {
|
|
258
|
+
lock.lock()
|
|
259
|
+
defer { lock.unlock() }
|
|
260
|
+
return storage
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
func setIfEmpty(_ value: Value) {
|
|
264
|
+
lock.lock()
|
|
265
|
+
defer { lock.unlock() }
|
|
266
|
+
if storage == nil { storage = value }
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
#endif
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
#if os(iOS)
|
|
2
|
+
import CrumbCore
|
|
3
|
+
import Foundation
|
|
4
|
+
import OSLog
|
|
5
|
+
|
|
6
|
+
enum OnDemandLogCollector {
|
|
7
|
+
private static let scanLimit = 2_000
|
|
8
|
+
private static let unifiedLogDeadline = DispatchTimeInterval.milliseconds(250)
|
|
9
|
+
|
|
10
|
+
static func capture(options: CrumbLogOptions) -> CrumbLogDiagnostic {
|
|
11
|
+
guard options.enabled else {
|
|
12
|
+
return CrumbLogDiagnostic(
|
|
13
|
+
status: .disabled,
|
|
14
|
+
sources: [],
|
|
15
|
+
entries: [],
|
|
16
|
+
truncated: false,
|
|
17
|
+
droppedEntryCount: 0,
|
|
18
|
+
failures: []
|
|
19
|
+
)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
let capturedAt = Date()
|
|
23
|
+
let earliest = capturedAt.addingTimeInterval(-options.lookback)
|
|
24
|
+
var candidates: [CrumbLogEntry] = []
|
|
25
|
+
var sources: [String] = []
|
|
26
|
+
var failures: [String] = []
|
|
27
|
+
var droppedBeforeBounding = 0
|
|
28
|
+
|
|
29
|
+
if let unified = timeboxedUnifiedLogs(earliest: earliest) {
|
|
30
|
+
candidates.append(contentsOf: unified.entries)
|
|
31
|
+
droppedBeforeBounding += unified.dropped
|
|
32
|
+
if let failure = unified.failure {
|
|
33
|
+
failures.append(failure)
|
|
34
|
+
} else {
|
|
35
|
+
sources.append("os_log")
|
|
36
|
+
}
|
|
37
|
+
} else {
|
|
38
|
+
failures.append("os_log_unavailable:timeout")
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if let provider = options.provider {
|
|
42
|
+
do {
|
|
43
|
+
candidates.append(contentsOf: try provider.recentLogs())
|
|
44
|
+
sources.append("host_provider")
|
|
45
|
+
} catch {
|
|
46
|
+
failures.append("host_provider_failed:\(String(describing: type(of: error)))")
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
let bounded = bound(
|
|
51
|
+
candidates,
|
|
52
|
+
capturedAt: capturedAt,
|
|
53
|
+
earliest: earliest,
|
|
54
|
+
options: options,
|
|
55
|
+
alreadyDropped: droppedBeforeBounding
|
|
56
|
+
)
|
|
57
|
+
let status: CrumbLogCaptureStatus
|
|
58
|
+
if !bounded.entries.isEmpty {
|
|
59
|
+
status = .captured
|
|
60
|
+
} else if !sources.isEmpty {
|
|
61
|
+
status = .empty
|
|
62
|
+
} else {
|
|
63
|
+
status = .unavailable
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return CrumbLogDiagnostic(
|
|
67
|
+
status: status,
|
|
68
|
+
sources: Array(Set(sources)).sorted(),
|
|
69
|
+
entries: bounded.entries,
|
|
70
|
+
truncated: bounded.dropped > 0,
|
|
71
|
+
droppedEntryCount: bounded.dropped,
|
|
72
|
+
failures: failures
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
private static func timeboxedUnifiedLogs(earliest: Date) -> UnifiedLogCapture? {
|
|
77
|
+
let result = UnifiedLogCaptureBox()
|
|
78
|
+
let semaphore = DispatchSemaphore(value: 0)
|
|
79
|
+
DispatchQueue.global(qos: .userInitiated).async {
|
|
80
|
+
result.set(captureUnifiedLogs(earliest: earliest))
|
|
81
|
+
semaphore.signal()
|
|
82
|
+
}
|
|
83
|
+
guard semaphore.wait(timeout: .now() + unifiedLogDeadline) == .success else {
|
|
84
|
+
return nil
|
|
85
|
+
}
|
|
86
|
+
return result.value
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
private static func captureUnifiedLogs(earliest: Date) -> UnifiedLogCapture {
|
|
90
|
+
var entries: [CrumbLogEntry] = []
|
|
91
|
+
do {
|
|
92
|
+
let store = try OSLogStore(scope: .currentProcessIdentifier)
|
|
93
|
+
// Start at the newest entry and stop once the configured window is
|
|
94
|
+
// crossed. Forward enumeration from `earliest` can scan a large store
|
|
95
|
+
// before reaching the evidence the report actually keeps.
|
|
96
|
+
for case let entry as OSLogEntryLog in try store.getEntries(
|
|
97
|
+
with: .reverse,
|
|
98
|
+
at: nil,
|
|
99
|
+
matching: nil
|
|
100
|
+
) {
|
|
101
|
+
guard entry.date >= earliest else { break }
|
|
102
|
+
entries.append(
|
|
103
|
+
CrumbLogEntry(
|
|
104
|
+
timestamp: entry.date,
|
|
105
|
+
level: level(entry.level),
|
|
106
|
+
source: "os_log",
|
|
107
|
+
category: [entry.subsystem, entry.category]
|
|
108
|
+
.filter { !$0.isEmpty }
|
|
109
|
+
.joined(separator: "/"),
|
|
110
|
+
message: entry.composedMessage
|
|
111
|
+
)
|
|
112
|
+
)
|
|
113
|
+
if entries.count >= scanLimit {
|
|
114
|
+
return UnifiedLogCapture(entries: entries, dropped: 1, failure: nil)
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return UnifiedLogCapture(entries: entries, dropped: 0, failure: nil)
|
|
118
|
+
} catch {
|
|
119
|
+
return UnifiedLogCapture(
|
|
120
|
+
entries: [],
|
|
121
|
+
dropped: 0,
|
|
122
|
+
failure: "os_log_unavailable:\(String(describing: type(of: error)))"
|
|
123
|
+
)
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
private static func bound(
|
|
128
|
+
_ entries: [CrumbLogEntry],
|
|
129
|
+
capturedAt: Date,
|
|
130
|
+
earliest: Date,
|
|
131
|
+
options: CrumbLogOptions,
|
|
132
|
+
alreadyDropped: Int
|
|
133
|
+
) -> (entries: [CrumbLogEntry], dropped: Int) {
|
|
134
|
+
let futureTolerance = capturedAt.addingTimeInterval(5)
|
|
135
|
+
let candidates = entries
|
|
136
|
+
.filter { $0.timestamp >= earliest && $0.timestamp <= futureTolerance }
|
|
137
|
+
.sorted { $0.timestamp > $1.timestamp }
|
|
138
|
+
var selected: [CrumbLogEntry] = []
|
|
139
|
+
var usedBytes = 0
|
|
140
|
+
var dropped = alreadyDropped
|
|
141
|
+
|
|
142
|
+
for entry in candidates {
|
|
143
|
+
guard selected.count < options.maximumEntries else {
|
|
144
|
+
dropped += 1
|
|
145
|
+
continue
|
|
146
|
+
}
|
|
147
|
+
let sanitized = CrumbLogEntry(
|
|
148
|
+
timestamp: entry.timestamp,
|
|
149
|
+
level: entry.level,
|
|
150
|
+
source: bounded(
|
|
151
|
+
CrumbLogSanitizer.sanitize(entry.source).isEmpty
|
|
152
|
+
? "application"
|
|
153
|
+
: CrumbLogSanitizer.sanitize(entry.source),
|
|
154
|
+
length: 64
|
|
155
|
+
),
|
|
156
|
+
category: bounded(CrumbLogSanitizer.sanitize(entry.category), length: 256),
|
|
157
|
+
message: bounded(CrumbLogSanitizer.sanitize(entry.message), length: 65_536)
|
|
158
|
+
)
|
|
159
|
+
let byteCount = sanitized.source.utf8.count
|
|
160
|
+
+ sanitized.category.utf8.count
|
|
161
|
+
+ sanitized.message.utf8.count
|
|
162
|
+
+ 32
|
|
163
|
+
guard usedBytes + byteCount <= options.maximumBytes else {
|
|
164
|
+
dropped += 1
|
|
165
|
+
continue
|
|
166
|
+
}
|
|
167
|
+
selected.append(sanitized)
|
|
168
|
+
usedBytes += byteCount
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return (selected.sorted { $0.timestamp < $1.timestamp }, dropped)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
private static func bounded(_ value: String, length: Int) -> String {
|
|
175
|
+
String(value.prefix(length))
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
private static func level(_ value: OSLogEntryLog.Level) -> CrumbLogLevel {
|
|
179
|
+
switch value {
|
|
180
|
+
case .debug: .debug
|
|
181
|
+
case .info: .info
|
|
182
|
+
case .notice: .notice
|
|
183
|
+
case .error: .error
|
|
184
|
+
case .fault: .fault
|
|
185
|
+
case .undefined: .debug
|
|
186
|
+
@unknown default: .debug
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
private struct UnifiedLogCapture: Sendable {
|
|
192
|
+
let entries: [CrumbLogEntry]
|
|
193
|
+
let dropped: Int
|
|
194
|
+
let failure: String?
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
private final class UnifiedLogCaptureBox: @unchecked Sendable {
|
|
198
|
+
private let lock = NSLock()
|
|
199
|
+
private var storage: UnifiedLogCapture?
|
|
200
|
+
|
|
201
|
+
var value: UnifiedLogCapture? {
|
|
202
|
+
lock.lock()
|
|
203
|
+
defer { lock.unlock() }
|
|
204
|
+
return storage
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
func set(_ value: UnifiedLogCapture) {
|
|
208
|
+
lock.lock()
|
|
209
|
+
storage = value
|
|
210
|
+
lock.unlock()
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
#endif
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/* English source catalog for the reporter flow. */
|
|
2
|
+
"Report a problem" = "Report a problem";
|
|
3
|
+
"Report a problem?" = "Report a problem?";
|
|
4
|
+
"We noticed a shake on this screen." = "We noticed a shake on this screen.";
|
|
5
|
+
"Report" = "Report";
|
|
6
|
+
"Cancel" = "Cancel";
|
|
7
|
+
"Review" = "Review";
|
|
8
|
+
"Bug" = "Bug";
|
|
9
|
+
"Feedback" = "Feedback";
|
|
10
|
+
"Other" = "Other";
|
|
11
|
+
"Problem description" = "Problem description";
|
|
12
|
+
"What happened?" = "What happened?";
|
|
13
|
+
"Your own words are the most useful part of the report." = "Your own words are the most useful part of the report.";
|
|
14
|
+
"Gathering context" = "Gathering context";
|
|
15
|
+
"Context ready" = "Context ready";
|
|
16
|
+
"Collecting a small, on-demand diagnostic snapshot." = "Collecting a small, on-demand diagnostic snapshot.";
|
|
17
|
+
"Masked screenshot preview" = "Masked screenshot preview";
|
|
18
|
+
"Screenshot attached" = "Screenshot attached";
|
|
19
|
+
"Screenshot attached. Text fields masked." = "Screenshot attached. Text fields masked.";
|
|
20
|
+
"Screenshot attached. Text-field masking is off." = "Screenshot attached. Text-field masking is off.";
|
|
21
|
+
"Screenshot · masked" = "Screenshot · masked";
|
|
22
|
+
"Text fields masked" = "Text fields masked";
|
|
23
|
+
"Text-field masking is off" = "Text-field masking is off";
|
|
24
|
+
"Sensitive fields masked · tap to preview" = "Sensitive fields masked · tap to preview";
|
|
25
|
+
"Tap to preview" = "Tap to preview";
|
|
26
|
+
"Opens the screenshot preview" = "Opens the screenshot preview";
|
|
27
|
+
"Remove" = "Remove";
|
|
28
|
+
"Review report" = "Review report";
|
|
29
|
+
"Add a description to continue." = "Add a description to continue.";
|
|
30
|
+
"Finishing context collection…" = "Finishing context collection…";
|
|
31
|
+
"Report context is ready" = "Report context is ready";
|
|
32
|
+
"Couldn’t create draft" = "Couldn’t create draft";
|
|
33
|
+
"The local report envelope could not be serialized." = "The local report envelope could not be serialized.";
|
|
34
|
+
"OK" = "OK";
|
|
35
|
+
"Discard this report?" = "Discard this report?";
|
|
36
|
+
"Your description and category changes will be lost." = "Your description and category changes will be lost.";
|
|
37
|
+
"Keep editing" = "Keep editing";
|
|
38
|
+
"Discard report" = "Discard report";
|
|
39
|
+
"Close" = "Close";
|
|
40
|
+
"Back" = "Back";
|
|
41
|
+
"Nothing has been sent yet. This is saved only on your phone." = "Nothing has been sent yet. This is saved only on your phone.";
|
|
42
|
+
"Edit" = "Edit";
|
|
43
|
+
"What’s attached" = "What’s attached";
|
|
44
|
+
"Unavailable" = "Unavailable";
|
|
45
|
+
"App release" = "App release";
|
|
46
|
+
"Device" = "Device";
|
|
47
|
+
"Device & OS" = "Device & OS";
|
|
48
|
+
"Screen" = "Screen";
|
|
49
|
+
"Network" = "Network";
|
|
50
|
+
"Performance" = "Performance";
|
|
51
|
+
"Recent logs" = "Recent logs";
|
|
52
|
+
"%lld sanitized entry" = "%lld sanitized entry";
|
|
53
|
+
"%lld sanitized entries" = "%lld sanitized entries";
|
|
54
|
+
"See everything that’s attached ›" = "See everything that’s attached ›";
|
|
55
|
+
"Hide technical detail" = "Hide technical detail";
|
|
56
|
+
"Send report" = "Send report";
|
|
57
|
+
"No passwords, card numbers, keystrokes or location are ever included." = "No passwords, card numbers, keystrokes or location are ever included.";
|
|
58
|
+
"Screenshot on" = "Screenshot on";
|
|
59
|
+
"Screenshot off" = "Screenshot off";
|
|
60
|
+
"What’s attached · 21 items" = "What’s attached · 21 items";
|
|
61
|
+
"Screen at the time" = "Screen at the time";
|
|
62
|
+
"Memory & CPU" = "Memory & CPU";
|
|
63
|
+
"Recent app logs" = "Recent app logs";
|
|
64
|
+
"Not available" = "Not available";
|
|
65
|
+
"3 items" = "3 items";
|
|
66
|
+
"4 text fields hidden" = "4 text fields hidden";
|
|
67
|
+
"Saving locally…" = "Saving locally…";
|
|
68
|
+
"Saving report locally" = "Saving report locally";
|
|
69
|
+
"Report saved" = "Report saved";
|
|
70
|
+
"Safely queued on this device. You can close Crumb without losing it." = "Safely queued on this device. You can close Crumb without losing it.";
|
|
71
|
+
"Done" = "Done";
|
|
72
|
+
"Try again" = "Try again";
|
|
73
|
+
"The on-device queue is full. No existing report was deleted." = "The on-device queue is full. No existing report was deleted.";
|
|
74
|
+
"The report was not saved. Nothing was sent; please try again." = "The report was not saved. Nothing was sent; please try again.";
|
|
75
|
+
"Couldn’t save report" = "Couldn’t save report";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"nativeVersion": "0.0.1-rc.5",
|
|
3
|
+
"PLCrashReporter": {
|
|
4
|
+
"version": "1.12.0",
|
|
5
|
+
"url": "https://github.com/microsoft/plcrashreporter/releases/download/1.12.0/PLCrashReporter-Static-1.12.0.xcframework.zip",
|
|
6
|
+
"sha256": "9e7124d63316a5e354fdeec631a3d669b1eaa533d3767a0089a05ab0eedc02b5"
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -50,6 +50,15 @@ namespace margelo::nitro::crumbsdk_reactnative {
|
|
|
50
50
|
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* configurationJson */)>("start");
|
|
51
51
|
method(_javaPart, jni::make_jstring(configurationJson));
|
|
52
52
|
}
|
|
53
|
+
void JHybridCrumbReactNativeSpec::setScreenContext(const std::string& screenJson) {
|
|
54
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* screenJson */)>("setScreenContext");
|
|
55
|
+
method(_javaPart, jni::make_jstring(screenJson));
|
|
56
|
+
}
|
|
57
|
+
bool JHybridCrumbReactNativeSpec::canCollectLogs() {
|
|
58
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean()>("canCollectLogs");
|
|
59
|
+
auto __result = method(_javaPart);
|
|
60
|
+
return static_cast<bool>(__result);
|
|
61
|
+
}
|
|
53
62
|
std::shared_ptr<Promise<bool>> JHybridCrumbReactNativeSpec::installReporter() {
|
|
54
63
|
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("installReporter");
|
|
55
64
|
auto __result = method(_javaPart);
|
|
@@ -66,9 +75,9 @@ namespace margelo::nitro::crumbsdk_reactnative {
|
|
|
66
75
|
return __promise;
|
|
67
76
|
}();
|
|
68
77
|
}
|
|
69
|
-
std::shared_ptr<Promise<bool>> JHybridCrumbReactNativeSpec::show() {
|
|
70
|
-
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("show");
|
|
71
|
-
auto __result = method(_javaPart);
|
|
78
|
+
std::shared_ptr<Promise<bool>> JHybridCrumbReactNativeSpec::show(const std::string& screenJson) {
|
|
79
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* screenJson */)>("show");
|
|
80
|
+
auto __result = method(_javaPart, jni::make_jstring(screenJson));
|
|
72
81
|
return [&]() {
|
|
73
82
|
auto __promise = Promise<bool>::create();
|
|
74
83
|
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
@@ -90,5 +99,25 @@ namespace margelo::nitro::crumbsdk_reactnative {
|
|
|
90
99
|
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("clearLogs");
|
|
91
100
|
method(_javaPart);
|
|
92
101
|
}
|
|
102
|
+
void JHybridCrumbReactNativeSpec::recordJavaScriptCrash(const std::string& recordJson) {
|
|
103
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* recordJson */)>("recordJavaScriptCrash");
|
|
104
|
+
method(_javaPart, jni::make_jstring(recordJson));
|
|
105
|
+
}
|
|
106
|
+
std::shared_ptr<Promise<bool>> JHybridCrumbReactNativeSpec::recoverJavaScriptCrashes() {
|
|
107
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("recoverJavaScriptCrashes");
|
|
108
|
+
auto __result = method(_javaPart);
|
|
109
|
+
return [&]() {
|
|
110
|
+
auto __promise = Promise<bool>::create();
|
|
111
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
112
|
+
auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
|
|
113
|
+
__promise->resolve(static_cast<bool>(__result->value()));
|
|
114
|
+
});
|
|
115
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
116
|
+
jni::JniException __jniError(__throwable);
|
|
117
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
118
|
+
});
|
|
119
|
+
return __promise;
|
|
120
|
+
}();
|
|
121
|
+
}
|
|
93
122
|
|
|
94
123
|
} // namespace margelo::nitro::crumbsdk_reactnative
|
|
@@ -55,10 +55,14 @@ namespace margelo::nitro::crumbsdk_reactnative {
|
|
|
55
55
|
public:
|
|
56
56
|
// Methods
|
|
57
57
|
void start(const std::string& configurationJson) override;
|
|
58
|
+
void setScreenContext(const std::string& screenJson) override;
|
|
59
|
+
bool canCollectLogs() override;
|
|
58
60
|
std::shared_ptr<Promise<bool>> installReporter() override;
|
|
59
|
-
std::shared_ptr<Promise<bool>> show() override;
|
|
61
|
+
std::shared_ptr<Promise<bool>> show(const std::string& screenJson) override;
|
|
60
62
|
void addLog(const std::string& entryJson) override;
|
|
61
63
|
void clearLogs() override;
|
|
64
|
+
void recordJavaScriptCrash(const std::string& recordJson) override;
|
|
65
|
+
std::shared_ptr<Promise<bool>> recoverJavaScriptCrashes() override;
|
|
62
66
|
|
|
63
67
|
private:
|
|
64
68
|
jni::global_ref<JHybridCrumbReactNativeSpec::JavaPart> _javaPart;
|
|
@@ -34,13 +34,21 @@ abstract class HybridCrumbReactNativeSpec: HybridObject() {
|
|
|
34
34
|
@Keep
|
|
35
35
|
abstract fun start(configurationJson: String): Unit
|
|
36
36
|
|
|
37
|
+
@DoNotStrip
|
|
38
|
+
@Keep
|
|
39
|
+
abstract fun setScreenContext(screenJson: String): Unit
|
|
40
|
+
|
|
41
|
+
@DoNotStrip
|
|
42
|
+
@Keep
|
|
43
|
+
abstract fun canCollectLogs(): Boolean
|
|
44
|
+
|
|
37
45
|
@DoNotStrip
|
|
38
46
|
@Keep
|
|
39
47
|
abstract fun installReporter(): Promise<Boolean>
|
|
40
48
|
|
|
41
49
|
@DoNotStrip
|
|
42
50
|
@Keep
|
|
43
|
-
abstract fun show(): Promise<Boolean>
|
|
51
|
+
abstract fun show(screenJson: String): Promise<Boolean>
|
|
44
52
|
|
|
45
53
|
@DoNotStrip
|
|
46
54
|
@Keep
|
|
@@ -49,6 +57,14 @@ abstract class HybridCrumbReactNativeSpec: HybridObject() {
|
|
|
49
57
|
@DoNotStrip
|
|
50
58
|
@Keep
|
|
51
59
|
abstract fun clearLogs(): Unit
|
|
60
|
+
|
|
61
|
+
@DoNotStrip
|
|
62
|
+
@Keep
|
|
63
|
+
abstract fun recordJavaScriptCrash(recordJson: String): Unit
|
|
64
|
+
|
|
65
|
+
@DoNotStrip
|
|
66
|
+
@Keep
|
|
67
|
+
abstract fun recoverJavaScriptCrashes(): Promise<Boolean>
|
|
52
68
|
|
|
53
69
|
// Default implementation of `HybridObject.toString()`
|
|
54
70
|
override fun toString(): String {
|