@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
package/README.md CHANGED
@@ -13,27 +13,124 @@ screenshot masking, diagnostics, durable storage, and upload.
13
13
 
14
14
  Crumb contains native code and therefore does not run in Expo Go.
15
15
 
16
- ## Install
16
+ ## Published rc.3 installation
17
+
18
+ Install the public package and its required Nitro runtime as direct
19
+ dependencies:
17
20
 
18
21
  ```sh
19
- yarn add @crumbsdk/react-native react-native-nitro-modules
20
- cd ios && pod install
22
+ npm install @crumbsdk/react-native@0.0.1-rc.3 \
23
+ react-native-nitro-modules@0.37.1
21
24
  ```
22
25
 
23
- Expo apps should create a development build after installation:
26
+ ### Expo
27
+
28
+ Crumb contains native code and does not run in Expo Go. Add a development
29
+ client and configure the native minimum targets:
30
+
31
+ ```sh
32
+ npx expo install expo-dev-client expo-build-properties
33
+ ```
34
+
35
+ ```json
36
+ {
37
+ "expo": {
38
+ "plugins": [
39
+ [
40
+ "expo-build-properties",
41
+ {
42
+ "android": { "minSdkVersion": 26 },
43
+ "ios": { "deploymentTarget": "15.1" }
44
+ }
45
+ ]
46
+ ]
47
+ }
48
+ }
49
+ ```
50
+
51
+ Create or rebuild the native development client:
24
52
 
25
53
  ```sh
26
- npx expo prebuild
27
54
  npx expo run:ios
28
55
  # or
29
56
  npx expo run:android
30
57
  ```
31
58
 
