expo-screen-orientation 55.0.12 → 55.0.14

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 (38) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/android/build.gradle +2 -2
  3. package/expo-module.config.json +1 -1
  4. package/ios/ScreenOrientationViewController.swift +24 -6
  5. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12.module → 55.0.14/expo.modules.screenorientation-55.0.14.module} +7 -7
  6. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.14/expo.modules.screenorientation-55.0.14.module.md5 +1 -0
  7. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.14/expo.modules.screenorientation-55.0.14.module.sha1 +1 -0
  8. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.14/expo.modules.screenorientation-55.0.14.module.sha256 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.14/expo.modules.screenorientation-55.0.14.module.sha512 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12.pom → 55.0.14/expo.modules.screenorientation-55.0.14.pom} +1 -1
  11. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.14/expo.modules.screenorientation-55.0.14.pom.md5 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.14/expo.modules.screenorientation-55.0.14.pom.sha1 +1 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.14/expo.modules.screenorientation-55.0.14.pom.sha256 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.14/expo.modules.screenorientation-55.0.14.pom.sha512 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/maven-metadata.xml +4 -4
  16. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/maven-metadata.xml.md5 +1 -1
  17. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/maven-metadata.xml.sha1 +1 -1
  18. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/maven-metadata.xml.sha256 +1 -1
  19. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/maven-metadata.xml.sha512 +1 -1
  20. package/package.json +2 -2
  21. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.12/expo.modules.screenorientation-55.0.12.module.md5 +0 -1
  22. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.12/expo.modules.screenorientation-55.0.12.module.sha1 +0 -1
  23. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.12/expo.modules.screenorientation-55.0.12.module.sha256 +0 -1
  24. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.12/expo.modules.screenorientation-55.0.12.module.sha512 +0 -1
  25. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.12/expo.modules.screenorientation-55.0.12.pom.md5 +0 -1
  26. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.12/expo.modules.screenorientation-55.0.12.pom.sha1 +0 -1
  27. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.12/expo.modules.screenorientation-55.0.12.pom.sha256 +0 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/55.0.12/expo.modules.screenorientation-55.0.12.pom.sha512 +0 -1
  29. /package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12-sources.jar → 55.0.14/expo.modules.screenorientation-55.0.14-sources.jar} +0 -0
  30. /package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12-sources.jar.md5 → 55.0.14/expo.modules.screenorientation-55.0.14-sources.jar.md5} +0 -0
  31. /package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12-sources.jar.sha1 → 55.0.14/expo.modules.screenorientation-55.0.14-sources.jar.sha1} +0 -0
  32. /package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12-sources.jar.sha256 → 55.0.14/expo.modules.screenorientation-55.0.14-sources.jar.sha256} +0 -0
  33. /package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12-sources.jar.sha512 → 55.0.14/expo.modules.screenorientation-55.0.14-sources.jar.sha512} +0 -0
  34. /package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12.aar → 55.0.14/expo.modules.screenorientation-55.0.14.aar} +0 -0
  35. /package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12.aar.md5 → 55.0.14/expo.modules.screenorientation-55.0.14.aar.md5} +0 -0
  36. /package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12.aar.sha1 → 55.0.14/expo.modules.screenorientation-55.0.14.aar.sha1} +0 -0
  37. /package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12.aar.sha256 → 55.0.14/expo.modules.screenorientation-55.0.14.aar.sha256} +0 -0
  38. /package/local-maven-repo/host/exp/exponent/expo.modules.screenorientation/{55.0.12/expo.modules.screenorientation-55.0.12.aar.sha512 → 55.0.14/expo.modules.screenorientation-55.0.14.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,16 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 55.0.14 — 2026-05-04
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - [iOS] Fixed per-screen orientation not working with expo-dev-client by searching child VCs for react-native-screens orientation when an intermediate VC blocks the traversal. ([#44181](https://github.com/expo/expo/pull/44181) by [@vonovak](https://github.com/vonovak))
18
+
19
+ ## 55.0.13 — 2026-04-09
20
+
21
+ _This version does not introduce any user-facing changes._
22
+
13
23
  ## 55.0.12 — 2026-04-07
14
24
 
15
25
  _This version does not introduce any user-facing changes._
@@ -4,12 +4,12 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '55.0.12'
7
+ version = '55.0.14'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.screenorientation"
11
11
  defaultConfig {
12
12
  versionCode 7
13
- versionName '55.0.12'
13
+ versionName '55.0.14'
14
14
  }
15
15
  }
@@ -10,7 +10,7 @@
10
10
  "publication": {
11
11
  "groupId": "host.exp.exponent",
12
12
  "artifactId": "expo.modules.screenorientation",
13
- "version": "55.0.12",
13
+ "version": "55.0.14",
14
14
  "repository": "local-maven-repo"
15
15
  }
16
16
  }
@@ -64,9 +64,15 @@ class ScreenOrientationViewController: UIViewController {
64
64
  }
65
65
 
66
66
  override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
67
- guard !shouldUseRNScreenOrientation() else {
68
- return super.supportedInterfaceOrientations
67
+ if let vc = vcWithRNScreenOrientation() {
68
+ // react-native-screens has per-screen orientation set. Return that VC's
69
+ // supportedInterfaceOrientations — which RNScreens has swizzled to resolve
70
+ // the active screen's orientation mask.
71
+ return vc.supportedInterfaceOrientations
69
72
  }
73
+
74
+ // No react-native-screens orientation — use expo-screen-orientation's registry mask
75
+ // (set via lockAsync) or the default from Info.plist.
70
76
  let mask = screenOrientationRegistry.requiredOrientationMask()
71
77
  return !mask.isEmpty ? mask : defaultOrientationMask
72
78
  }
@@ -92,12 +98,24 @@ class ScreenOrientationViewController: UIViewController {
92
98
  })
