expo-observe 58.0.10 → 58.0.12

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 (54) hide show
  1. package/CHANGELOG.md +14 -5
  2. package/android/src/main/java/expo/modules/observe/CursorRepair.kt +3 -1
  3. package/android/src/main/java/expo/modules/observe/DispatchUtils.kt +22 -6
  4. package/android/src/main/java/expo/modules/observe/ObservabilityManager.kt +3 -1
  5. package/android/src/main/java/expo/modules/observe/OpenTelemetry.kt +12 -2
  6. package/expo-module.config.json +0 -1
  7. package/ios/ExpoObserve.podspec +2 -0
  8. package/ios/ObserveUserDefaults.swift +20 -0
  9. package/ios/PrivacyInfo.xcprivacy +85 -0
  10. package/ios/Tests/ObserveUserDefaultsTests.swift +18 -0
  11. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12-sources.jar +0 -0
  12. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12-sources.jar.md5 +1 -0
  13. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12-sources.jar.sha1 +1 -0
  14. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12-sources.jar.sha256 +1 -0
  15. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12-sources.jar.sha512 +1 -0
  16. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.aar +0 -0
  17. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.aar.md5 +1 -0
  18. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.aar.sha1 +1 -0
  19. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.aar.sha256 +1 -0
  20. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.aar.sha512 +1 -0
  21. package/local-maven-repo/expo/modules/observe/expo.modules.observe/{58.0.10/expo.modules.observe-58.0.10.module → 58.0.12/expo.modules.observe-58.0.12.module} +25 -25
  22. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.module.md5 +1 -0
  23. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.module.sha1 +1 -0
  24. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.module.sha256 +1 -0
  25. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.module.sha512 +1 -0
  26. package/local-maven-repo/expo/modules/observe/expo.modules.observe/{58.0.10/expo.modules.observe-58.0.10.pom → 58.0.12/expo.modules.observe-58.0.12.pom} +4 -4
  27. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.pom.md5 +1 -0
  28. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.pom.sha1 +1 -0
  29. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.pom.sha256 +1 -0
  30. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.12/expo.modules.observe-58.0.12.pom.sha512 +1 -0
  31. package/package.json +6 -6
  32. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10-sources.jar +0 -0
  33. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10-sources.jar.md5 +0 -1
  34. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10-sources.jar.sha1 +0 -1
  35. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10-sources.jar.sha256 +0 -1
  36. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10-sources.jar.sha512 +0 -1
  37. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.aar +0 -0
  38. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.aar.md5 +0 -1
  39. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.aar.sha1 +0 -1
  40. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.aar.sha256 +0 -1
  41. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.aar.sha512 +0 -1
  42. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.module.md5 +0 -1
  43. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.module.sha1 +0 -1
  44. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.module.sha256 +0 -1
  45. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.module.sha512 +0 -1
  46. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.pom.md5 +0 -1
  47. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.pom.sha1 +0 -1
  48. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.pom.sha256 +0 -1
  49. package/local-maven-repo/expo/modules/observe/expo.modules.observe/58.0.10/expo.modules.observe-58.0.10.pom.sha512 +0 -1
  50. package/local-maven-repo/expo/modules/observe/expo.modules.observe/maven-metadata.xml +0 -13
  51. package/local-maven-repo/expo/modules/observe/expo.modules.observe/maven-metadata.xml.md5 +0 -1
  52. package/local-maven-repo/expo/modules/observe/expo.modules.observe/maven-metadata.xml.sha1 +0 -1
  53. package/local-maven-repo/expo/modules/observe/expo.modules.observe/maven-metadata.xml.sha256 +0 -1
  54. package/local-maven-repo/expo/modules/observe/expo.modules.observe/maven-metadata.xml.sha512 +0 -1
package/CHANGELOG.md CHANGED
@@ -1,14 +1,23 @@
1
1
  # Changelog
2
2
 
3
- ## Unpublished
3
+ ## 58.0.12
4
4
 
5
- ### 🛠 Breaking changes
5
+ ### Patch Changes
6
6
 