32
- No Crumb-specific Expo config plugin is required. React Native autolinking installs
33
- `CrumbSDKCore` and `CrumbSDKUI` from CocoaPods on iOS and `crumb-ui` from Maven
34
- Central on Android. The package uses
59
+ No Crumb-specific Expo config plugin is required. Expo Prebuild and React
60
+ Native autolinking install `CrumbSDKCore` and `CrumbSDKUI` from CocoaPods on
61
+ iOS and `crumb-ui` from Maven Central on Android.
62
+
63
+ ### Bare React Native
64
+
65
+ React Native autolinking discovers Crumb after installation. Install iOS pods,
66
+ then rebuild the applications:
67
+
68
+ ```sh
69
+ npx pod-install
70
+ npm run ios
71
+ # or
72
+ npm run android
73
+ ```
74
+
75
+ No manual `AppDelegate`, `MainApplication`, or package-list registration is
76
+ needed. Set `platform :ios, "15.1"` in a manually maintained Podfile and
77
+ `minSdk = 26` in the Android app module. The package uses
35
78
  [`react-native-nitro-modules`](https://nitro.margelo.com/) for its JSI bridge.
36
79
 
80
+ The [complete all-platform guide](../../docs/getting-started.md) covers Expo,
81
+ bare React Native, native iOS, and native Android from installation through a
82
+ submitted test report.
83
+
84
+ ## rc.4 candidate installation and migration
85
+
86
+ This setup applies to **0.0.1-rc.4** and reviewed candidate builds, not rc.3.
87
+ Confirm rc.4 is published before installing it from npm. Until then, the rc.3
88
+ quickstart above remains the published path. Full [candidate release notes](../../docs/releases/0.0.1-rc.4.md) describe the release gates.
89
+
90
+ After rc.4 publication:
91
+
92
+ ```sh
93
+ npm install @crumbsdk/react-native@0.0.1-rc.4 react-native-nitro-modules@0.37.1
94
+ ```
95
+
96
+ The npm artifact includes Crumb's iOS sources, resource bundles and its pinned
97
+ PLCrashReporter dependency. CocoaPods builds those files locally; new Crumb
98
+ releases do not need publication to the public CocoaPods registry. Other
99
+ libraries in your application may still use that registry.
100
+
101
+ ### Expo development builds
102
+
103
+ Add `"@crumbsdk/react-native"` to your existing Expo `plugins` array alongside
104
+ `expo-build-properties`. Run a new native prebuild/development build. The plugin
105
+ registers the bundled native dependencies and is safe to run repeatedly.
106
+ Expo Go remains unsupported. Remove old Crumb local-pod plugins or manual
107
+ Crumb pod declarations before enabling this plugin.
108
+
109
+ ### Bare React Native
110
+
111
+ Inside each application target in `ios/Podfile`, before `use_react_native!`, add:
112
+
113
+ ```ruby
114
+ require File.join(File.dirname(`node --print "require.resolve('@crumbsdk/react-native/package.json')"`.strip), 'scripts', 'ios')
115
+ crumb_native_pods!
116
+ ```
117
+
118
+ Then run `npx pod-install` and rebuild the app. When upgrading from rc.3, remove
119
+ manual `CrumbSDK`, `CrumbSDKCore` and `CrumbSDKUI` declarations first. If CocoaPods
120
+ reports a lockfile source/version conflict, run
121
+ `bundle exec pod update CrumbSDKCore CrumbSDKUI PLCrashReporter --no-repo-update`
122
+ (or `pod update` without Bundler), then review the lockfile changes. Do not
123
+ remove the entire lockfile or update unrelated pods.
124
+
125
+ If another dependency pins a different PLCrashReporter version, resolve that
126
+ version conflict before installing; do not install two copies or rename the
127
+ framework. The bundled dependency retains its upstream name for CocoaPods to
128
+ check compatibility. Its license and privacy manifest ship with the package.
129
+
130
+ Native Swift applications should use Swift Package Manager and link both
131
+ `CrumbCore` and `CrumbUI`. Remove CocoaPods' Crumb products before adding the SPM
132
+ products to avoid duplicate modules. SPM does not depend on CocoaPods trunk.
133
+
37
134
  ## Configure
38
135
 
39
136
  ```ts
@@ -54,6 +151,23 @@ await Crumb.start({
54
151
  logs: {
55
152
  captureConsole: true,
56
153
  },
154
+ javascriptCrashCapture: {
155
+ enabled: true,
156
+ maximumBreadcrumbs: 32,
157
+ maximumBreadcrumbBytes: 16_384,
158
+ },
159
+ },
160
+ reporter: {
161
+ theme: 'system',
162
+ visibleFields: ['category', 'description'],
163
+ },
164
+ evidence: ['screenshot', 'performance', 'network', 'logs', 'thread_stacks', 'health_check'],
165
+ customContext: {
166
+ values: { account_tier: 'trial' },
167
+ allowedKeys: ['account_tier'],
168
+ },
169
+ workspacePolicy: {
170
+ url: 'https://policy.example.com/sdk/v1/policy',
57
171
  },
58
172
  });
59
173
 
@@ -73,6 +187,12 @@ const opened = await Crumb.show();
73
187
  Shake invocation is enabled by default while the app is foregrounded. Configure
74
188
  `invocation: ['programmatic']` to disable it.
75
189
 
190
+ Reporter theme, evidence, custom context, and workspace policy use the same
191
+ native-owned contract as Swift and Kotlin. A configured policy fetch is
192
+ non-blocking and fail-closed: optional evidence stays disabled until a fresh or
193
+ valid cached policy is accepted, while the description-only report path
194
+ remains available. See the [shared configuration contract](../../docs/contracts/sdk-configuration.md).
195
+
76
196
  ## JavaScript logs
77
197
 
78
198
  ```ts
@@ -95,6 +215,68 @@ Crumb.disableConsoleCapture();
95
215
  Crumb never captures network bodies, Redux state, navigation history, arbitrary
96
216
  application object graphs, or analytics events.
97
217
 
218
+ ## JavaScript crash capture
219
+
220
+ JavaScript crash capture is opt-in and disabled by default. Set
221
+ `diagnostics.javascriptCrashCapture.enabled` to `true` to preserve fatal
222
+ JavaScript exceptions and unhandled promise rejections. The adapter performs a
223
+ bounded, sanitized synchronous handoff through Nitro before calling the
224
+ existing React Native or host handler, so Crashlytics, Sentry, and other host
225
+ handlers remain installed and continue to run.
226
+
227
+ After a relaunch, native code validates and deduplicates the pending record,
228
+ then commits it to the same durable report queue used by the reporter. Offline
229
+ reports remain pending until the normal uploader receives an acknowledgement.
230
+ The record includes the failure type, message, bounded stack, release/bundle
231
+ identity, recent Crumb breadcrumbs, and only custom-context keys explicitly
232
+ allowlisted by the host. It does not include native crash data, arbitrary
233
+ memory, Redux/store state, request bodies, or response bodies.
234
+
235
+ The native handoff also saves a bounded snapshot of the original process ID,
236
+ capture time, CPU, memory, thread count, thermal state and connectivity when the
237
+ corresponding evidence categories are enabled. These are measurements taken
238
+ while handling the JavaScript failure, not measurements from the next launch.
239
+ iOS reads task/thread counters (at most 256 threads for CPU) and waits at most
240
+ 30 ms for a local connectivity observation. Android takes one 20 ms CPU sample
241
+ and reads current process/network metadata. Neither runs continuously, calls
242
+ app-provided log/health callbacks, probes HTTP, captures GPU utilization or
243
+ installs native fatal handlers. With thread-stack evidence enabled, iOS also
244
+ captures bounded native frames using PLCrashReporter's live report API, and
245
+ Android captures managed Java/Kotlin stacks. Native image offsets are not dSYM
246
+ source locations. An unavailable measurement remains unavailable.
247
+
248
+ Breadcrumbs come from `Crumb.log` and optional console capture. They remain
249
+ bounded and sanitized; disabling logs removes them at handoff and recovery.
250
+ Corrupt or oversized optional snapshot data is discarded without discarding an
251
+ otherwise valid crash. Existing records without snapshots still recover their
252
+ original JavaScript cause and breadcrumbs.
253
+
254
+ Opt into recent rendering evidence separately with
255
+ `diagnostics.renderingEnabled: true` (default `false`) and install the reporter.
256
+ This enables a foreground-only buffer of five one-second numeric buckets, capped
257
+ at 1,000 observations per bucket, cleared on background or disabled performance
258
+ evidence. The snapshot is frozen before failure stack collection and survives
259
+ relaunch only while current settings still allow it. No frame images are stored.
260
+
261
+ iOS reports `CADisplayLink` intervals and slow observations. Android reports
262
+ window frame duration and, on API 31+ when supplied by the OS, GPU frame duration.
263
+ Slow observations exceed 1.5 times the relevant frame budget. These are bounded
264
+ observations, not complete frame coverage, FPS, or GPU utilization. iOS GPU time
265
+ remains unavailable. Android zero GPU time is distinct from missing GPU time.
266
+ Envelopes with native stacks or rendering use version 1.1; upgrade the consuming
267
+ service before distributing an enabled SDK. Existing 1.0 reports remain valid.
268
+
269
+ The breadcrumb limits default to 32 entries and 16 KiB. They can be lowered or
270
+ raised within the package bounds (50 entries and 65,536 bytes maximum). A
271
+ native termination wrapper with the same fingerprint is folded into the
272
+ JavaScript occurrence without replacing its cause.
273
+
274
+ For a local fatal-fixture check, enable the option in one of the included
275
+ development-build examples and trigger the example's JavaScript failure action.
276
+ The next launch should show one recovered `javascript_crash` occurrence; do not
277
+ enable this option in production without first reviewing the collection notice
278
+ and handler interaction for the host application.
279
+
98
280
  ## Development
99
281
 
100
282
  This package was created with `create-react-native-library` and includes an Expo
@@ -107,3 +289,83 @@ corepack yarn quality
107
289
  corepack yarn example ios
108
290
  corepack yarn example android
109
291
  ```
292
+
293
+ ## Publishing
294
+
295
+ Releases publish from the immutable `react-native-v<version>` Git tag through
296
+ the `react-native-npm-publish.yml` GitHub Actions workflow. The workflow uses
297
+ npm trusted publishing (OIDC), so no long-lived npm write token is stored in
298
+ GitHub.
299
+
300
+ Configure the package's npm trusted publisher with these exact values:
301
+
302
+ - Provider: GitHub Actions
303
+ - Organization or user: `alexander126`
304
+ - Repository: `crumb`
305
+ - Workflow: `react-native-npm-publish.yml`
306
+ - Environment: leave empty
307
+ - Allowed action: `npm publish`
308
+
309
+ Use the `next` distribution tag for prereleases and `latest` for stable
310
+ versions. The workflow verifies the package version, immutable Git tag,
311
+ distribution tag, and explicit publication confirmation before it publishes.
312
+
313
+ ### Capture the active screen
314
+
315
+ Opt in to a static screen label so reports and recovered JavaScript crashes show
316
+ where the user was. This is separate from native controllers and the source file
317
+ identified by a crash stack. Existing reports cannot gain screen context retroactively.
318
+
319
+ For React Navigation, register once beside the root container. The helper handles
320
+ initial readiness, focused nested routes, modals, subsequent state changes and
321
+ listener cleanup without adding a navigation dependency to Crumb:
322
+
323
+ ```tsx
324
+ import { useEffect } from 'react';
325
+ import { NavigationContainer, useNavigationContainerRef } from '@react-navigation/native';
326
+ import Crumb from '@crumbsdk/react-native';
327
+
328
+ function App() {
329
+ const navigationRef = useNavigationContainerRef();
330
+ useEffect(() => Crumb.trackReactNavigation(navigationRef), [navigationRef]);
331
+ return <NavigationContainer ref={navigationRef}>{/* navigators */}</NavigationContainer>;
332
+ }
333
+ ```
334
+
335
+ For Expo Router, put this in the root layout. `useSegments()` retains file-based
336
+ templates such as `/orders/[id]`; do not pass `usePathname()` or search parameters:
337
+
338
+ ```tsx
339
+ import { Slot, useSegments } from 'expo-router';
340
+ import { useExpoRouterScreen } from '@crumbsdk/react-native';
341
+
342
+ export default function RootLayout() {
343
+ useExpoRouterScreen(useSegments());
344
+ return <Slot />;
345
+ }
346
+ ```
347
+
348
+ For a custom navigator, set the current static label when the visible screen changes:
349
+
350
+ ```ts
351
+ Crumb.setScreen('Checkout', { route: ['Shop', 'Checkout'] });
352
+ Crumb.setScreen(null); // Clear when no app screen is active.
353
+ ```
354
+
355
+ Choose one owner for the current context. Each label is limited to 128 UTF-8 bytes
356
+ and the focused hierarchy to eight labels. Use static names, never user IDs,
357
+ account names, full URLs or search strings. Invalid manual input clears the
358
+ previous label and throws; integrations clear unavailable or invalid state.
359
+ Crumb never reads route parameters or records a navigation history. Standard
360
+ text redaction and the effective `custom_context` evidence policy apply.
361
+ The reporter freezes this context when it opens, including shake invocation;
362
+ a JavaScript failure freezes it at the native handoff. Recovery retains the
363
+ original screen and reapplies current privacy policy, without substituting the
364
+ relaunch screen. This does not identify the cause of a crash or add native fatal
365
+ crash interception.
366
+
367
+ Screen context uses envelope **1.2**. Deploy a consumer supporting 1.2 before
368
+ shipping an app with this integration. Reports without screen context retain
369
+ their existing 1.0/1.1 format.
370
+
371
+ Try the [automatic navigation demos](example/NAVIGATION.md) to validate React Navigation and Expo Router on real native builds.
@@ -32,7 +32,6 @@ def reactNativeArchitectures() {
32
32
  apply plugin: "com.android.library"
33
33
  apply plugin: "kotlin-android"
34
34
  apply from: "../nitrogen/generated/android/crumbsdk_reactnative+autolinking.gradle"
35
- apply plugin: "com.facebook.react"
36
35
 
37
36
  def packageJson = new JsonSlurper().parseText(file("../package.json").getText("UTF-8"))
38
37
  def crumbNativeVersion = packageJson.crumbNativeVersion
@@ -3,20 +3,28 @@ package com.margelo.nitro.crumbsdk.reactnative
3
3
  import android.app.Application
4
4
  import android.os.Build
5
5
  import com.facebook.react.bridge.UiThreadUtil
6
+ import com.facebook.react.common.LifecycleState
6
7
  import com.margelo.nitro.NitroModules
7
8
  import com.margelo.nitro.core.Promise
8
9
  import dev.crumb.core.Crumb
9
10
  import dev.crumb.core.CrumbCaptureOptions
10
11
  import dev.crumb.core.CrumbConfiguration
11
12
  import dev.crumb.core.CrumbDiagnosticsOptions
13
+ import dev.crumb.core.CrumbEvidenceCategory
12
14
  import dev.crumb.core.CrumbInvocation
13
15
  import dev.crumb.core.CrumbLogEntry
14
16
  import dev.crumb.core.CrumbLogLevel
15
17
  import dev.crumb.core.CrumbLogOptions
16
18
  import dev.crumb.core.CrumbLogProvider
19
+ import dev.crumb.core.CrumbReporterField
20
+ import dev.crumb.core.CrumbReporterOptions
17
21
  import dev.crumb.core.CrumbPrivacyOptions
18
22
  import dev.crumb.core.CrumbRelease
23
+ import dev.crumb.core.CrumbTheme
19
24
  import dev.crumb.core.CrumbUploadOptions
25
+ import dev.crumb.core.CrumbApplicationMetadata
26
+ import dev.crumb.core.CrumbCustomContextOptions
27
+ import dev.crumb.core.CrumbWorkspacePolicyOptions
20
28
  import dev.crumb.ui.CrumbReporter
21
29
  import org.json.JSONObject
22
30
 
@@ -62,8 +70,12 @@ class CrumbReactNative : HybridCrumbReactNativeSpec() {
62
70
  invocation = payload.invocations(),
63
71
  capture = payload.captureOptions(),
64
72
  diagnostics = CrumbDiagnosticsOptions(
73
+ renderingEnabled = diagnostics?.optBoolean("renderingEnabled", false) ?: false,
65
74
  healthCheckUrl = diagnostics?.optionalString("healthCheckUrl"),
66
75
  timeoutMillis = diagnostics?.optionalLong("timeoutMs") ?: 2_000,
76
+ javascriptCrashCaptureEnabled = diagnostics
77
+ ?.optJSONObject("javascriptCrashCapture")
78
+ ?.optionalBoolean("enabled") ?: false,
67
79
  logs = CrumbLogOptions(
68
80
  enabled = logs?.optionalBoolean("enabled") ?: true,
69
81
  lookbackMillis = lookbackMillis,
@@ -77,30 +89,43 @@ class CrumbReactNative : HybridCrumbReactNativeSpec() {
77
89
  ingestionUrl = payload.optJSONObject("upload")
78
90
  ?.optionalString("ingestionUrl"),
79
91
  ),
92
+ reporter = payload.reporterOptions(),
93
+ evidence = payload.evidenceOptions(),
94
+ application = payload.applicationMetadata(),
95
+ customContext = payload.customContextOptions(),
96
+ workspacePolicy = payload.workspacePolicyOptions(),
80
97
  ),
81
98
  )
82
99
  }
83
100
 
101
+ override fun setScreenContext(screenJson: String) {
102
+ Crumb.setScreenContext(screenJson)
103
+ }
104
+
105
+ override fun canCollectLogs(): Boolean = Crumb.canCollectLogs()
106
+
84
107
  override fun installReporter(): Promise<Boolean> {
85
108
  val promise = Promise<Boolean>()
86
109
  UiThreadUtil.runOnUiThread {
87
110
  runCatching {
88
111
  val context = requireNotNull(NitroModules.applicationContext)
89
112
  val application = context.applicationContext as Application
90
- CrumbReporter.install(application)
113
+ val resumedActivity = context.getCurrentActivity()
114
+ .takeIf { context.lifecycleState == LifecycleState.RESUMED }
115
+ CrumbReporter.install(application, resumedActivity)
91
116
  }.onSuccess(promise::resolve)
92
117
  .onFailure(promise::reject)
93
118
  }
94
119
  return promise
95
120
  }
96
121
 
97
- override fun show(): Promise<Boolean> {
122
+ override fun show(screenJson: String): Promise<Boolean> {
98
123
  val promise = Promise<Boolean>()
99
124
  UiThreadUtil.runOnUiThread {
100
125
  runCatching {
101
126
  val context = requireNotNull(NitroModules.applicationContext)
102
127
  val activity = context.getCurrentActivity() ?: return@runCatching false
103
- CrumbReporter.show(activity)
128
+ CrumbReporter.show(activity, screenContextJSON = screenJson)
104
129
  }.onSuccess(promise::resolve)
105
130
  .onFailure(promise::reject)
106
131
  }
@@ -108,6 +133,7 @@ class CrumbReactNative : HybridCrumbReactNativeSpec() {
108
133
  }
109
134
 
110
135
  override fun addLog(entryJson: String) {
136
+ if (!Crumb.canCollectLogs()) return
111
137
  val payload = JSONObject(entryJson)
112
138
  logBuffer.append(
113
139
  CrumbLogEntry(
@@ -123,6 +149,26 @@ class CrumbReactNative : HybridCrumbReactNativeSpec() {
123
149
  override fun clearLogs() {
124
150
  logBuffer.clear()
125
151
  }
152
+
153
+ override fun recordJavaScriptCrash(recordJson: String) {
154
+ val context = NitroModules.applicationContext ?: return
155
+ Crumb.recordJavaScriptCrash(context, recordJson)
156
+ }
157
+
158
+ override fun recoverJavaScriptCrashes(): Promise<Boolean> {
159
+ val promise = Promise<Boolean>()
160
+ val context = NitroModules.applicationContext
161
+ if (context == null) {
162
+ promise.resolve(false)
163
+ return promise
164
+ }
165
+ Thread({
166
+ runCatching { CrumbReporter.recoverJavaScriptCrashes(context) }
167
+ .onSuccess(promise::resolve)
168
+ .onFailure { promise.resolve(false) }
169
+ }, "Crumb JavaScript crash recovery").start()
170
+ return promise
171
+ }
126
172
  }
127
173
 
128
174
  private fun JSONObject.invocations(): Set<CrumbInvocation> {
@@ -155,6 +201,78 @@ private fun JSONObject.privacyOptions(): CrumbPrivacyOptions {
155
201
  )
156
202
  }
157
203
 
204
+ private fun JSONObject.reporterOptions(): CrumbReporterOptions {
205
+ val reporter = optJSONObject("reporter") ?: return CrumbReporterOptions()
206
+ val theme = when (reporter.optionalString("theme") ?: "system") {
207
+ "system" -> CrumbTheme.SYSTEM
208
+ "light" -> CrumbTheme.LIGHT
209
+ "dark" -> CrumbTheme.DARK
210
+ else -> error("reporter.theme is unsupported")
211
+ }
212
+ val fields = reporter.optJSONArray("visibleFields")?.let { array ->
213
+ buildSet {
214
+ for (index in 0 until array.length()) {
215
+ when (array.getString(index)) {
216
+ "category" -> add(CrumbReporterField.CATEGORY)
217
+ "description" -> add(CrumbReporterField.DESCRIPTION)
218
+ else -> error("reporter.visibleFields contains an unsupported value")
219
+ }
220
+ }
221
+ }
222
+ } ?: CrumbReporterOptions().visibleFields
223
+ return CrumbReporterOptions(theme = theme, visibleFields = fields)
224
+ }
225
+
226
+ private fun JSONObject.evidenceOptions(): Set<CrumbEvidenceCategory> {
227
+ val evidence = optJSONArray("evidence") ?: return CrumbEvidenceCategory.entries.toSet()
228
+ return buildSet {
229
+ for (index in 0 until evidence.length()) {
230
+ when (evidence.getString(index)) {
231
+ "screenshot" -> add(CrumbEvidenceCategory.SCREENSHOT)
232
+ "performance" -> add(CrumbEvidenceCategory.PERFORMANCE)
233
+ "network" -> add(CrumbEvidenceCategory.NETWORK)
234
+ "logs" -> add(CrumbEvidenceCategory.LOGS)
235
+ "thread_stacks" -> add(CrumbEvidenceCategory.THREAD_STACKS)
236
+ "health_check" -> add(CrumbEvidenceCategory.HEALTH_CHECK)
237
+ "custom_context" -> add(CrumbEvidenceCategory.CUSTOM_CONTEXT)
238
+ else -> error("evidence contains an unsupported value")
239
+ }
240
+ }
241
+ }
242
+ }
243
+
244
+ private fun JSONObject.applicationMetadata(): CrumbApplicationMetadata {
245
+ val application = optJSONObject("application") ?: return CrumbApplicationMetadata()
246
+ return CrumbApplicationMetadata(name = application.optionalString("name"))
247
+ }
248
+
249
+ private fun JSONObject.customContextOptions(): CrumbCustomContextOptions {
250
+ val customContext = optJSONObject("customContext") ?: return CrumbCustomContextOptions()
251
+ val values = customContext.optJSONObject("values")?.let { valuesObject ->
252
+ buildMap {
253
+ val names = valuesObject.keys()
254
+ while (names.hasNext()) {
255
+ val name = names.next()
256
+ put(name, valuesObject.getString(name))
257
+ }
258
+ }
259
+ } ?: emptyMap()
260
+ val allowedKeys = customContext.optJSONArray("allowedKeys")?.let { array ->
261
+ buildSet {
262
+ for (index in 0 until array.length()) add(array.getString(index))
263
+ }
264
+ } ?: emptySet()
265
+ return CrumbCustomContextOptions(values = values, allowedKeys = allowedKeys)
266
+ }
267
+
268
+ private fun JSONObject.workspacePolicyOptions(): CrumbWorkspacePolicyOptions {
269
+ val policy = optJSONObject("workspacePolicy") ?: return CrumbWorkspacePolicyOptions()
270
+ return CrumbWorkspacePolicyOptions(
271
+ url = policy.optionalString("url"),
272
+ timeoutMillis = policy.optionalLong("timeoutMs") ?: 2_000,
273
+ )
274
+ }
275
+
158
276
  private fun JSONObject.optionalString(name: String): String? =
159
277
  if (has(name) && !isNull(name)) getString(name) else null
160
278
 
package/app.plugin.js ADDED
@@ -0,0 +1,22 @@
1
+ const { configurePodfile } = require('./plugin/podfile.cjs');
2
+ const { name, version } = require('./package.json');
3
+
4
+ module.exports = function withCrumb(config) {
5
+ // Resolve Expo from the consuming app, including non-hoisted workspaces.
6
+ const { withPodfile, createRunOncePlugin } = require(
7
+ require.resolve('expo/config-plugins', {
8
+ paths: [config._internal?.projectRoot ?? process.cwd()],
9
+ })
10
+ );
11
+ return createRunOncePlugin(
12
+ (appConfig) =>
13
+ withPodfile(appConfig, (modConfig) => {
14
+ modConfig.modResults.contents = configurePodfile(
15
+ modConfig.modResults.contents
16
+ );
17
+ return modConfig;
18
+ }),
19
+ name,
20
+ version
21
+ )(config);
22
+ };