expo-notifications 58.0.8 → 58.0.10

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 (57) hide show
  1. package/CHANGELOG.md +12 -5
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationAction.java +2 -0
  4. package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationCategory.java +2 -0
  5. package/android/src/main/java/expo/modules/notifications/notifications/model/NotificationRequest.java +2 -0
  6. package/android/src/main/java/expo/modules/notifications/notifications/model/TextInputNotificationAction.java +2 -0
  7. package/android/src/main/java/expo/modules/notifications/notifications/scheduling/NotificationScheduler.kt +5 -1
  8. package/android/src/main/java/expo/modules/notifications/notifications/triggers/NotificationTriggers.kt +5 -1
  9. package/android/src/main/java/expo/modules/notifications/permissions/NotificationPermissionsModule.kt +5 -1
  10. package/android/src/main/java/expo/modules/notifications/service/NotificationsService.kt +10 -2
  11. package/android/src/main/java/expo/modules/notifications/service/delegates/SharedPreferencesNotificationCategoriesStore.kt +7 -1
  12. package/build/getDevicePushTokenAsync.js +6 -9
  13. package/build/getDevicePushTokenAsync.js.map +1 -1
  14. package/expo-module.config.json +0 -1
  15. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{58.0.8/expo.modules.notifications-58.0.8-sources.jar → 58.0.10/expo.modules.notifications-58.0.10-sources.jar} +0 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10-sources.jar.md5 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10-sources.jar.sha1 +1 -0
  18. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10-sources.jar.sha256 +1 -0
  19. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10-sources.jar.sha512 +1 -0
  20. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{58.0.8/expo.modules.notifications-58.0.8.aar → 58.0.10/expo.modules.notifications-58.0.10.aar} +0 -0
  21. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.aar.md5 +1 -0
  22. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.aar.sha1 +1 -0
  23. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.aar.sha256 +1 -0
  24. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.aar.sha512 +1 -0
  25. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{58.0.8/expo.modules.notifications-58.0.8.module → 58.0.10/expo.modules.notifications-58.0.10.module} +22 -22
  26. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.module.md5 +1 -0
  27. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.module.sha1 +1 -0
  28. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.module.sha256 +1 -0
  29. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.module.sha512 +1 -0
  30. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{58.0.8/expo.modules.notifications-58.0.8.pom → 58.0.10/expo.modules.notifications-58.0.10.pom} +1 -1
  31. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.pom.md5 +1 -0
  32. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.pom.sha1 +1 -0
  33. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.pom.sha256 +1 -0
  34. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.10/expo.modules.notifications-58.0.10.pom.sha512 +1 -0
  35. package/package.json +7 -7
  36. package/src/getDevicePushTokenAsync.ts +6 -9
  37. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8-sources.jar.md5 +0 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8-sources.jar.sha1 +0 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8-sources.jar.sha256 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8-sources.jar.sha512 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.aar.md5 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.aar.sha1 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.aar.sha256 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.aar.sha512 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.module.md5 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.module.sha1 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.module.sha256 +0 -1
  48. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.module.sha512 +0 -1
  49. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.pom.md5 +0 -1
  50. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.pom.sha1 +0 -1
  51. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.pom.sha256 +0 -1
  52. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/58.0.8/expo.modules.notifications-58.0.8.pom.sha512 +0 -1
  53. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml +0 -13
  54. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.md5 +0 -1
  55. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.sha1 +0 -1
  56. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.sha256 +0 -1
  57. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.sha512 +0 -1
package/CHANGELOG.md CHANGED
@@ -1,14 +1,21 @@
1
1
  # Changelog
2
2
 
3
- ## Unpublished
3
+ ## 58.0.10
4
4
 
5
- ### 🛠 Breaking changes
5
+ ### Patch Changes
6
6
 