93
99
  }
94
100
 
95
- private func shouldUseRNScreenOrientation() -> Bool {
96
- // If RNScreens has set the orientation we want to use it instead of our orientation
101
+ /// Finds the VC whose subtree has a react-native-screens screen with orientation set.
102
+ /// Checks self first (the common case), then each child VC. The child-level search handles
103
+ /// cases where an intermediate VC (e.g. DevLauncherViewController from expo-dev-client)
104
+ /// sits between this root VC and the RNSNavigationController, blocking the single-level
105
+ /// traversal that RNScreens' shouldAskScreensForScreenOrientation performs.
106
+ private func vcWithRNScreenOrientation() -> UIViewController? {
97
107
  guard let screenWindowTraitsClass = NSClassFromString("RNSScreenWindowTraits") else {
98
- return false
108
+ return nil
109
+ }
110
+ if screenWindowTraitsClass.shouldAskScreensForScreenOrientation?(in: self) ?? false {
111
+ return self
112
+ }
113
+ for child in children {
114
+ if screenWindowTraitsClass.shouldAskScreensForScreenOrientation?(in: child) ?? false {
115
+ return child
116
+ }
99
117
  }
100
- return screenWindowTraitsClass.shouldAskScreensForScreenOrientation?(in: self) ?? false
118
+ return nil
101
119
  }
102
120
 
103
121
  /**
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.screenorientation",
6
- "version": "55.0.12",
6
+ "version": "55.0.14",
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.screenorientation-55.0.12.aar",
28
- "url": "expo.modules.screenorientation-55.0.12.aar",
27
+ "name": "expo.modules.screenorientation-55.0.14.aar",
28
+ "url": "expo.modules.screenorientation-55.0.14.aar",
29
29
  "size": 36365,
30
30
  "sha512": "79b78c175584bffc9070c529309e89373b6a0296abeecfb2153b23662326ef1d045f940985aaf4fad2b31941c5157974b79c2836cdfc66b05ed574d681028eee",
31
31
  "sha256": "d6772ad24c27669f8d32e5179d91f63854c9f04fdb856021a918f2b41af6653d",
@@ -53,8 +53,8 @@
53
53
  ],
54
54
  "files": [
55
55
  {
56
- "name": "expo.modules.screenorientation-55.0.12.aar",
57
- "url": "expo.modules.screenorientation-55.0.12.aar",
56
+ "name": "expo.modules.screenorientation-55.0.14.aar",
57
+ "url": "expo.modules.screenorientation-55.0.14.aar",
58
58
  "size": 36365,
59
59
  "sha512": "79b78c175584bffc9070c529309e89373b6a0296abeecfb2153b23662326ef1d045f940985aaf4fad2b31941c5157974b79c2836cdfc66b05ed574d681028eee",
60
60
  "sha256": "d6772ad24c27669f8d32e5179d91f63854c9f04fdb856021a918f2b41af6653d",
@@ -73,8 +73,8 @@
73
73
  },
74
74
  "files": [
75
75
  {
76
- "name": "expo.modules.screenorientation-55.0.12-sources.jar",
77
- "url": "expo.modules.screenorientation-55.0.12-sources.jar",
76
+ "name": "expo.modules.screenorientation-55.0.14-sources.jar",
77
+ "url": "expo.modules.screenorientation-55.0.14-sources.jar",
78
78
  "size": 5194,
79
79
  "sha512": "e06be0d0236539250b81b1d5670d89f70600b03c82fa53c245602afdcb2bab06d04d42e6dd85e9686867d069a8b09dd3fbc04f562bc1760e33f68ea614b2ec42",
80
80
  "sha256": "d63ace679c73e409ffd1706ac43973134e9151254bf644d73a33c27539db1037",
@@ -0,0 +1 @@
1
+ e17b22f531bb6d0e9ffe05107c15110bc04649a93a16a8ccc6d8d91bc73129ce
@@ -0,0 +1 @@
1
+ f455810c4f835452ed00eb0142ed6148669301cd6da3243e23cda96a14bd82a1ecc1489f643cf185f80aa9a84670aba618701e4d3a457aac6fd8d77d59009d69
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.screenorientation</artifactId>
12
- <version>55.0.12</version>
12
+ <version>55.0.14</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.screenorientation</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ d693da33f67a9bbd0f8c868dab58d31f1c301a2c65130c9048056197c7125aba
@@ -0,0 +1 @@
1
+ cb631dcfdbf9f892235702fb98af7f8ba0cac7538447fc3291fcf219ee24ee523631bce7dffb857902997b976b49a9bb1d75190721196602aeaca1836682e6d9
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.screenorientation</artifactId>
5
5
  <versioning>
6
- <latest>55.0.12</latest>
7
- <release>55.0.12</release>
6
+ <latest>55.0.14</latest>
7
+ <release>55.0.14</release>
8
8
  <versions>
9
- <version>55.0.12</version>
9
+ <version>55.0.14</version>
10
10
  </versions>
11
- <lastUpdated>20260407091542</lastUpdated>
11
+ <lastUpdated>20260504210931</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- b76001b9bb89f732500df0394c6fbbe2
1
+ 1df392e56fe4035d39f58f2dc29b1032
@@ -1 +1 @@
1
- a673d228b5023589cc5b4c2b2c9f2d39a35b5b4f
1
+ 6c6ba2907a18d37fd77cd36b968d1f02feab8904
@@ -1 +1 @@
1
- b0fabb184c5c86039216b5d9ef6d632cdff5a6be114049416e9b430e2abe55b0
1
+ 8d9c10a7f75378e5f5c34c3e92f7b8242fc0abf6dcf5334b28a1cc6f286aee13
@@ -1 +1 @@
1
- ae7cd4e228ab91161c00835e58eeeda39f3030d32018826ac85596ee929f0cc7c1a51ccbb3d39fed3e343dcdd67198c206ae3e62e93367d50c4f0eff15422a88
1
+ 5b71a11499532e74e55939039cac1beaa9bb08dfbcfa8896dba55f161b5b27726f68a5a1d604284cdb38b5759f45a6b789a5bc7cda9f90827416149a3b9827ec
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-screen-orientation",
3
- "version": "55.0.12",
3
+ "version": "55.0.14",
4
4
  "description": "Expo universal module for managing device's screen orientation",
5
5
  "main": "build/ScreenOrientation.js",
6
6
  "types": "build/ScreenOrientation.d.ts",
@@ -42,5 +42,5 @@
42
42
  "expo": "*",
43
43
  "react-native": "*"
44
44
  },
45
- "gitHead": "f35977db4ffc6bbc2b295d65a8d74e9fd4f24ecb"
45
+ "gitHead": "6ab08fe32823d60ad90b3ca2821b4d99a3ae06e9"
46
46
  }
@@ -1 +0,0 @@
1
- 736978a82a8dbd975e3d13f998f631596af7ea7ef2f6dbf2a4eead4bb0c2d2f9
@@ -1 +0,0 @@
1
- b9458bfc847f1954a21212278ed24af807c207d4a5de70ea999b879f56b89cb63e9cfb16fc8f31ecf71d6724b34af8ed82d4eb2d20f48892f69424ed5a8a9490
@@ -1 +0,0 @@
1
- c75c35fb5c663475e88295af30533db9eab80a032db34b8880e7e7aec5cefa8f
@@ -1 +0,0 @@
1
- 197571ea9b574912f5976cb86018ea0cc45e8fb57a4a773309c213248512869c34503611089455bb401cccf0d69a27c556520ce0a53b7efb53b3defaf2b38d96