expo-notifications 0.32.12-canary-20250912-b5ce2a8 → 0.32.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 (40) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/android/build.gradle +2 -2
  3. package/expo-module.config.json +1 -1
  4. package/ios/EXNotifications/PushToken/PushTokenModule.swift +7 -0
  5. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.module → 0.32.12/expo.modules.notifications-0.32.12.module} +7 -7
  6. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12/expo.modules.notifications-0.32.12.module.md5 +1 -0
  7. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12/expo.modules.notifications-0.32.12.module.sha1 +1 -0
  8. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12/expo.modules.notifications-0.32.12.module.sha256 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12/expo.modules.notifications-0.32.12.module.sha512 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.pom → 0.32.12/expo.modules.notifications-0.32.12.pom} +1 -1
  11. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12/expo.modules.notifications-0.32.12.pom.md5 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12/expo.modules.notifications-0.32.12.pom.sha1 +1 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12/expo.modules.notifications-0.32.12.pom.sha256 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12/expo.modules.notifications-0.32.12.pom.sha512 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml +4 -4
  16. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.md5 +1 -1
  17. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.sha1 +1 -1
  18. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.sha256 +1 -1
  19. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/maven-metadata.xml.sha512 +1 -1
  20. package/package.json +9 -7
  21. package/plugin/build/withNotificationsAndroid.js +3 -1
  22. package/plugin/src/withNotificationsAndroid.ts +7 -3
  23. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.module.md5 +0 -1
  24. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.module.sha1 +0 -1
  25. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.module.sha256 +0 -1
  26. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.module.sha512 +0 -1
  27. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.pom.md5 +0 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.pom.sha1 +0 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.pom.sha256 +0 -1
  30. package/local-maven-repo/host/exp/exponent/expo.modules.notifications/0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.pom.sha512 +0 -1
  31. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8-sources.jar → 0.32.12/expo.modules.notifications-0.32.12-sources.jar} +0 -0
  32. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8-sources.jar.md5 → 0.32.12/expo.modules.notifications-0.32.12-sources.jar.md5} +0 -0
  33. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8-sources.jar.sha1 → 0.32.12/expo.modules.notifications-0.32.12-sources.jar.sha1} +0 -0
  34. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8-sources.jar.sha256 → 0.32.12/expo.modules.notifications-0.32.12-sources.jar.sha256} +0 -0
  35. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8-sources.jar.sha512 → 0.32.12/expo.modules.notifications-0.32.12-sources.jar.sha512} +0 -0
  36. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.aar → 0.32.12/expo.modules.notifications-0.32.12.aar} +0 -0
  37. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.aar.md5 → 0.32.12/expo.modules.notifications-0.32.12.aar.md5} +0 -0
  38. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.aar.sha1 → 0.32.12/expo.modules.notifications-0.32.12.aar.sha1} +0 -0
  39. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.aar.sha256 → 0.32.12/expo.modules.notifications-0.32.12.aar.sha256} +0 -0
  40. /package/local-maven-repo/host/exp/exponent/expo.modules.notifications/{0.32.12-canary-20250912-b5ce2a8/expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.aar.sha512 → 0.32.12/expo.modules.notifications-0.32.12.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,13 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 0.32.12 — 2025-10-01
14
+
15
+ ### 💡 Others
16
+
17
+ - add a warning for getDevicePushTokenAsync on iOS simulators ([#40028](https://github.com/expo/expo/pull/40028) by [@vonovak](https://github.com/vonovak))
18
+ - validate sound resource names with `assertValidAndroidAssetName` from `expo/config-plugins` ([#39883](https://github.com/expo/expo/pull/39883) by [@vonovak](https://github.com/vonovak))
19
+
13
20
  ## 0.32.11 — 2025-09-11
14
21
 
15
22
  _This version does not introduce any user-facing changes._
@@ -5,13 +5,13 @@ plugins {
5
5
  }
6
6
 
7
7
  group = 'host.exp.exponent'
8
- version = '0.32.12-canary-20250912-b5ce2a8'
8
+ version = '0.32.12'
9
9
 
10
10
  android {
11
11
  namespace "expo.modules.notifications"
12
12
  defaultConfig {
13
13
  versionCode 21
14
- versionName '0.32.12-canary-20250912-b5ce2a8'
14
+ versionName '0.32.12'
15
15
  testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
16
16
  }
17
17
 
@@ -33,7 +33,7 @@
33
33
  "publication": {
34
34
  "groupId": "host.exp.exponent",
35
35
  "artifactId": "expo.modules.notifications",
36
- "version": "0.32.12-canary-20250912-b5ce2a8",
36
+ "version": "0.32.12",
37
37
  "repository": "local-maven-repo"
38
38
  }
39
39
  }
@@ -30,6 +30,12 @@ To obtain the push token, await the result of the newer call.
30
30
  """
31
31
  existingPromise.reject("E_PROMISE_REPLACED", message)
32
32
  }
33
+
34
+ #if targetEnvironment(simulator)
35
+ if let appContext = appContext {
36
+ appContext.jsLogger.warn("expo-notifications: obtaining a push token may not work on iOS simulators due to an iOS issue. To obtain a push token, use a real device. Read more: https://developer.apple.com/forums/thread/795433")
37
+ }
38
+ #endif
33
39
  promiseNotYetResolved = promise
34
40
  UIApplication.shared.registerForRemoteNotifications()
35
41
  }
@@ -52,3 +58,4 @@ To obtain the push token, await the result of the newer call.
52
58
  promiseNotYetResolved = nil
53
59
  }
54
60
  }
61
+
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.notifications",
6
- "version": "0.32.12-canary-20250912-b5ce2a8",
6
+ "version": "0.32.12",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.aar",
28
- "url": "expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.aar",
27
+ "name": "expo.modules.notifications-0.32.12.aar",
28
+ "url": "expo.modules.notifications-0.32.12.aar",
29
29
  "size": 385184,
30
30
  "sha512": "75fcafe2e4fc8e91394b5f2068b4e85ee3212a75af260727f242c63aa0290db4dc890a1b9ff60bda008bee9d6c3d947c0c32364473925778884115281f1ddc67",
31
31
  "sha256": "b88d228f0b12d4d4368ffd0d703b032c0b384fd31773f424ab2817ec8a609878",
@@ -122,8 +122,8 @@
122
122
  ],
123
123
  "files": [
124
124
  {
125
- "name": "expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.aar",
126
- "url": "expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8.aar",
125
+ "name": "expo.modules.notifications-0.32.12.aar",
126
+ "url": "expo.modules.notifications-0.32.12.aar",
127
127
  "size": 385184,
128
128
  "sha512": "75fcafe2e4fc8e91394b5f2068b4e85ee3212a75af260727f242c63aa0290db4dc890a1b9ff60bda008bee9d6c3d947c0c32364473925778884115281f1ddc67",
129
129
  "sha256": "b88d228f0b12d4d4368ffd0d703b032c0b384fd31773f424ab2817ec8a609878",
@@ -142,8 +142,8 @@
142
142
  },
143
143
  "files": [
144
144
  {
145
- "name": "expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8-sources.jar",
146
- "url": "expo.modules.notifications-0.32.12-canary-20250912-b5ce2a8-sources.jar",
145
+ "name": "expo.modules.notifications-0.32.12-sources.jar",
146
+ "url": "expo.modules.notifications-0.32.12-sources.jar",
147
147
  "size": 99407,
148
148
  "sha512": "3f440b5ad0a2bc1e931aeee41a90e73a01fcfb49151052c2dda06d7fee844fa89e0279562e931009ccc6d4dcc21b3da0d3c9d8eba0a9dc9c04771570d79845fd",
149
149
  "sha256": "2674c7c733ba0f80e0d2b10696cc21141756c0d32100db7c96c942573bc9afde",
@@ -0,0 +1 @@
1
+ 9a1cf3698c7c13957bf8e83c9d0383be0e0d3ffa13ca0da9b1c188c6cdc7a1c0
@@ -0,0 +1 @@
1
+ 1d504ca5bce24420b89756ec88cc957b1bd946ceb1f50ff1c058f8cd77b20a92066127961ea3ea960b06918c6fb957899454586fe418ada733f3334780756a4a
@@ -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>0.32.12-canary-20250912-b5ce2a8</version>
12
+ <version>0.32.12</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
+ 958c335d2230a7e0cb51151d0abefc891316e2e8dada16a27fbdbec9abd6d45e
@@ -0,0 +1 @@
1
+ 11044b1d41da5b3730b968571514863207519b552ba8b6481776753df18d1bbcb45f5dc1271a27b96dd5e9299b6eb2d5a5d49ff6d948e3cda56b7f098d2b9a78
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.notifications</artifactId>
5
5
  <versioning>
6
- <latest>0.32.12-canary-20250912-b5ce2a8</latest>
7
- <release>0.32.12-canary-20250912-b5ce2a8</release>
6
+ <latest>0.32.12</latest>
7
+ <release>0.32.12</release>
8
8
  <versions>
9
- <version>0.32.12-canary-20250912-b5ce2a8</version>
9
+ <version>0.32.12</version>
10
10
  </versions>
11
- <lastUpdated>20250912124658</lastUpdated>
11
+ <lastUpdated>20251001002204</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- a1dd122d04746b9bab14e530e8528315
1
+ 3fbbcc7910d0557bd7c613201a77f0bb
@@ -1 +1 @@
1
- 4fa7ae9737a59bd1a0a676884e57ccf551d4b9ee
1
+ f51f126a53cad4c9d01c3a61c5229e36aa38a4d2
@@ -1 +1 @@
1
- 2d2f11e2be352a26d7138e7dbed5e0d851f9f1834db803b4d31c726ef4793d19
1
+ 0ec338cff460b6079bbb64c3538d4d20a4cfa09269df71f9dc06635503d432ea
@@ -1 +1 @@
1
- 9fa085dde1f61c61312155235d1f3cc303986ea06072c2f040760037b376150dc8ec6951bed99c7767aa12ee066c21e245ee96da9dc9571a415d723fc92501a2
1
+ 6706025be5fcf26815c2b2f2fb28374f3ed8fbdc13793cc8071d3ee4ec07a3e6c337c10d0cfaf0bb05eaf8c1d37be010209c9697cc52535d195f658c968ac618
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-notifications",
3
- "version": "0.32.12-canary-20250912-b5ce2a8",
3
+ "version": "0.32.12",
4
4
  "description": "Provides an API to fetch push notification tokens and to present, schedule, receive, and respond to notifications.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -9,6 +9,7 @@
9
9
  ],
10
10
  "scripts": {
11
11
  "build": "expo-module build",
12
+ "build:plugin": "expo-module build plugin",
12
13
  "clean": "expo-module clean",
13
14
  "lint": "expo-module lint",
14
15
  "test": "expo-module test",
@@ -42,21 +43,22 @@
42
43
  ]
43
44
  },
44
45
  "dependencies": {
45
- "@expo/image-utils": "0.8.8-canary-20250912-b5ce2a8",
46
+ "@expo/image-utils": "^0.8.7",
46
47
  "@ide/backoff": "^1.0.0",
47
48
  "abort-controller": "^3.0.0",
48
49
  "assert": "^2.0.0",
49
50
  "badgin": "^1.1.5",
50
- "expo-application": "7.0.8-canary-20250912-b5ce2a8",
51
- "expo-constants": "18.0.9-canary-20250912-b5ce2a8"
51
+ "expo-application": "~7.0.7",
52
+ "expo-constants": "~18.0.9"
52
53
  },
53
54
  "devDependencies": {
54
- "expo-module-scripts": "5.0.8-canary-20250912-b5ce2a8",
55
+ "expo-module-scripts": "^5.0.7",
55
56
  "memfs": "^3.2.0"
56
57
  },
57
58
  "peerDependencies": {
58
- "expo": "55.0.0-canary-20250912-b5ce2a8",
59
+ "expo": "*",
59
60
  "react": "*",
60
61
  "react-native": "*"
61
- }
62
+ },
63
+ "gitHead": "1ab3b9621b78b77b81049ebf06149753a1e0898c"
62
64
  }
@@ -174,9 +174,11 @@ function setNotificationSounds(projectRoot, sounds) {
174
174
  * there isn't already an existing file under that name.
175
175
  */
176
176
  function writeNotificationSoundFile(soundFileRelativePath, projectRoot) {
177
- const rawResourcesPath = (0, path_1.resolve)(projectRoot, exports.ANDROID_RES_PATH, 'raw');
178
177
  const inputFilename = (0, path_1.basename)(soundFileRelativePath);
179
178
  if (inputFilename) {
179
+ const nameWithoutExt = (0, path_1.parse)(inputFilename).name;
180
+ (0, config_plugins_1.assertValidAndroidAssetName)(nameWithoutExt, 'expo-notifications');
181
+ const rawResourcesPath = (0, path_1.resolve)(projectRoot, exports.ANDROID_RES_PATH, 'raw');
180
182
  try {
181
183
  const sourceFilepath = (0, path_1.resolve)(projectRoot, soundFileRelativePath);
182
184
  const destinationFilepath = (0, path_1.resolve)(rawResourcesPath, inputFilename);
@@ -6,9 +6,10 @@ import {
6
6
  withDangerousMod,
7
7
  withAndroidColors,
8
8
  withAndroidManifest,
9
+ assertValidAndroidAssetName,
9
10
  } from 'expo/config-plugins';
10
11
  import { writeFileSync, unlinkSync, copyFileSync, existsSync, mkdirSync } from 'fs';
11
- import { basename, resolve } from 'path';
12
+ import { basename, resolve, parse } from 'path';
12
13
 
13
14
  import { NotificationsPluginProps } from './withNotifications';
14
15
 
@@ -230,7 +231,6 @@ function removeNotificationIconImageFiles(projectRoot: string) {
230
231
  }
231
232
  });
232
233
  }
233
-
234
234
  /**
235
235
  * Save sound files to `<project-root>/android/app/src/main/res/raw`
236
236
  */
@@ -241,6 +241,7 @@ export function setNotificationSounds(projectRoot: string, sounds: string[]) {
241
241
  `Must provide an array of sound files in your app config, found ${typeof sounds}.`
242
242
  );
243
243
  }
244
+
244
245
  for (const soundFileRelativePath of sounds) {
245
246
  writeNotificationSoundFile(soundFileRelativePath, projectRoot);
246
247
  }
@@ -251,10 +252,13 @@ export function setNotificationSounds(projectRoot: string, sounds: string[]) {
251
252
  * there isn't already an existing file under that name.
252
253
  */
253
254
  function writeNotificationSoundFile(soundFileRelativePath: string, projectRoot: string) {
254
- const rawResourcesPath = resolve(projectRoot, ANDROID_RES_PATH, 'raw');
255
255
  const inputFilename = basename(soundFileRelativePath);
256
256
 
257
257
  if (inputFilename) {
258
+ const nameWithoutExt = parse(inputFilename).name;
259
+ assertValidAndroidAssetName(nameWithoutExt, 'expo-notifications');
260
+ const rawResourcesPath = resolve(projectRoot, ANDROID_RES_PATH, 'raw');
261
+
258
262
  try {
259
263
  const sourceFilepath = resolve(projectRoot, soundFileRelativePath);
260
264
  const destinationFilepath = resolve(rawResourcesPath, inputFilename);
@@ -1 +0,0 @@
1
- 84045a110e8946f0a28980c17d17b7012c8aaa3540f8339c8fc6cf4ae60ef879846ff4e4a3661c1306a4f114b58549c9da3368760073c1c38febe3ce76981e11
@@ -1 +0,0 @@
1
- 24f18c8128292d529e78e92ce92b3a8e753a79d84b222d124127caf07ad2e5c7594a836a63c71a9b31f20a59cdd6707eb2b4e0d400835fe54a48f8d0bf7839b9