7
- ### 🎉 New features
7
+ - Allow native push token requests to retry after a transient failure while preserving shared in-flight requests. ([#50848](https://github.com/expo/expo/pull/50848) by [@JoaoPauloCMarra](https://github.com/JoaoPauloCMarra))
8
+ - [Android] Fix notification action buttons going missing after an app update that changes R8 minification, until the app is opened again. ([#50799](https://github.com/expo/expo/pull/50799) by [@icoric4](https://github.com/icoric4))
8
9
 
9
- ### 🐛 Bug fixes
10
+ ## 58.0.9
10
11
 
11
- ### 💡 Others
12
+ ### Patch Changes
13
+
14
+ - Force-bump all packages, due to migration to changesets. ([#50762](https://github.com/expo/expo/pull/50762) by [@kitten](https://github.com/kitten))
15
+ - Updated dependencies. ([#50762](https://github.com/expo/expo/pull/50762), [#49511](https://github.com/expo/expo/pull/49511), [#50661](https://github.com/expo/expo/pull/50661))
16
+ - @expo/image-utils@0.12.2
17
+ - expo-application@58.0.2
18
+ - expo-constants@58.0.9
12
19
 
13
20
  ## 58.0.8 — 2026-09-28
14
21
 
@@ -5,13 +5,13 @@ plugins {
5
5
  }
6
6
 
7
7
  group = 'host.exp.exponent'
8
- version = '58.0.8'
8
+ version = '58.0.10'
9
9
 
10
10
  android {
11
11
  namespace "expo.modules.notifications"
12
12
  defaultConfig {
13
13
  versionCode 21
14
- versionName '58.0.8'
14
+ versionName '58.0.10'
15
15
  testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
16
16
  consumerProguardFiles 'proguard-rules.pro'
17
17
  }
@@ -12,6 +12,8 @@ import java.io.Serializable;
12
12
  *
13
13
  */
14
14
  public class NotificationAction implements Parcelable, Serializable {
15
+ private static final long serialVersionUID = -5940729619296967063L;
16
+
15
17
  private final String mIdentifier;
16
18
  private final String mTitle;
17
19
  private final boolean mOpensAppToForeground;
@@ -13,6 +13,8 @@ import java.util.List;
13
13
  * TODO vonovak: no need to implement serializable, parcelable is enough for storing
14
14
  */
15
15
  public class NotificationCategory implements Parcelable, Serializable {
16
+ private static final long serialVersionUID = -7231554903600752807L;
17
+
16
18
  private final String mIdentifier;
17
19
  private final List<NotificationAction> mActions;
18
20
 
@@ -13,6 +13,8 @@ import expo.modules.notifications.notifications.interfaces.NotificationTrigger;
13
13
  * is triggered by some {@link #mTrigger} and is identifiable by {@link #mIdentifier}.
14
14
  */
15
15
  public class NotificationRequest implements Parcelable, Serializable {
16
+ private static final long serialVersionUID = 2436814163774274309L;
17
+
16
18
  private String mIdentifier;
17
19
  private INotificationContent mContent;
18
20
  private NotificationTrigger mTrigger;
@@ -6,6 +6,8 @@ import android.os.Parcel;
6
6
  * A class representing a single direct reply notification action.
7
7
  */
8
8
  public class TextInputNotificationAction extends NotificationAction {
9
+ private static final long serialVersionUID = 8821343572336637405L;
10
+
9
11
  private final String mPlaceholder;
10
12
 
11
13
  public TextInputNotificationAction(String identifier, String title, boolean opensAppToForeground, String placeholder) {
@@ -106,7 +106,11 @@ open class NotificationScheduler : Module() {
106
106
  promise.resolve(nextTriggerDate.time.toDouble())
107
107
  }
108
108
  } else {
109
- val triggerDescription = if (trigger == null) "null" else trigger.javaClass.name
109
+ val triggerDescription = if (trigger == null) {
110
+ "null"
111
+ } else {
112
+ trigger.javaClass.name
113
+ }
110
114
  val message = String.format("It is not possible to get next trigger date for triggers other than calendar-based. Provided trigger resulted in %s trigger.", triggerDescription)
111
115
  promise.reject("ERR_NOTIFICATIONS_INVALID_CALENDAR_TRIGGER", message, null)
112
116
  }
@@ -32,7 +32,11 @@ interface AlarmClockAwareTrigger {
32
32
  val alarmClock: Boolean
33
33
 
34
34
  val delivery: String
35
- get() = if (alarmClock) DELIVERY_ALARM_CLOCK else DELIVERY_BEST_EFFORT
35
+ get() = if (alarmClock) {
36
+ DELIVERY_ALARM_CLOCK
37
+ } else {
38
+ DELIVERY_BEST_EFFORT
39
+ }
36
40
 
37
41
  companion object {
38
42
  const val DELIVERY_BEST_EFFORT = "bestEffort"
@@ -91,7 +91,11 @@ class NotificationPermissionsModule : Module() {
91
91
  private fun getPermissionsWithPromiseImplClassic(promise: Promise) {
92
92
  val managerCompat = NotificationManagerCompat.from(context)
93
93
  val areEnabled = managerCompat.areNotificationsEnabled()
94
- val status = if (areEnabled) PermissionsStatus.GRANTED else PermissionsStatus.DENIED
94
+ val status = if (areEnabled) {
95
+ PermissionsStatus.GRANTED
96
+ } else {
97
+ PermissionsStatus.DENIED
98
+ }
95
99
  val platformBundle = bundleOf(
96
100
  IMPORTANCE_KEY to managerCompat.importance
97
101
  ).apply {
@@ -430,7 +430,11 @@ open class NotificationsService : BroadcastReceiver() {
430
430
  }
431
431
 
432
432
  // We're defaulting to the behaviour prior API 31 (mutable) even though Android recommends immutability
433
- val mutableFlag = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) PendingIntent.FLAG_MUTABLE else 0
433
+ val mutableFlag = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
434
+ PendingIntent.FLAG_MUTABLE
435
+ } else {
436
+ 0
437
+ }
434
438
  return PendingIntent.getBroadcast(
435
439
  context,
436
440
  intent.component?.className?.hashCode() ?: NotificationsService::class.java.hashCode(),
@@ -480,7 +484,11 @@ open class NotificationsService : BroadcastReceiver() {
480
484
  }
481
485
 
482
486
  // We're defaulting to the behaviour prior API 31 (mutable) even though Android recommends immutability
483
- val mutableFlag = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) PendingIntent.FLAG_MUTABLE else 0
487
+ val mutableFlag = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
488
+ PendingIntent.FLAG_MUTABLE
489
+ } else {
490
+ 0
491
+ }
484
492
  return PendingIntent.getBroadcast(
485
493
  context,
486
494
  intent.component?.className?.hashCode() ?: NotificationsService::class.java.hashCode(),
@@ -77,7 +77,13 @@ class SharedPreferencesNotificationCategoriesStore(context: Context) {
77
77
  notificationCategory.encodedInBase64()
78
78
  )
79
79
  .commit()
80
- .let { if (it) notificationCategory else null }
80
+ .let {
81
+ if (it) {
82
+ notificationCategory
83
+ } else {
84
+ null
85
+ }
86
+ }
81
87
 
82
88
  /**
83
89
  * Removes notification category for the given identifier.
@@ -11,16 +11,13 @@ let nativeTokenPromise = null;
11
11
  throw new UnavailabilityError('ExpoNotifications', 'getDevicePushTokenAsync');
12
12
  }
13
13
  warnOfExpoGoPushUsage();
14
- let devicePushToken;
15
- if (nativeTokenPromise) {
16
- // Reuse existing Promise
17
- devicePushToken = await nativeTokenPromise;
18
- } else {
19
- // Create a new Promise and clear it afterwards
20
- nativeTokenPromise = PushTokenManager.getDevicePushTokenAsync();
21
- devicePushToken = await nativeTokenPromise;
22
- nativeTokenPromise = null;
14
+ if (!nativeTokenPromise) {
15
+ // Share one in-flight native request; clear it once it settles so a rejection can be retried
16
+ nativeTokenPromise = PushTokenManager.getDevicePushTokenAsync().finally(()=>{
17
+ nativeTokenPromise = null;
18
+ });
23
19
  }
20
+ const devicePushToken = await nativeTokenPromise;
24
21
  // @ts-ignore: TS thinks Platform.OS could be anything and can't decide what type is it
25
22
  return {
26
23
  type: Platform.OS,
@@ -1 +1 @@
1
- {"version":3,"sources":["getDevicePushTokenAsync.ts"],"sourcesContent":[null],"names":["UnavailabilityError","Platform","PushTokenManager","warnOfExpoGoPushUsage","nativeTokenPromise","getDevicePushTokenAsync","devicePushToken","type","OS","data"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,QAAQ,QAAQ,OAAO;AAErD,OAAOC,sBAAsB,qBAAqB;AAElD,SAASC,qBAAqB,QAAQ,0BAA0B;AAEhE,IAAIC,qBAA6C;AAEjD;;;;CAIC,GACD,OAAO,eAAeC;IACpB,IAAI,CAACH,iBAAiBG,uBAAuB,EAAE;QAC7C,MAAM,IAAIL,oBAAoB,qBAAqB;IACrD;IACAG;IAEA,IAAIG;IACJ,IAAIF,oBAAoB;QACtB,yBAAyB;QACzBE,kBAAkB,MAAMF;IAC1B,OAAO;QACL,+CAA+C;QAC/CA,qBAAqBF,iBAAiBG,uBAAuB;QAC7DC,kBAAkB,MAAMF;QACxBA,qBAAqB;IACvB;IAEA,uFAAuF;IACvF,OAAO;QAAEG,MAAMN,SAASO,EAAE;QAAEC,MAAMH;IAAgB;AACpD"}
1
+ {"version":3,"sources":["getDevicePushTokenAsync.ts"],"sourcesContent":[null],"names":["UnavailabilityError","Platform","PushTokenManager","warnOfExpoGoPushUsage","nativeTokenPromise","getDevicePushTokenAsync","finally","devicePushToken","type","OS","data"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,QAAQ,QAAQ,OAAO;AAErD,OAAOC,sBAAsB,qBAAqB;AAElD,SAASC,qBAAqB,QAAQ,0BAA0B;AAEhE,IAAIC,qBAA6C;AAEjD;;;;CAIC,GACD,OAAO,eAAeC;IACpB,IAAI,CAACH,iBAAiBG,uBAAuB,EAAE;QAC7C,MAAM,IAAIL,oBAAoB,qBAAqB;IACrD;IACAG;IAEA,IAAI,CAACC,oBAAoB;QACvB,6FAA6F;QAC7FA,qBAAqBF,iBAAiBG,uBAAuB,GAAGC,OAAO,CAAC;YACtEF,qBAAqB;QACvB;IACF;IACA,MAAMG,kBAAkB,MAAMH;IAE9B,uFAAuF;IACvF,OAAO;QAAEI,MAAMP,SAASQ,EAAE;QAAEC,MAAMH;IAAgB;AACpD"}
@@ -35,7 +35,6 @@
35
35
  "publication": {
36
36
  "groupId": "host.exp.exponent",
37
37
  "artifactId": "expo.modules.notifications",
38
- "version": "58.0.8",
39
38
  "repository": "local-maven-repo"
40
39
  }
41
40
  }
@@ -0,0 +1 @@
1
+ 202f39312f5784dfa6a55eb5404e64195751ba5065f2ec34fc465f9914b5ff6d
@@ -0,0 +1 @@
1
+ 45139df00e6abdce6f071c0ef519c9a6d026f33ebbb80d5a495d963628866bcc9d6a9181ae21828a41d85e0b63cf8a7a11083e135133be30f8fba7cf4cba3519
@@ -0,0 +1 @@
1
+ 0216e56114469d9ea6870c8b97b5c96c4a97f1bfa33a61483caeb656a63249e2
@@ -0,0 +1 @@
1
+ a401a078be6a11f57f72d93d27a13c446a4d3d8731418dedcb23215d14056d12fee2ee1ff24592bd0729395cbaeb0e9f5e9cc1aba2cc58b206e95c874d2ace95
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.notifications",
6
- "version": "58.0.8",
6
+ "version": "58.0.10",
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.notifications-58.0.8.aar",
28
- "url": "expo.modules.notifications-58.0.8.aar",
29
- "size": 443440,
30
- "sha512": "bedece83b0d66d2ab1ab694b77b7b381650148364bb5ea16eb29c9a335c56fd70006362303d824e5b3ee8503eb4167fcbded8518e44f025af2007a1247d4be82",
31
- "sha256": "0ff8576cdba721b673d3a0d295601bec8c85b9eca883ac2a94bd1303d26a0afd",
32
- "sha1": "6702104331204ab0a1e7e72d040b862aa2abd9cc",
33
- "md5": "f3f4cc2ac97e7e8c841382680b2f8120"
27
+ "name": "expo.modules.notifications-58.0.10.aar",
28
+ "url": "expo.modules.notifications-58.0.10.aar",
29
+ "size": 443625,
30
+ "sha512": "a401a078be6a11f57f72d93d27a13c446a4d3d8731418dedcb23215d14056d12fee2ee1ff24592bd0729395cbaeb0e9f5e9cc1aba2cc58b206e95c874d2ace95",
31
+ "sha256": "0216e56114469d9ea6870c8b97b5c96c4a97f1bfa33a61483caeb656a63249e2",
32
+ "sha1": "a56e370dfde757989e92ca8f1c9af079bc09b0e9",
33
+ "md5": "a406a45bc5174044f34a32a1c2c61645"
34
34
  }
35
35
  ]
36
36
  },
@@ -136,13 +136,13 @@
136
136
  ],
137
137
  "files": [
138
138
  {
139
- "name": "expo.modules.notifications-58.0.8.aar",
140
- "url": "expo.modules.notifications-58.0.8.aar",
141
- "size": 443440,
142
- "sha512": "bedece83b0d66d2ab1ab694b77b7b381650148364bb5ea16eb29c9a335c56fd70006362303d824e5b3ee8503eb4167fcbded8518e44f025af2007a1247d4be82",
143
- "sha256": "0ff8576cdba721b673d3a0d295601bec8c85b9eca883ac2a94bd1303d26a0afd",
144
- "sha1": "6702104331204ab0a1e7e72d040b862aa2abd9cc",
145
- "md5": "f3f4cc2ac97e7e8c841382680b2f8120"
139
+ "name": "expo.modules.notifications-58.0.10.aar",
140
+ "url": "expo.modules.notifications-58.0.10.aar",
141
+ "size": 443625,
142
+ "sha512": "a401a078be6a11f57f72d93d27a13c446a4d3d8731418dedcb23215d14056d12fee2ee1ff24592bd0729395cbaeb0e9f5e9cc1aba2cc58b206e95c874d2ace95",
143
+ "sha256": "0216e56114469d9ea6870c8b97b5c96c4a97f1bfa33a61483caeb656a63249e2",
144
+ "sha1": "a56e370dfde757989e92ca8f1c9af079bc09b0e9",
145
+ "md5": "a406a45bc5174044f34a32a1c2c61645"
146
146
  }
147
147
  ]
148
148
  },
@@ -156,13 +156,13 @@
156
156
  },
157
157
  "files": [
158
158
  {
159
- "name": "expo.modules.notifications-58.0.8-sources.jar",
160
- "url": "expo.modules.notifications-58.0.8-sources.jar",
161
- "size": 101324,
162
- "sha512": "7295dff37109291d0f618710112bbf012a9aee8caca39ee0972641d2961611dcd6d2827081a9f832219f14ba1b11e3dad831240c241121eb94f060ff65d7b044",
163
- "sha256": "ad24b225f7ff1022d85f0385d70427db1373aa75669ba07a7865b685a47e9a2d",
164
- "sha1": "96f2108882827ddda236800f2894b5af108e72c2",
165
- "md5": "c6937f0e77f6390de302916fd117d4f2"
159
+ "name": "expo.modules.notifications-58.0.10-sources.jar",
160
+ "url": "expo.modules.notifications-58.0.10-sources.jar",
161
+ "size": 101538,
162
+ "sha512": "45139df00e6abdce6f071c0ef519c9a6d026f33ebbb80d5a495d963628866bcc9d6a9181ae21828a41d85e0b63cf8a7a11083e135133be30f8fba7cf4cba3519",
163
+ "sha256": "202f39312f5784dfa6a55eb5404e64195751ba5065f2ec34fc465f9914b5ff6d",
164
+ "sha1": "a29bfe76bb670646b4f76fc4e11825302b4a653d",
165
+ "md5": "f8dfb0595ab9c6b9962812c4189242cc"
166
166
  }
167
167
  ]
168
168
  }
@@ -0,0 +1 @@
1
+ c02fd3f44a24641f6c4ac4e85f7f363eae2215a6bb3cd66ee29244e74de01a85
@@ -0,0 +1 @@
1
+ 0e50199bd84f1ed6eea48a15206d1dcf8189f77234e0d9eab983e0da03ef082d3db0fe0d0d49089ea1d6de74c92831af085d3ca679b5eaee6f3f737d6ed4b0f2
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.notifications</artifactId>
12
- <version>58.0.8</version>
12
+ <version>58.0.10</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.notifications</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ f3579f37dfa62051b8c91ea40b2815f818e90c5c29318843ea51376108f7c9c2
@@ -0,0 +1 @@
1
+ 49fc421659737f4545f4b56c5ea32f0dbb1b911c531f0d8b0ea6c6a3a450192151ba5a081cd5432e68c401c87a6fcacfcf24a7958bea4179d0da4840ef98dc08
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-notifications",
3
- "version": "58.0.8",
3
+ "version": "58.0.10",
4
4
  "description": "Provides an API to fetch push notification tokens and to present, schedule, receive, and respond to notifications.",
5
5
  "keywords": [
6
6
  "expo",
@@ -26,18 +26,18 @@
26
26
  "main": "build/index.js",
27
27
  "types": "build/index.d.ts",
28
28
  "dependencies": {
29
- "@expo/image-utils": "^0.12.1",
29
+ "@expo/image-utils": "^0.12.2",
30
30
  "abort-controller": "^3.0.0",
31
31
  "badgin": "^1.1.5",
32
- "expo-application": "~58.0.1",
33
- "expo-constants": "~58.0.8"
32
+ "expo-application": "~58.0.2",
33
+ "expo-constants": "~58.0.9"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/jest": "^29.2.1",
37
37
  "@types/node": "^22.14.0",
38
38
  "@types/react": "~19.3.0",
39
- "expo": "58.0.0-preview.8",
40
- "expo-module-scripts": "56.0.3",
39
+ "expo": "58.0.1",
40
+ "expo-module-scripts": "56.0.4",
41
41
  "memfs": "^3.2.0"
42
42
  },
43
43
  "peerDependencies": {
@@ -45,8 +45,8 @@
45
45
  "react": "*",
46
46
  "react-native": "*"
47
47
  },
48
- "gitHead": "74f6d2b90bc50bd8df7b160d6e6b2204b37a8ce7",
49
48
  "scripts": {
49
+ "precompile-android": "et prebuild-android-package-for-publish",
50
50
  "build": "pnpm run build:lib && pnpm run build:plugin",
51
51
  "build:lib": "expo-build src",
52
52
  "build:plugin": "expo-build --base plugin cjs:src",
@@ -17,16 +17,13 @@ export async function getDevicePushTokenAsync(): Promise<DevicePushToken> {
17
17
  }
18
18
  warnOfExpoGoPushUsage();
19
19
 
20
- let devicePushToken: string | null;
21
- if (nativeTokenPromise) {
22
- // Reuse existing Promise
23
- devicePushToken = await nativeTokenPromise;
24
- } else {
25
- // Create a new Promise and clear it afterwards
26
- nativeTokenPromise = PushTokenManager.getDevicePushTokenAsync();
27
- devicePushToken = await nativeTokenPromise;
28
- nativeTokenPromise = null;
20
+ if (!nativeTokenPromise) {
21
+ // Share one in-flight native request; clear it once it settles so a rejection can be retried
22
+ nativeTokenPromise = PushTokenManager.getDevicePushTokenAsync().finally(() => {
23
+ nativeTokenPromise = null;
24
+ });
29
25
  }
26
+ const devicePushToken = await nativeTokenPromise;
30
27
 
31
28
  // @ts-ignore: TS thinks Platform.OS could be anything and can't decide what type is it
32
29
  return { type: Platform.OS, data: devicePushToken };
@@ -1 +0,0 @@
1
- ad24b225f7ff1022d85f0385d70427db1373aa75669ba07a7865b685a47e9a2d
@@ -1 +0,0 @@
1
- 7295dff37109291d0f618710112bbf012a9aee8caca39ee0972641d2961611dcd6d2827081a9f832219f14ba1b11e3dad831240c241121eb94f060ff65d7b044
@@ -1 +0,0 @@
1
- 0ff8576cdba721b673d3a0d295601bec8c85b9eca883ac2a94bd1303d26a0afd
@@ -1 +0,0 @@
1
- bedece83b0d66d2ab1ab694b77b7b381650148364bb5ea16eb29c9a335c56fd70006362303d824e5b3ee8503eb4167fcbded8518e44f025af2007a1247d4be82
@@ -1 +0,0 @@
1
- ae19d3eb5b31b71de20668ed4b8a39862b10ebf15c6c506446f8e4e1dec3c655
@@ -1 +0,0 @@
1
- cd72de8e629823ce7923c87df34be6be0e93b217949813534e264b05dac7bcafa1a09df95c95db564a5c5d6c779820481454bca2fd93f6ab90a9ba275453a9c0
@@ -1 +0,0 @@
1
- 2b78a9793238861e0c446b0825fda4d252d6d5499abf3f986420006e2c2c55ab
@@ -1 +0,0 @@
1
- 6c633eb4d1f35b545569b7acbd155d2b42ed8664974dab64969dfa8c4847b2829fb2bff6bc182243f97e1f16778683ede8338df55869b0993990242f50ba106f
@@ -1,13 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <metadata>
3
- <groupId>host.exp.exponent</groupId>
4
- <artifactId>expo.modules.notifications</artifactId>
5
- <versioning>
6
- <latest>58.0.8</latest>
7
- <release>58.0.8</release>
8
- <versions>
9
- <version>58.0.8</version>
10
- </versions>
11
- <lastUpdated>20260928121120</lastUpdated>
12
- </versioning>
13
- </metadata>
@@ -1 +0,0 @@
1
- 9ed8481004f17ff9100ea8d3d63fbaed
@@ -1 +0,0 @@
1
- a73b9a4190996c06838d72d8a6390d75bbcddd19
@@ -1 +0,0 @@
1
- d36dfadb516ab039497740055b37fc23577fb96dcdd13a2ec60a26a8d897cf4a
@@ -1 +0,0 @@
1
- bd23ee7af6a46936af87c677206ce8d9eb9b2b18c64d7d1b2372d6fc09031d2c4106487351b65c90e8e5ea5d1cf0698566c630bee2304b83814aa22fd620b851