7
- ### 🎉 New features
7
+ - [iOS] Remove legacy `UserDefaults` keys that are no longer read. ([#50752](https://github.com/expo/expo/pull/50752) by [@tsapeta](https://github.com/tsapeta))
8
+ - [iOS] Add privacy manifest describing required reason API usage and the collected data types. ([#50734](https://github.com/expo/expo/pull/50734) by [@enavermate](https://github.com/enavermate))
9
+ - Updated dependencies. ([#50752](https://github.com/expo/expo/pull/50752), [#50734](https://github.com/expo/expo/pull/50734))
10
+ - expo-app-metrics@58.0.10
11
+ - expo-eas-client@58.0.2
8
12
 
9
- ### 🐛 Bug fixes
13
+ ## 58.0.11
10
14
 
11
- ### 💡 Others
15
+ ### Patch Changes
16
+
17
+ - Force-bump all packages, due to migration to changesets. ([#50762](https://github.com/expo/expo/pull/50762) by [@kitten](https://github.com/kitten))
18
+ - Updated dependencies. ([#50762](https://github.com/expo/expo/pull/50762))
19
+ - expo-app-metrics@58.0.9
20
+ - expo-eas-client@58.0.1
12
21
 
13
22
  ## 58.0.10 — 2026-09-28
14
23
 
@@ -14,7 +14,9 @@ internal suspend fun repairCursorIfStale(
14
14
  readMaxId: suspend () -> Long?
15
15
  ) {
16
16
  val cursor = readCursor()
17
- if (cursor < 0) return
17
+ if (cursor < 0) {
18
+ return
19
+ }
18
20
 
19
21
  val maxId = try {
20
22
  readMaxId()
@@ -82,7 +82,11 @@ object DispatchUtils {
82
82
  429, 502, 503, 504 -> DispatchResult.RetryableFailure(parseRetryAfter(retryAfterHeader))
83
83
  else -> {
84
84
  val excerpt = bodyExcerpt()
85
- val suffix = if (excerpt.isEmpty()) "" else ": $excerpt"
85
+ val suffix = if (excerpt.isEmpty()) {
86
+ ""
87
+ } else {
88
+ ": $excerpt"
89
+ }
86
90
  DispatchResult.NonRetryableFailure(reason = "HTTP $statusCode$suffix")
87
91
  }
88
92
  }
@@ -106,11 +110,15 @@ object DispatchUtils {
106
110
  cap: Long = backoffCapMs
107
111
  ): Long? {
108
112
  val raw = header?.trim() ?: return null
109
- if (raw.isEmpty()) return null
113
+ if (raw.isEmpty()) {
114
+ return null
115
+ }
110
116
 
111
117
  raw.toLongOrNull()?.let { return clampToBounds(it * 1000L, base, cap) }
112
118
  raw.toDoubleOrNull()?.let {
113
- if (!it.isFinite()) return null
119
+ if (!it.isFinite()) {
120
+ return null
121
+ }
114
122
  return clampToBounds((it * 1000L).toLong(), base, cap)
115
123
  }
116
124
 
@@ -137,8 +145,14 @@ object DispatchUtils {
137
145
  * diagnostic excerpt.
138
146
  */
139
147
  internal fun bodyExcerpt(body: String?, limit: Int = 512): String {
140
- if (body.isNullOrEmpty()) return ""
141
- return if (body.length <= limit) body else body.substring(0, limit)
148
+ if (body.isNullOrEmpty()) {
149
+ return ""
150
+ }
151
+ return if (body.length <= limit) {
152
+ body
153
+ } else {
154
+ body.substring(0, limit)
155
+ }
142
156
  }
143
157
 
144
158
  private val responseJson = Json { ignoreUnknownKeys = true }
@@ -170,7 +184,9 @@ object DispatchUtils {
170
184
  cap: Long = backoffCapMs,
171
185
  random: () -> Double = { Random.nextDouble() }
172
186
  ): Long {
173
- if (attempt < 1) return 0L
187
+ if (attempt < 1) {
188
+ return 0L
189
+ }
174
190
  val unjittered = minOf((base.toDouble() * 2.0.pow(attempt - 1)).toLong(), cap)
175
191
  return (unjittered.toDouble() * random()).toLong()
176
192
  }
@@ -106,7 +106,9 @@ class BaseObservabilityManager(
106
106
  private fun retryGateBlocks(state: DispatchUtils.RetryGateState, signal: String): Boolean {
107
107
  val until = state.dispatchAfterMs ?: return false
108
108
  val now = currentTimeMs()
109
- if (until <= now) return false
109
+ if (until <= now) {
110
+ return false
111
+ }
110
112
  Log.d(OBSERVE_TAG, "$signal dispatch suppressed by retry gate until $until (now $now)")
111
113
  return true
112
114
  }
@@ -449,7 +449,11 @@ fun LogEvent.toOTLogRecord(): OTLogRecord {
449
449
  severityText = resolvedSeverity.severityText,
450
450
  body = OTStringValue(stringValue = body ?: ""),
451
451
  attributes = attributes,
452
- droppedAttributesCount = if (totalDrops > 0) totalDrops else null
452
+ droppedAttributesCount = if (totalDrops > 0) {
453
+ totalDrops
454
+ } else {
455
+ null
456
+ }
453
457
  )
454
458
  }
455
459
 
@@ -575,7 +579,13 @@ internal fun otAnyValueFromJsonElement(element: JsonElement): OTAnyValue? {
575
579
  return OTAnyValue.Str(element.content)
576
580
  }
577
581
  element.longOrNull?.let { return OTAnyValue.Int64(it) }
578
- element.doubleOrNull?.let { return if (it.isFinite()) OTAnyValue.Dbl(it) else null }
582
+ element.doubleOrNull?.let {
583
+ return if (it.isFinite()) {
584
+ OTAnyValue.Dbl(it)
585
+ } else {
586
+ null
587
+ }
588
+ }
579
589
  null
580
590
  }
581
591
  is JsonObject -> {
@@ -9,7 +9,6 @@
9
9
  "publication": {
10
10
  "groupId": "expo.modules.observe",
11
11
  "artifactId": "expo.modules.observe",
12
- "version": "58.0.10",
13
12
  "repository": "local-maven-repo"
14
13
  }
15
14
  }
@@ -22,6 +22,8 @@ Pod::Spec.new do |s|
22
22
  s.dependency 'ExpoAppMetrics'
23
23
  s.dependency 'EASClient'
24
24
 
25
+ s.resource_bundles = {'ExpoObserve_privacy' => ['PrivacyInfo.xcprivacy']}
26
+
25
27
  install_modules_dependencies(s)
26
28
 
27
29
  s.pod_target_xcconfig = {
@@ -36,6 +36,7 @@ internal final class ObserveUserDefaults: UserDefaults {
36
36
  // It's safe to force-unwrap as `init?(suiteName:)` fails only if `suiteName`
37
37
  // is the same as the app's main bundle identifier or the global domain.
38
38
  super.init(suiteName: "dev.expo.observe")!
39
+ Self.cleanUpLegacyKeys(from: self)
39
40
  }
40
41
 
41
42
  /// Date when events with metrics were last sent and received by the backend.
@@ -94,4 +95,23 @@ internal final class ObserveUserDefaults: UserDefaults {
94
95
  guard let data = try? JSONEncoder().encode(newValue) else { return }
95
96
  defaults.set(data, forKey: Keys.bundleDefaults.rawValue)
96
97
  }
98
+
99
+ // MARK: - Legacy keys
100
+
101
+ /// Keys that older versions wrote and nothing reads anymore.
102
+ private enum LegacyKeys: String, CaseIterable {
103
+ /// Replaced by `config`.
104
+ case dispatchingEnabled
105
+ /// Replaced by `lastDispatchedMetricId` when the JSON storage was replaced with SQLite.
106
+ case lastDispatchedEntryId
107
+ /// Replaced by `lastDispatchedLogId` when the JSON storage was replaced with SQLite.
108
+ case lastDispatchedLogEntryId
109
+ }
110
+
111
+ /// Removes the values stored under `LegacyKeys` so they don't stay on the device forever.
112
+ nonisolated static func cleanUpLegacyKeys(from defaults: UserDefaults) {
113
+ for key in LegacyKeys.allCases where defaults.object(forKey: key.rawValue) != nil {
114
+ defaults.removeObject(forKey: key.rawValue)
115
+ }
116
+ }
97
117
  }
@@ -0,0 +1,85 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>NSPrivacyCollectedDataTypes</key>
6
+ <array>
7
+ <dict>
8
+ <key>NSPrivacyCollectedDataType</key>
9
+ <string>NSPrivacyCollectedDataTypeCrashData</string>
10
+ <key>NSPrivacyCollectedDataTypeLinked</key>
11
+ <false/>
12
+ <key>NSPrivacyCollectedDataTypeTracking</key>
13
+ <false/>
14
+ <key>NSPrivacyCollectedDataTypePurposes</key>
15
+ <array>
16
+ <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
17
+ </array>
18
+ </dict>
19
+ <dict>
20
+ <key>NSPrivacyCollectedDataType</key>
21
+ <string>NSPrivacyCollectedDataTypePerformanceData</string>
22
+ <key>NSPrivacyCollectedDataTypeLinked</key>
23
+ <false/>
24
+ <key>NSPrivacyCollectedDataTypeTracking</key>
25
+ <false/>
26
+ <key>NSPrivacyCollectedDataTypePurposes</key>
27
+ <array>
28
+ <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
29
+ </array>
30
+ </dict>
31
+ <dict>
32
+ <key>NSPrivacyCollectedDataType</key>
33
+ <string>NSPrivacyCollectedDataTypeOtherDiagnosticData</string>
34
+ <key>NSPrivacyCollectedDataTypeLinked</key>
35
+ <false/>
36
+ <key>NSPrivacyCollectedDataTypeTracking</key>
37
+ <false/>
38
+ <key>NSPrivacyCollectedDataTypePurposes</key>
39
+ <array>
40
+ <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
41
+ </array>
42
+ </dict>
43
+ <dict>
44
+ <key>NSPrivacyCollectedDataType</key>
45
+ <string>NSPrivacyCollectedDataTypeDeviceID</string>
46
+ <key>NSPrivacyCollectedDataTypeLinked</key>
47
+ <false/>
48
+ <key>NSPrivacyCollectedDataTypeTracking</key>
49
+ <false/>
50
+ <key>NSPrivacyCollectedDataTypePurposes</key>
51
+ <array>
52
+ <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
53
+ <string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
54
+ </array>
55
+ </dict>
56
+ <dict>
57
+ <key>NSPrivacyCollectedDataType</key>
58
+ <string>NSPrivacyCollectedDataTypeProductInteraction</string>
59
+ <key>NSPrivacyCollectedDataTypeLinked</key>
60
+ <false/>
61
+ <key>NSPrivacyCollectedDataTypeTracking</key>
62
+ <false/>
63
+ <key>NSPrivacyCollectedDataTypePurposes</key>
64
+ <array>
65
+ <string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
66
+ </array>
67
+ </dict>
68
+ </array>
69
+ <key>NSPrivacyTracking</key>
70
+ <false/>
71
+ <key>NSPrivacyTrackingDomains</key>
72
+ <array/>
73
+ <key>NSPrivacyAccessedAPITypes</key>
74
+ <array>
75
+ <dict>
76
+ <key>NSPrivacyAccessedAPIType</key>
77
+ <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
78
+ <key>NSPrivacyAccessedAPITypeReasons</key>
79
+ <array>
80
+ <string>CA92.1</string>
81
+ </array>
82
+ </dict>
83
+ </array>
84
+ </dict>
85
+ </plist>
@@ -136,4 +136,22 @@ struct ObserveUserDefaultsTests {
136
136
  #expect(ObserveUserDefaults.bundleDefaults?.environment == "development")
137
137
  #expect(ObserveUserDefaults.bundleDefaults?.isJsDev == true)
138
138
  }
139
+
140
+ @Test
141
+ func `cleanUpLegacyKeys removes only the legacy keys`() throws {
142
+ let suiteName = "dev.expo.observe.tests.legacy-keys"
143
+ let defaults = try #require(UserDefaults(suiteName: suiteName))
144
+ defer {
145
+ defaults.removePersistentDomain(forName: suiteName)
146
+ }
147
+ defaults.set(true, forKey: "dispatchingEnabled")
148
+ defaults.set(3, forKey: "lastDispatchedEntryId")
149
+ defaults.set(4, forKey: "lastDispatchedLogEntryId")
150
+ defaults.set(Int64(5), forKey: "lastDispatchedMetricId")
151
+ ObserveUserDefaults.cleanUpLegacyKeys(from: defaults)
152
+ #expect(defaults.object(forKey: "dispatchingEnabled") == nil)
153
+ #expect(defaults.object(forKey: "lastDispatchedEntryId") == nil)
154
+ #expect(defaults.object(forKey: "lastDispatchedLogEntryId") == nil)
155
+ #expect(defaults.object(forKey: "lastDispatchedMetricId") as? Int64 == 5)
156
+ }
139
157
  }
@@ -0,0 +1 @@
1
+ b57ebabcb3dea5c85dae3447eda395c4cfc738a39d1b4638dda5f7e756729639
@@ -0,0 +1 @@
1
+ 68cc413754cceb237fd0a6fa375e9cdb333e72a3a37b81b319e28a586992543bbb5b6147b89b6125d5c0c0abd9f294e4dc11e05883a11f1e10385196a082b1e5
@@ -0,0 +1 @@
1
+ ee494088da4facb9722e9e4477aa81e7655009797b4c92f81a98f34fef30f637
@@ -0,0 +1 @@
1
+ 117b94095140d96c2f5ce5f3f0a7742f58564113a1e083d81dea3248c3dd8670633666d480de542d838c6df03d46dd95aa198b688b9463eb0f9b60944a64e238
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.observe",
5
5
  "module": "expo.modules.observe",
6
- "version": "58.0.10",
6
+ "version": "58.0.12",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,13 +24,13 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.observe-58.0.10.aar",
28
- "url": "expo.modules.observe-58.0.10.aar",
29
- "size": 302568,
30
- "sha512": "f53c52aa57f8948e4768b6f91224b6ae5dd833dcbc81db6a5aa57f8211dc74f4cf8ae6b7bf1f771a99c27b5e22d3d6f54b81b70976421f075ef45bb79ac50695",
31
- "sha256": "53002c5635e80965107fd3ad5251f6d4040a2f30169bc078e471e06e31aa27f3",
32
- "sha1": "a53c447da643d0a3a9fc4f970a5fb39df5e154f2",
33
- "md5": "e2e19935f8433f4d6167c95647ead94f"
27
+ "name": "expo.modules.observe-58.0.12.aar",
28
+ "url": "expo.modules.observe-58.0.12.aar",
29
+ "size": 302591,
30
+ "sha512": "117b94095140d96c2f5ce5f3f0a7742f58564113a1e083d81dea3248c3dd8670633666d480de542d838c6df03d46dd95aa198b688b9463eb0f9b60944a64e238",
31
+ "sha256": "ee494088da4facb9722e9e4477aa81e7655009797b4c92f81a98f34fef30f637",
32
+ "sha1": "036331b65b3fc762342e9e26b8a6c47fa9cf2a44",
33
+ "md5": "c7a804b560db28bd5a0931570f0ee3c1"
34
34
  }
35
35
  ]
36
36
  },
@@ -61,21 +61,21 @@
61
61
  "group": "expo.modules.appmetrics",
62
62
  "module": "expo.modules.appmetrics",
63
63
  "version": {
64
- "requires": "58.0.8"
64
+ "requires": "58.0.10"
65
65
  }
66
66
  },
67
67
  {
68
68
  "group": "host.exp.exponent",
69
69
  "module": "expo-eas-client",
70
70
  "version": {
71
- "requires": "58.0.0"
71
+ "requires": "58.0.2"
72
72
  }
73
73
  },
74
74
  {
75
75
  "group": "host.exp.exponent",
76
76
  "module": "expo-updates-interface",
77
77
  "version": {
78
- "requires": "58.0.0"
78
+ "requires": "58.0.1"
79
79
  }
80
80
  },
81
81
  {
@@ -120,13 +120,13 @@
120
120
  ],
121
121
  "files": [
122
122
  {
123
- "name": "expo.modules.observe-58.0.10.aar",
124
- "url": "expo.modules.observe-58.0.10.aar",
125
- "size": 302568,
126
- "sha512": "f53c52aa57f8948e4768b6f91224b6ae5dd833dcbc81db6a5aa57f8211dc74f4cf8ae6b7bf1f771a99c27b5e22d3d6f54b81b70976421f075ef45bb79ac50695",
127
- "sha256": "53002c5635e80965107fd3ad5251f6d4040a2f30169bc078e471e06e31aa27f3",
128
- "sha1": "a53c447da643d0a3a9fc4f970a5fb39df5e154f2",
129
- "md5": "e2e19935f8433f4d6167c95647ead94f"
123
+ "name": "expo.modules.observe-58.0.12.aar",
124
+ "url": "expo.modules.observe-58.0.12.aar",
125
+ "size": 302591,
126
+ "sha512": "117b94095140d96c2f5ce5f3f0a7742f58564113a1e083d81dea3248c3dd8670633666d480de542d838c6df03d46dd95aa198b688b9463eb0f9b60944a64e238",
127
+ "sha256": "ee494088da4facb9722e9e4477aa81e7655009797b4c92f81a98f34fef30f637",
128
+ "sha1": "036331b65b3fc762342e9e26b8a6c47fa9cf2a44",
129
+ "md5": "c7a804b560db28bd5a0931570f0ee3c1"
130
130
  }
131
131
  ]
132
132
  },
@@ -140,13 +140,13 @@
140
140
  },
141
141
  "files": [
142
142
  {
143
- "name": "expo.modules.observe-58.0.10-sources.jar",
144
- "url": "expo.modules.observe-58.0.10-sources.jar",
145
- "size": 27852,
146
- "sha512": "f2c1dd67cae3fff82c805e49323bd02fcfcb2b8ba4e816312f0c905483d4b5a04f802de251bbfac9c909e1277655b5c0c136de1fb100225f9f3bfaf39415eb14",
147
- "sha256": "16dc4eb058bb55f4a96f82ab79177ff01cb21407e5e2a9a57a207de2bfaaad0a",
148
- "sha1": "ea3f2058b6f69f397332bf74450efb3242e65ff4",
149
- "md5": "140508236ca9f4e307aefb4516e02dbb"
143
+ "name": "expo.modules.observe-58.0.12-sources.jar",
144
+ "url": "expo.modules.observe-58.0.12-sources.jar",
145
+ "size": 27883,
146
+ "sha512": "68cc413754cceb237fd0a6fa375e9cdb333e72a3a37b81b319e28a586992543bbb5b6147b89b6125d5c0c0abd9f294e4dc11e05883a11f1e10385196a082b1e5",
147
+ "sha256": "b57ebabcb3dea5c85dae3447eda395c4cfc738a39d1b4638dda5f7e756729639",
148
+ "sha1": "90ab723a7749e9bfc15c085c71908aeb3eeb67c5",
149
+ "md5": "97f4a15ae40dca23b3f08a56f990e957"
150
150
  }
151
151
  ]
152
152
  }
@@ -0,0 +1 @@
1
+ 219d03cace96e54775fae66b841e2464a55b7455932be6c0293c833c844a9fe9
@@ -0,0 +1 @@
1
+ 12aaf587a6fac60351cadc41d43fc576b0681d0b880cd43f102e3bc70bf056b599b2ea6fd7f1f5ce301a8f7b8b13d677ed518e2499555ef968cb9859a235b5b9
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>expo.modules.observe</groupId>
11
11
  <artifactId>expo.modules.observe</artifactId>
12
- <version>58.0.10</version>
12
+ <version>58.0.12</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.observe</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -52,19 +52,19 @@
52
52
  <dependency>
53
53
  <groupId>expo.modules.appmetrics</groupId>
54
54
  <artifactId>expo.modules.appmetrics</artifactId>
55
- <version>58.0.8</version>
55
+ <version>58.0.10</version>
56
56
  <scope>runtime</scope>
57
57
  </dependency>
58
58
  <dependency>
59
59
  <groupId>host.exp.exponent</groupId>
60
60
  <artifactId>expo-eas-client</artifactId>
61
- <version>58.0.0</version>
61
+ <version>58.0.2</version>
62
62
  <scope>runtime</scope>
63
63
  </dependency>
64
64
  <dependency>
65
65
  <groupId>host.exp.exponent</groupId>
66
66
  <artifactId>expo-updates-interface</artifactId>
67
- <version>58.0.0</version>
67
+ <version>58.0.1</version>
68
68
  <scope>runtime</scope>
69
69
  </dependency>
70
70
  <dependency>
@@ -0,0 +1 @@
1
+ 161343c9bbbf10f3bde8ff89746499b72fe229eefb68c957ce85a66694eb21df
@@ -0,0 +1 @@
1
+ 3e5c2aa3cddf97aa2f73a296345e0b9e79ec11c8e5fa72dad6687f4242a332e3ff39c81c7b9f01f7136cf557abbb88eb401489d517cdb30f6c949480dada957b
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-observe",
3
- "version": "58.0.10",
3
+ "version": "58.0.12",
4
4
  "description": "Expo module that dispatches collected app metrics to EAS Observe",
5
5
  "keywords": [
6
6
  "EAS",
@@ -42,15 +42,15 @@
42
42
  }
43
43
  },
44
44
  "dependencies": {
45
- "expo-app-metrics": "~58.0.8",
46
- "expo-eas-client": "~58.0.0"
45
+ "expo-app-metrics": "~58.0.10",
46
+ "expo-eas-client": "~58.0.2"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@react-navigation/native": "^7.1.33",
50
50
  "@testing-library/react-native": "^13.3.0",
51
51
  "@types/react": "~19.3.0",
52
- "expo": "58.0.0-preview.8",
53
- "expo-module-scripts": "56.0.3"
52
+ "expo": "58.0.1",
53
+ "expo-module-scripts": "56.0.4"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "@react-navigation/native": "^7.0.0",
@@ -68,8 +68,8 @@
68
68
  }
69
69
  },
70
70
  "title": "Expo Observe",
71
- "gitHead": "74f6d2b90bc50bd8df7b160d6e6b2204b37a8ce7",
72
71
  "scripts": {
72
+ "precompile-android": "et prebuild-android-package-for-publish",
73
73
  "build": "expo-build src",
74
74
  "clean": "expo-module clean",
75
75
  "lint": "oxlint --config oxlint.config.mjs .",
@@ -1 +0,0 @@
1
- 16dc4eb058bb55f4a96f82ab79177ff01cb21407e5e2a9a57a207de2bfaaad0a
@@ -1 +0,0 @@
1
- f2c1dd67cae3fff82c805e49323bd02fcfcb2b8ba4e816312f0c905483d4b5a04f802de251bbfac9c909e1277655b5c0c136de1fb100225f9f3bfaf39415eb14
@@ -1 +0,0 @@
1
- 53002c5635e80965107fd3ad5251f6d4040a2f30169bc078e471e06e31aa27f3
@@ -1 +0,0 @@
1
- f53c52aa57f8948e4768b6f91224b6ae5dd833dcbc81db6a5aa57f8211dc74f4cf8ae6b7bf1f771a99c27b5e22d3d6f54b81b70976421f075ef45bb79ac50695
@@ -1 +0,0 @@
1
- 054467a7c283d5422f17490eccea245eb22f228ab8b107e899082dbdf534f1e1
@@ -1 +0,0 @@
1
- 8caa846079596da7123a79ac4c225e7329d869d8a699620adaed71c4d75eef3c0919e59711009e89337c93b40970b67da6233093107a7713bd79e37e3911dd9d
@@ -1 +0,0 @@
1
- 26867c3c4bb4b9d4ddb95aea89fb7ab256fa58dcad57f9aacfe0c654745a1628
@@ -1 +0,0 @@
1
- df226a7a9eae7128553bde01fef2423ea789e03b47100096b633bb48d684ec65310cdbd353b0aa921831edd66da9c02fa076dfd7853a3158f8578efa1d2d4c5f
@@ -1,13 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <metadata>
3
- <groupId>expo.modules.observe</groupId>
4
- <artifactId>expo.modules.observe</artifactId>
5
- <versioning>
6
- <latest>58.0.10</latest>
7
- <release>58.0.10</release>
8
- <versions>
9
- <version>58.0.10</version>
10
- </versions>
11
- <lastUpdated>20260928121124</lastUpdated>
12
- </versioning>
13
- </metadata>
@@ -1 +0,0 @@
1
- 70a2e98822234cb153292d20f76bb87b
@@ -1 +0,0 @@
1
- 6e8766fb401ec140d6b1cfef5ae139773e8888d5
@@ -1 +0,0 @@
1
- f7f1f0acf0c85eafb00a012eae174ff8168d66eed33b4222fa4635e0bfcd2c15
@@ -1 +0,0 @@
1
- eb76ac5cb2676dc2012ebd130db1cd0f2c56f852049c6bdc8e338d29918c3330db42f7a3782ddeee1889d5c96928e9c67a10db7da0dbb50f781386f439337d47