@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,119 @@
1
+ import CrumbCore
2
+ #if canImport(UIKit) && canImport(CoreMotion)
3
+ import CoreMotion
4
+ import UIKit
5
+
6
+ public extension Crumb {
7
+ /// Installs foreground-only automatic reporter invocation. Call once after `start`.
8
+ @MainActor
9
+ @discardableResult
10
+ static func installReporter() -> Bool {
11
+ CrumbReporterLifecycle.shared.install()
12
+ }
13
+ }
14
+
15
+ @MainActor
16
+ final class CrumbReporterLifecycle: NSObject {
17
+ static let shared = CrumbReporterLifecycle()
18
+
19
+ private let motionManager = CMMotionManager()
20
+ private var recognizer = CrumbShakeGestureRecognizer()
21
+ private var sampleTimer: Timer?
22
+ private var isInstalled = false
23
+
24
+ func install() -> Bool {
25
+ guard (try? Crumb.reportSettings()) != nil else { return false }
26
+ guard !isInstalled else {
27
+ startShakeMonitoringIfNeeded()
28
+ return true
29
+ }
30
+
31
+ isInstalled = true
32
+ CrumbRenderingMonitor.shared.install()
33
+ NotificationCenter.default.addObserver(
34
+ self,
35
+ selector: #selector(applicationDidBecomeActive),
36
+ name: UIApplication.didBecomeActiveNotification,
37
+ object: nil
38
+ )
39
+ NotificationCenter.default.addObserver(
40
+ self,
41
+ selector: #selector(applicationWillResignActive),
42
+ name: UIApplication.willResignActiveNotification,
43
+ object: nil
44
+ )
45
+ Task {
46
+ try? await CrumbReportQueue.shared.recoverInterruptedUploads()
47
+ }
48
+ CrumbWorkspacePolicyCoordinator.shared.install()
49
+ CrumbUploadCoordinator.shared.resume()
50
+ startShakeMonitoringIfNeeded()
51
+ return true
52
+ }
53
+
54
+ func reporterPresentationDidBegin() {
55
+ stopShakeMonitoring()
56
+ }
57
+
58
+ func reporterPresentationDidEnd() {
59
+ startShakeMonitoringIfNeeded()
60
+ }
61
+
62
+ func reportDidQueue() {
63
+ CrumbUploadCoordinator.shared.reportDidQueue()
64
+ }
65
+
66
+ @objc private func applicationDidBecomeActive() {
67
+ CrumbWorkspacePolicyCoordinator.shared.refresh()
68
+ CrumbUploadCoordinator.shared.resume()
69
+ startShakeMonitoringIfNeeded()
70
+ }
71
+
72
+ @objc private func applicationWillResignActive() {
73
+ CrumbUploadCoordinator.shared.pause()
74
+ stopShakeMonitoring()
75
+ }
76
+
77
+ private func startShakeMonitoringIfNeeded() {
78
+ guard isInstalled,
79
+ UIApplication.shared.applicationState == .active,
80
+ let settings = try? Crumb.reportSettings(),
81
+ settings.invocation.contains(.shake),
82
+ motionManager.isAccelerometerAvailable,
83
+ sampleTimer == nil else {
84
+ return
85
+ }
86
+
87
+ recognizer.reset()
88
+ motionManager.accelerometerUpdateInterval = 0.1
89
+ motionManager.startAccelerometerUpdates()
90
+ let timer = Timer(timeInterval: 0.1, repeats: true) { [weak self] _ in
91
+ MainActor.assumeIsolated {
92
+ self?.sampleMotion()
93
+ }
94
+ }
95
+ RunLoop.main.add(timer, forMode: .common)
96
+ sampleTimer = timer
97
+ }
98
+
99
+ private func stopShakeMonitoring() {
100
+ sampleTimer?.invalidate()
101
+ sampleTimer = nil
102
+ motionManager.stopAccelerometerUpdates()
103
+ recognizer.reset()
104
+ }
105
+
106
+ private func sampleMotion() {
107
+ guard let acceleration = motionManager.accelerometerData?.acceleration else { return }
108
+ let didShake = recognizer.record(
109
+ accelerationX: acceleration.x,
110
+ y: acceleration.y,
111
+ z: acceleration.z,
112
+ at: ProcessInfo.processInfo.systemUptime
113
+ )
114
+ if didShake {
115
+ Crumb.show(trigger: .shake)
116
+ }
117
+ }
118
+ }
119
+ #endif
@@ -0,0 +1,186 @@
1
+ import CrumbCore
2
+ #if canImport(UIKit)
3
+ import CryptoKit
4
+ import ObjectiveC
5
+ import UIKit
6
+
7
+ private enum CrumbScreenshotMaskAssociation {
8
+ nonisolated(unsafe) static var key: UInt8 = 0
9
+ }
10
+
11
+ public extension UIView {
12
+ /// Marks this view's visible bounds as an opaque region in Crumb screenshots.
13
+ var crumbMaskInScreenshots: Bool {
14
+ get {
15
+ (objc_getAssociatedObject(self, &CrumbScreenshotMaskAssociation.key) as? Bool) == true
16
+ }
17
+ set {
18
+ objc_setAssociatedObject(
19
+ self,
20
+ &CrumbScreenshotMaskAssociation.key,
21
+ newValue,
22
+ .OBJC_ASSOCIATION_RETAIN_NONATOMIC
23
+ )
24
+ }
25
+ }
26
+ }
27
+
28
+ package struct CrumbScreenshotArtifact {
29
+ package let preview: UIImage
30
+ package let encodedData: Data
31
+ package let manifest: CrumbArtifactManifest
32
+ package let maskingState: CrumbScreenshotMaskingState
33
+ }
34
+
35
+ @MainActor
36
+ package enum CrumbScreenshotArtifactPipeline {
37
+ package static func capture(
38
+ window: UIWindow,
39
+ capture: CrumbCaptureOptions,
40
+ privacy: CrumbPrivacyOptions
41
+ ) -> CrumbScreenshotArtifact? {
42
+ guard window.bounds.width > 0, window.bounds.height > 0 else { return nil }
43
+
44
+ let maskViews = sensitiveViews(
45
+ in: window,
46
+ includeTextInputs: privacy.maskAllTextInputs
47
+ )
48
+ let maskingConfigured = privacy.maskScreenshotsBeforeUpload
49
+ || privacy.maskAllTextInputs
50
+ || !maskViews.isEmpty
51
+
52
+ let format = UIGraphicsImageRendererFormat()
53
+ format.scale = window.screen.scale
54
+ format.opaque = true
55
+ let rendered = UIGraphicsImageRenderer(bounds: window.bounds, format: format).image { renderer in
56
+ window.layer.render(in: renderer.cgContext)
57
+ renderer.cgContext.setFillColor(UIColor.black.cgColor)
58
+ for view in maskViews where isVisible(view) {
59
+ let frame = view.convert(view.bounds, to: window)
60
+ .insetBy(dx: -3, dy: -3)
61
+ .intersection(window.bounds)
62
+ guard !frame.isNull, !frame.isEmpty else { continue }
63
+ renderer.cgContext.fill(frame)
64
+ }
65
+ }
66
+
67
+ guard let encoded = encode(
68
+ rendered,
69
+ maximumDimension: capture.maximumScreenshotDimension,
70
+ maximumBytes: capture.maximumScreenshotBytes
71
+ ) else { return nil }
72
+
73
+ let digest = SHA256.hash(data: encoded.data).map { String(format: "%02x", $0) }.joined()
74
+ let token = UUID().uuidString.replacingOccurrences(of: "-", with: "")
75
+ let maskingState: CrumbScreenshotMaskingState = maskingConfigured ? .applied : .notApplicable
76
+ return CrumbScreenshotArtifact(
77
+ preview: encoded.image,
78
+ encodedData: encoded.data,
79
+ manifest: CrumbArtifactManifest(
80
+ id: "art_\(token)",
81
+ kind: "screenshot",
82
+ mimeType: "image/png",
83
+ byteSize: encoded.data.count,
84
+ sha256: digest,
85
+ redactionState: maskingConfigured ? "masked" : "not_applicable",
86
+ uploadID: "upl_\(token)"
87
+ ),
88
+ maskingState: maskingState
89
+ )
90
+ }
91
+
92
+ private static func sensitiveViews(
93
+ in view: UIView,
94
+ includeTextInputs: Bool
95
+ ) -> [UIView] {
96
+ var matches: [UIView] = []
97
+ if view.crumbMaskInScreenshots
98
+ || (includeTextInputs && (view is UITextField || view is UITextView)) {
99
+ matches.append(view)
100
+ }
101
+ for child in view.subviews {
102
+ matches.append(contentsOf: sensitiveViews(in: child, includeTextInputs: includeTextInputs))
103
+ }
104
+ return matches
105
+ }
106
+
107
+ private static func isVisible(_ view: UIView) -> Bool {
108
+ !view.isHidden && view.alpha > 0 && view.window != nil && view.bounds.width > 0 && view.bounds.height > 0
109
+ }
110
+
111
+ private static func encode(
112
+ _ image: UIImage,
113
+ maximumDimension: Int,
114
+ maximumBytes: Int
115
+ ) -> (image: UIImage, data: Data)? {
116
+ var current = resized(image, maximumDimension: maximumDimension)
117
+ for _ in 0..<10 {
118
+ guard let data = current.pngData() else { return nil }
119
+ if data.count <= maximumBytes {
120
+ return (current, data)
121
+ }
122
+
123
+ let pixelSize = pixels(of: current)
124
+ guard pixelSize.width > 160, pixelSize.height > 160 else { return nil }
125
+ let ratio = sqrt(Double(maximumBytes) / Double(data.count)) * 0.9
126
+ let nextMaximum = max(160, Int(max(pixelSize.width, pixelSize.height) * min(0.9, ratio)))
127
+ guard nextMaximum < Int(max(pixelSize.width, pixelSize.height)) else { return nil }
128
+ current = resized(current, maximumDimension: nextMaximum)
129
+ }
130
+ return nil
131
+ }
132
+
133
+ private static func resized(_ image: UIImage, maximumDimension: Int) -> UIImage {
134
+ let pixelSize = pixels(of: image)
135
+ let longest = max(pixelSize.width, pixelSize.height)
136
+ guard longest > CGFloat(maximumDimension) else { return image }
137
+
138
+ let scale = CGFloat(maximumDimension) / longest
139
+ let target = CGSize(
140
+ width: max(1, floor(pixelSize.width * scale)),
141
+ height: max(1, floor(pixelSize.height * scale))
142
+ )
143
+ let format = UIGraphicsImageRendererFormat()
144
+ format.scale = 1
145
+ format.opaque = true
146
+ return UIGraphicsImageRenderer(size: target, format: format).image { _ in
147
+ image.draw(in: CGRect(origin: .zero, size: target))
148
+ }
149
+ }
150
+
151
+ private static func pixels(of image: UIImage) -> CGSize {
152
+ if let cgImage = image.cgImage {
153
+ return CGSize(width: cgImage.width, height: cgImage.height)
154
+ }
155
+ return CGSize(width: image.size.width * image.scale, height: image.size.height * image.scale)
156
+ }
157
+ }
158
+
159
+ #if canImport(SwiftUI)
160
+ import SwiftUI
161
+
162
+ public extension SwiftUI.View {
163
+ /// Marks this SwiftUI view's rendered bounds as an opaque region in Crumb screenshots.
164
+ func crumbMaskInScreenshots(_ masked: Bool = true) -> some SwiftUI.View {
165
+ overlay(CrumbScreenshotMaskRegion(masked: masked).allowsHitTesting(false))
166
+ }
167
+ }
168
+
169
+ private struct CrumbScreenshotMaskRegion: UIViewRepresentable {
170
+ let masked: Bool
171
+
172
+ func makeUIView(context: Context) -> UIView {
173
+ let view = UIView(frame: .zero)
174
+ view.backgroundColor = .clear
175
+ view.isAccessibilityElement = false
176
+ view.isUserInteractionEnabled = false
177
+ view.crumbMaskInScreenshots = masked
178
+ return view
179
+ }
180
+
181
+ func updateUIView(_ uiView: UIView, context: Context) {
182
+ uiView.crumbMaskInScreenshots = masked
183
+ }
184
+ }
185
+ #endif
186
+ #endif
@@ -0,0 +1,62 @@
1
+ import Foundation
2
+
3
+ struct CrumbShakeGestureRecognizer {
4
+ private let thresholdG: Double
5
+ private let requiredHits: Int
6
+ private let hitWindow: TimeInterval
7
+ private let cooldown: TimeInterval
8
+
9
+ private var gravity = [Double](repeating: 0, count: 3)
10
+ private var hitTimes: [TimeInterval] = []
11
+ private var lastTriggerAt: TimeInterval?
12
+
13
+ init(
14
+ thresholdG: Double = 2.2,
15
+ requiredHits: Int = 2,
16
+ hitWindow: TimeInterval = 0.6,
17
+ cooldown: TimeInterval = 1.5
18
+ ) {
19
+ self.thresholdG = thresholdG
20
+ self.requiredHits = requiredHits
21
+ self.hitWindow = hitWindow
22
+ self.cooldown = cooldown
23
+ }
24
+
25
+ mutating func record(
26
+ accelerationX: Double,
27
+ y: Double,
28
+ z: Double,
29
+ at timestamp: TimeInterval
30
+ ) -> Bool {
31
+ let values = [accelerationX, y, z]
32
+ var magnitudeSquared = 0.0
33
+ for index in values.indices {
34
+ gravity[index] = 0.8 * gravity[index] + 0.2 * values[index]
35
+ let linear = values[index] - gravity[index]
36
+ magnitudeSquared += linear * linear
37
+ }
38
+ return record(linearMagnitudeG: magnitudeSquared.squareRoot(), at: timestamp)
39
+ }
40
+
41
+ mutating func record(linearMagnitudeG: Double, at timestamp: TimeInterval) -> Bool {
42
+ guard linearMagnitudeG >= thresholdG else { return false }
43
+ hitTimes.append(timestamp)
44
+ hitTimes.removeAll { timestamp - $0 > hitWindow }
45
+
46
+ guard hitTimes.count >= requiredHits else { return false }
47
+ guard lastTriggerAt.map({ timestamp - $0 >= cooldown }) ?? true else {
48
+ hitTimes.removeAll()
49
+ return false
50
+ }
51
+
52
+ lastTriggerAt = timestamp
53
+ hitTimes.removeAll()
54
+ return true
55
+ }
56
+
57
+ mutating func reset() {
58
+ gravity = [Double](repeating: 0, count: 3)
59
+ hitTimes.removeAll()
60
+ lastTriggerAt = nil
61
+ }
62
+ }
@@ -0,0 +1,113 @@
1
+ import CrumbCore
2
+ #if canImport(UIKit) && canImport(Network)
3
+ import Network
4
+ import UIKit
5
+
6
+ @MainActor
7
+ final class CrumbUploadCoordinator {
8
+ static let shared = CrumbUploadCoordinator()
9
+
10
+ private let monitorQueue = DispatchQueue(label: "dev.crumb.upload-connectivity")
11
+ private var worker: CrumbReportUploadWorker?
12
+ private var uploadTask: Task<Void, Never>?
13
+ private var retryTask: Task<Void, Never>?
14
+ private var pathMonitor: NWPathMonitor?
15
+ private var retryStep = 0
16
+ private var isForeground = false
17
+
18
+ private init() {}
19
+
20
+ func resume() {
21
+ isForeground = true
22
+ wake()
23
+ }
24
+
25
+ func pause() {
26
+ isForeground = false
27
+ retryTask?.cancel()
28
+ retryTask = nil
29
+ uploadTask?.cancel()
30
+ stopConnectivityMonitoring()
31
+ }
32
+
33
+ func reportDidQueue() {
34
+ wake()
35
+ }
36
+
37
+ private func wake() {
38
+ guard isForeground else { return }
39
+ if worker == nil {
40
+ guard let settings = try? Crumb.uploadSettings() else { return }
41
+ worker = CrumbReportUploadWorker(settings: settings)
42
+ }
43
+ guard let worker else { return }
44
+
45
+ startConnectivityMonitoring()
46
+ guard uploadTask == nil else { return }
47
+ retryTask?.cancel()
48
+ retryTask = nil
49
+ uploadTask = Task { [weak self] in
50
+ let result = await worker.runPass()
51
+ guard let self else { return }
52
+ self.uploadTask = nil
53
+ self.handle(result)
54
+ }
55
+ }
56
+
57
+ private func handle(_ result: CrumbUploadPassResult) {
58
+ if result.remainingReportCount == 0 {
59
+ retryStep = 0
60
+ stopConnectivityMonitoring()
61
+ return
62
+ }
63
+ guard isForeground else { return }
64
+ if result.wasCancelled {
65
+ wake()
66
+ } else if result.shouldRetry {
67
+ scheduleRetry()
68
+ } else {
69
+ // Permanent failures remain durable, but do not consume battery in a retry loop.
70
+ stopConnectivityMonitoring()
71
+ }
72
+ }
73
+
74
+ private func scheduleRetry() {
75
+ let delays: [UInt64] = [1, 2, 4, 8, 16, 32, 60]
76
+ let seconds = delays[min(retryStep, delays.count - 1)]
77
+ retryStep = min(retryStep + 1, delays.count - 1)
78
+ retryTask?.cancel()
79
+ retryTask = Task { [weak self] in
80
+ do {
81
+ try await Task.sleep(nanoseconds: seconds * 1_000_000_000)
82
+ } catch {
83
+ return
84
+ }
85
+ guard let self else { return }
86
+ self.retryTask = nil
87
+ self.wake()
88
+ }
89
+ }
90
+
91
+ private func startConnectivityMonitoring() {
92
+ guard pathMonitor == nil else { return }
93
+ let monitor = NWPathMonitor()
94
+ monitor.pathUpdateHandler = { [weak self] path in
95
+ guard path.status == .satisfied else { return }
96
+ Task { @MainActor [weak self] in
97
+ guard let self, self.isForeground else { return }
98
+ self.retryStep = 0
99
+ self.retryTask?.cancel()
100
+ self.retryTask = nil
101
+ self.wake()
102
+ }
103
+ }
104
+ pathMonitor = monitor
105
+ monitor.start(queue: monitorQueue)
106
+ }
107
+
108
+ private func stopConnectivityMonitoring() {
109
+ pathMonitor?.cancel()
110
+ pathMonitor = nil
111
+ }
112
+ }
113
+ #endif
@@ -0,0 +1,86 @@
1
+ import CrumbCore
2
+ #if canImport(UIKit)
3
+ import Foundation
4
+ import UIKit
5
+
6
+ /// Loads only the small, versioned privacy policy document. The request is
7
+ /// best-effort and never delays reporter presentation or local report saving.
8
+ @MainActor
9
+ final class CrumbWorkspacePolicyCoordinator {
10
+ static let shared = CrumbWorkspacePolicyCoordinator()
11
+
12
+ private var isInstalled = false
13
+ private var fetchTask: Task<Void, Never>?
14
+
15
+ private init() {}
16
+
17
+ func install() {
18
+ guard !isInstalled else {
19
+ refresh()
20
+ return
21
+ }
22
+ isInstalled = true
23
+ loadCachedPolicy()
24
+ refresh()
25
+ }
26
+
27
+ func refresh() {
28
+ guard fetchTask == nil,
29
+ let settings = try? Crumb.workspacePolicyFetchSettings() else {
30
+ return
31
+ }
32
+ Crumb.beginWorkspacePolicyFetch()
33
+ fetchTask = Task { [weak self] in
34
+ await self?.fetch(settings)
35
+ }
36
+ }
37
+
38
+ private func loadCachedPolicy() {
39
+ guard let key = try? Crumb.workspacePolicyCacheKey(),
40
+ let data = UserDefaults.standard.data(forKey: key) else {
41
+ Crumb.markWorkspacePolicyUnavailable()
42
+ return
43
+ }
44
+ guard let policy = CrumbPolicyCache.load(data: data) else {
45
+ UserDefaults.standard.removeObject(forKey: key)
46
+ Crumb.markWorkspacePolicyUnavailable()
47
+ return
48
+ }
49
+ Crumb.applyWorkspacePolicy(policy, source: .cached)
50
+ }
51
+
52
+ private func fetch(_ settings: CrumbPolicyFetchSettings) async {
53
+ defer { fetchTask = nil }
54
+ var request = URLRequest(
55
+ url: settings.url,
56
+ cachePolicy: .reloadIgnoringLocalCacheData,
57
+ timeoutInterval: settings.timeout
58
+ )
59
+ request.httpMethod = "GET"
60
+ request.setValue("Bearer \(settings.projectKey)", forHTTPHeaderField: "Authorization")
61
+ request.setValue("application/json", forHTTPHeaderField: "Accept")
62
+
63
+ do {
64
+ let (data, response) = try await URLSession.shared.data(for: request)
65
+ guard data.count <= CrumbPolicyCache.maximumBytes,
66
+ let response = response as? HTTPURLResponse,
67
+ (200..<300).contains(response.statusCode) else {
68
+ throw PolicyFetchError.invalidResponse
69
+ }
70
+ let policy = try CrumbWorkspacePolicy.decode(data)
71
+ let accepted = Crumb.applyWorkspacePolicy(policy, source: .fresh)
72
+ if accepted, let key = try? Crumb.workspacePolicyCacheKey() {
73
+ UserDefaults.standard.set(data, forKey: key)
74
+ }
75
+ } catch is CancellationError {
76
+ return
77
+ } catch {
78
+ Crumb.markWorkspacePolicyUnavailable()
79
+ }
80
+ }
81
+ }
82
+
83
+ private enum PolicyFetchError: Error {
84
+ case invalidResponse
85
+ }
86
+ #endif