@crumbsdk/react-native 0.0.1-rc.3 → 0.0.1-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/README.md +270 -8
  2. package/android/build.gradle +0 -1
  3. package/android/src/main/java/com/margelo/nitro/crumbsdk/reactnative/CrumbReactNative.kt +121 -3
  4. package/app.plugin.js +22 -0
  5. package/ios/CrumbReactNative.swift +135 -3
  6. package/lib/module/NativeCrumbReactNative.web.js +5 -1
  7. package/lib/module/NativeCrumbReactNative.web.js.map +1 -1
  8. package/lib/module/index.js +91 -1
  9. package/lib/module/index.js.map +1 -1
  10. package/lib/module/javascript-crash-capture.js +497 -0
  11. package/lib/module/javascript-crash-capture.js.map +1 -0
  12. package/lib/module/log-buffer.js +22 -2
  13. package/lib/module/log-buffer.js.map +1 -1
  14. package/lib/module/screen-context.js +127 -0
  15. package/lib/module/screen-context.js.map +1 -0
  16. package/lib/typescript/src/CrumbReactNative.nitro.d.ts +5 -1
  17. package/lib/typescript/src/CrumbReactNative.nitro.d.ts.map +1 -1
  18. package/lib/typescript/src/NativeCrumbReactNative.web.d.ts.map +1 -1
  19. package/lib/typescript/src/index.d.ts +7 -1
  20. package/lib/typescript/src/index.d.ts.map +1 -1
  21. package/lib/typescript/src/javascript-crash-capture.d.ts +74 -0
  22. package/lib/typescript/src/javascript-crash-capture.d.ts.map +1 -0
  23. package/lib/typescript/src/log-buffer.d.ts +1 -0
  24. package/lib/typescript/src/log-buffer.d.ts.map +1 -1
  25. package/lib/typescript/src/screen-context.d.ts +19 -0
  26. package/lib/typescript/src/screen-context.d.ts.map +1 -0
  27. package/lib/typescript/src/types.d.ts +38 -0
  28. package/lib/typescript/src/types.d.ts.map +1 -1
  29. package/native/ios/CrumbSDKCore.podspec +28 -0
  30. package/native/ios/CrumbSDKUI.podspec +38 -0
  31. package/native/ios/LICENSE +201 -0
  32. package/native/ios/PLCrashReporter/CrashReporter.xcframework/Info.plist +96 -0
  33. package/native/ios/PLCrashReporter/CrashReporter.xcframework/PrivacyInfo.xcprivacy +39 -0
  34. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/CrashReporter +0 -0
  35. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  36. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  37. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  38. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  39. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  40. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  41. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  42. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  43. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  44. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  45. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  46. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  47. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  48. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  49. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  50. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  51. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  52. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  53. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  54. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  55. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  56. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  57. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Info.plist +0 -0
  58. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/Modules/module.modulemap +8 -0
  59. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_arm64e/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
  60. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/CrashReporter +0 -0
  61. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  62. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  63. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  64. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  65. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  66. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  67. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  68. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  69. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  70. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  71. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  72. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  73. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  74. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  75. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  76. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  77. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  78. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  79. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  80. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  81. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  82. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  83. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Modules/module.modulemap +8 -0
  84. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Resources/Info.plist +52 -0
  85. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Resources/PrivacyInfo.xcprivacy +39 -0
  86. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/CrashReporter +0 -0
  87. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/CrashReporter.h +366 -0
  88. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashFeatureConfig.h +108 -0
  89. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashMacros.h +143 -0
  90. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashNamespace.h +320 -0
  91. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReport.h +193 -0
  92. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportApplicationInfo.h +52 -0
  93. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  94. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportExceptionInfo.h +59 -0
  95. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportFormatter.h +55 -0
  96. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  97. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachineInfo.h +64 -0
  98. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessInfo.h +80 -0
  99. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessorInfo.h +64 -0
  100. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportRegisterInfo.h +45 -0
  101. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportSignalInfo.h +50 -0
  102. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportStackFrameInfo.h +50 -0
  103. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportSymbolInfo.h +51 -0
  104. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportSystemInfo.h +158 -0
  105. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportTextFormatter.h +59 -0
  106. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReportThreadInfo.h +75 -0
  107. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReporter.h +131 -0
  108. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Headers/PLCrashReporterConfig.h +193 -0
  109. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Modules/module.modulemap +8 -0
  110. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Resources/Info.plist +52 -0
  111. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/A/Resources/PrivacyInfo.xcprivacy +39 -0
  112. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/CrashReporter +0 -0
  113. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/CrashReporter.h +366 -0
  114. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashFeatureConfig.h +108 -0
  115. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashMacros.h +143 -0
  116. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashNamespace.h +320 -0
  117. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReport.h +193 -0
  118. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportApplicationInfo.h +52 -0
  119. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  120. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportExceptionInfo.h +59 -0
  121. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportFormatter.h +55 -0
  122. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  123. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachineInfo.h +64 -0
  124. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessInfo.h +80 -0
  125. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessorInfo.h +64 -0
  126. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportRegisterInfo.h +45 -0
  127. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSignalInfo.h +50 -0
  128. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportStackFrameInfo.h +50 -0
  129. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSymbolInfo.h +51 -0
  130. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSystemInfo.h +158 -0
  131. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportTextFormatter.h +59 -0
  132. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReportThreadInfo.h +75 -0
  133. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReporter.h +131 -0
  134. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Headers/PLCrashReporterConfig.h +193 -0
  135. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Modules/module.modulemap +8 -0
  136. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Resources/Info.plist +52 -0
  137. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-maccatalyst/CrashReporter.framework/Versions/Current/Resources/PrivacyInfo.xcprivacy +39 -0
  138. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/CrashReporter +0 -0
  139. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  140. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  141. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  142. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  143. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  144. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  145. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  146. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  147. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  148. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  149. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  150. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  151. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  152. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  153. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  154. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  155. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  156. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  157. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  158. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  159. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  160. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  161. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Info.plist +0 -0
  162. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/Modules/module.modulemap +8 -0
  163. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
  164. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeDirectory +0 -0
  165. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements +0 -0
  166. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements-1 +0 -0
  167. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeResources +462 -0
  168. package/native/ios/PLCrashReporter/CrashReporter.xcframework/ios-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeSignature +0 -0
  169. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/CrashReporter +0 -0
  170. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  171. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  172. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  173. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  174. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  175. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  176. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  177. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  178. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  179. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  180. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  181. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  182. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  183. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  184. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  185. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  186. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  187. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  188. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  189. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  190. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  191. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  192. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Modules/module.modulemap +8 -0
  193. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Resources/Info.plist +48 -0
  194. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Resources/PrivacyInfo.xcprivacy +39 -0
  195. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/CrashReporter +0 -0
  196. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/CrashReporter.h +366 -0
  197. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashFeatureConfig.h +108 -0
  198. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashMacros.h +143 -0
  199. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashNamespace.h +320 -0
  200. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReport.h +193 -0
  201. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportApplicationInfo.h +52 -0
  202. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  203. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportExceptionInfo.h +59 -0
  204. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportFormatter.h +55 -0
  205. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  206. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachineInfo.h +64 -0
  207. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessInfo.h +80 -0
  208. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessorInfo.h +64 -0
  209. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportRegisterInfo.h +45 -0
  210. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportSignalInfo.h +50 -0
  211. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportStackFrameInfo.h +50 -0
  212. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportSymbolInfo.h +51 -0
  213. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportSystemInfo.h +158 -0
  214. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportTextFormatter.h +59 -0
  215. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReportThreadInfo.h +75 -0
  216. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReporter.h +131 -0
  217. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Headers/PLCrashReporterConfig.h +193 -0
  218. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Modules/module.modulemap +8 -0
  219. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Resources/Info.plist +48 -0
  220. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/A/Resources/PrivacyInfo.xcprivacy +39 -0
  221. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/CrashReporter +0 -0
  222. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/CrashReporter.h +366 -0
  223. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashFeatureConfig.h +108 -0
  224. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashMacros.h +143 -0
  225. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashNamespace.h +320 -0
  226. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReport.h +193 -0
  227. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportApplicationInfo.h +52 -0
  228. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  229. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportExceptionInfo.h +59 -0
  230. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportFormatter.h +55 -0
  231. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  232. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportMachineInfo.h +64 -0
  233. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessInfo.h +80 -0
  234. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportProcessorInfo.h +64 -0
  235. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportRegisterInfo.h +45 -0
  236. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSignalInfo.h +50 -0
  237. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportStackFrameInfo.h +50 -0
  238. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSymbolInfo.h +51 -0
  239. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportSystemInfo.h +158 -0
  240. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportTextFormatter.h +59 -0
  241. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReportThreadInfo.h +75 -0
  242. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReporter.h +131 -0
  243. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Headers/PLCrashReporterConfig.h +193 -0
  244. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Modules/module.modulemap +8 -0
  245. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Resources/Info.plist +48 -0
  246. package/native/ios/PLCrashReporter/CrashReporter.xcframework/macos-arm64_x86_64/CrashReporter.framework/Versions/Current/Resources/PrivacyInfo.xcprivacy +39 -0
  247. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/CrashReporter +0 -0
  248. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  249. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  250. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  251. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  252. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  253. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  254. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  255. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  256. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  257. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  258. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  259. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  260. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  261. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  262. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  263. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  264. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  265. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  266. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  267. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  268. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  269. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  270. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Info.plist +0 -0
  271. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/Modules/module.modulemap +8 -0
  272. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
  273. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/CrashReporter +0 -0
  274. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/CrashReporter.h +366 -0
  275. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashFeatureConfig.h +108 -0
  276. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashMacros.h +143 -0
  277. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashNamespace.h +320 -0
  278. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReport.h +193 -0
  279. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportApplicationInfo.h +52 -0
  280. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportBinaryImageInfo.h +76 -0
  281. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportExceptionInfo.h +59 -0
  282. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportFormatter.h +55 -0
  283. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachExceptionInfo.h +41 -0
  284. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportMachineInfo.h +64 -0
  285. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessInfo.h +80 -0
  286. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportProcessorInfo.h +64 -0
  287. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportRegisterInfo.h +45 -0
  288. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSignalInfo.h +50 -0
  289. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportStackFrameInfo.h +50 -0
  290. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSymbolInfo.h +51 -0
  291. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportSystemInfo.h +158 -0
  292. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportTextFormatter.h +59 -0
  293. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReportThreadInfo.h +75 -0
  294. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporter.h +131 -0
  295. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Headers/PLCrashReporterConfig.h +193 -0
  296. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Info.plist +0 -0
  297. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/Modules/module.modulemap +8 -0
  298. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/PrivacyInfo.xcprivacy +39 -0
  299. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeDirectory +0 -0
  300. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements +0 -0
  301. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeRequirements-1 +0 -0
  302. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeResources +462 -0
  303. package/native/ios/PLCrashReporter/CrashReporter.xcframework/tvos-arm64_x86_64-simulator/CrashReporter.framework/_CodeSignature/CodeSignature +0 -0
  304. package/native/ios/PLCrashReporter/LICENSE.txt +54 -0
  305. package/native/ios/PLCrashReporter/PLCrashReporter.podspec +19 -0
  306. package/native/ios/VERSION +1 -0
  307. package/native/ios/packages/ios/Sources/CrumbCore/Crumb.swift +108 -0
  308. package/native/ios/packages/ios/Sources/CrumbCore/CrumbConfiguration.swift +212 -0
  309. package/native/ios/packages/ios/Sources/CrumbCore/CrumbDiagnostics.swift +158 -0
  310. package/native/ios/packages/ios/Sources/CrumbCore/CrumbFailureStacks.swift +94 -0
  311. package/native/ios/packages/ios/Sources/CrumbCore/CrumbInfrastructureHealthProbe.swift +110 -0
  312. package/native/ios/packages/ios/Sources/CrumbCore/CrumbJavaScriptCrashRecovery.swift +136 -0
  313. package/native/ios/packages/ios/Sources/CrumbCore/CrumbJavaScriptCrashStore.swift +502 -0
  314. package/native/ios/packages/ios/Sources/CrumbCore/CrumbJavaScriptFailureContext.swift +166 -0
  315. package/native/ios/packages/ios/Sources/CrumbCore/CrumbLogs.swift +138 -0
  316. package/native/ios/packages/ios/Sources/CrumbCore/CrumbPolicy.swift +336 -0
  317. package/native/ios/packages/ios/Sources/CrumbCore/CrumbRendering.swift +68 -0
  318. package/native/ios/packages/ios/Sources/CrumbCore/CrumbReportEnvelope.swift +666 -0
  319. package/native/ios/packages/ios/Sources/CrumbCore/CrumbReportQueue.swift +543 -0
  320. package/native/ios/packages/ios/Sources/CrumbCore/CrumbReportUploader.swift +304 -0
  321. package/native/ios/packages/ios/Sources/CrumbCore/CrumbRuntime.swift +306 -0
  322. package/native/ios/packages/ios/Sources/CrumbCore/CrumbSDKVersion.swift +5 -0
  323. package/native/ios/packages/ios/Sources/CrumbCore/CrumbScreenContext.swift +29 -0
  324. package/native/ios/packages/ios/Sources/CrumbUI/CrumbDesign.swift +151 -0
  325. package/native/ios/packages/ios/Sources/CrumbUI/CrumbLocalization.swift +23 -0
  326. package/native/ios/packages/ios/Sources/CrumbUI/CrumbQualityInstrumentation.swift +30 -0
  327. package/native/ios/packages/ios/Sources/CrumbUI/CrumbRenderingMonitor.swift +40 -0
  328. package/native/ios/packages/ios/Sources/CrumbUI/CrumbReporter.swift +1705 -0
  329. package/native/ios/packages/ios/Sources/CrumbUI/CrumbReporterLifecycle.swift +119 -0
  330. package/native/ios/packages/ios/Sources/CrumbUI/CrumbScreenshotArtifact.swift +186 -0
  331. package/native/ios/packages/ios/Sources/CrumbUI/CrumbShakeGestureRecognizer.swift +62 -0
  332. package/native/ios/packages/ios/Sources/CrumbUI/CrumbUploadCoordinator.swift +113 -0
  333. package/native/ios/packages/ios/Sources/CrumbUI/CrumbWorkspacePolicyCoordinator.swift +86 -0
  334. package/native/ios/packages/ios/Sources/CrumbUI/OnDemandDiagnosticsCollector.swift +269 -0
  335. package/native/ios/packages/ios/Sources/CrumbUI/OnDemandLogCollector.swift +213 -0
  336. package/native/ios/packages/ios/Sources/CrumbUI/Resources/en.lproj/Localizable.strings +75 -0
  337. package/native/ios/provenance.json +8 -0
  338. package/nitrogen/generated/android/c++/JHybridCrumbReactNativeSpec.cpp +32 -3
  339. package/nitrogen/generated/android/c++/JHybridCrumbReactNativeSpec.hpp +5 -1
  340. package/nitrogen/generated/android/kotlin/com/margelo/nitro/crumbsdk/reactnative/HybridCrumbReactNativeSpec.kt +17 -1
  341. package/nitrogen/generated/ios/CrumbReactNative-Swift-Cxx-Bridge.hpp +9 -0
  342. package/nitrogen/generated/ios/c++/HybridCrumbReactNativeSpecSwift.hpp +30 -2
  343. package/nitrogen/generated/ios/swift/HybridCrumbReactNativeSpec.swift +5 -1
  344. package/nitrogen/generated/ios/swift/HybridCrumbReactNativeSpec_cxx.swift +55 -2
  345. package/nitrogen/generated/shared/c++/HybridCrumbReactNativeSpec.cpp +4 -0
  346. package/nitrogen/generated/shared/c++/HybridCrumbReactNativeSpec.hpp +5 -1
  347. package/package.json +15 -5
  348. package/plugin/podfile.cjs +21 -0
  349. package/scripts/ios.rb +23 -0
  350. package/src/CrumbReactNative.nitro.ts +5 -1
  351. package/src/NativeCrumbReactNative.web.ts +4 -0
  352. package/src/index.ts +218 -1
  353. package/src/javascript-crash-capture.ts +774 -0
  354. package/src/log-buffer.ts +27 -2
  355. package/src/screen-context.ts +154 -0
  356. package/src/types.ts +53 -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.4",
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 {