Skip to content

Commit a01e5a8

Browse files
committed
Merge branch 'main' into @kligarski/add-e2e-tests
2 parents 4af3875 + 65f6e92 commit a01e5a8

29 files changed

Lines changed: 778 additions & 475 deletions

.github/workflows/android-e2e-test.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,11 @@ jobs:
6060
run: yarn
6161

6262
- name: Install AVD dependencies
63+
# libxkbfile1 is removed by "Free Disk Space (Ubuntu)" step first. Here we install it again
64+
# as it seems to be needed by the emulator.
6365
run: |
6466
sudo apt update
65-
sudo apt-get install -y libpulse0 libgl1
67+
sudo apt-get install -y libpulse0 libgl1 libxkbfile1
6668
6769
- name: Build app
6870
working-directory: ${{ env.WORKING_DIRECTORY }}

Example/ios/Podfile.lock

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1550,7 +1550,7 @@ PODS:
15501550
- ReactCommon/turbomodule/bridging
15511551
- ReactCommon/turbomodule/core
15521552
- Yoga
1553-
- RNReanimated (4.0.0-nightly-20250218-e5a0cdf69):
1553+
- RNReanimated (3.17.1):
15541554
- DoubleConversion
15551555
- glog
15561556
- hermes-engine
@@ -1572,10 +1572,10 @@ PODS:
15721572
- ReactCodegen
15731573
- ReactCommon/turbomodule/bridging
15741574
- ReactCommon/turbomodule/core
1575-
- RNReanimated/reanimated (= 4.0.0-nightly-20250218-e5a0cdf69)
1576-
- RNReanimated/worklets (= 4.0.0-nightly-20250218-e5a0cdf69)
1575+
- RNReanimated/reanimated (= 3.17.1)
1576+
- RNReanimated/worklets (= 3.17.1)
15771577
- Yoga
1578-
- RNReanimated/reanimated (4.0.0-nightly-20250218-e5a0cdf69):
1578+
- RNReanimated/reanimated (3.17.1):
15791579
- DoubleConversion
15801580
- glog
15811581
- hermes-engine
@@ -1597,9 +1597,9 @@ PODS:
15971597
- ReactCodegen
15981598
- ReactCommon/turbomodule/bridging
15991599
- ReactCommon/turbomodule/core
1600-
- RNReanimated/reanimated/apple (= 4.0.0-nightly-20250218-e5a0cdf69)
1600+
- RNReanimated/reanimated/apple (= 3.17.1)
16011601
- Yoga
1602-
- RNReanimated/reanimated/apple (4.0.0-nightly-20250218-e5a0cdf69):
1602+
- RNReanimated/reanimated/apple (3.17.1):
16031603
- DoubleConversion
16041604
- glog
16051605
- hermes-engine
@@ -1622,7 +1622,7 @@ PODS:
16221622
- ReactCommon/turbomodule/bridging
16231623
- ReactCommon/turbomodule/core
16241624
- Yoga
1625-
- RNReanimated/worklets (4.0.0-nightly-20250218-e5a0cdf69):
1625+
- RNReanimated/worklets (3.17.1):
16261626
- DoubleConversion
16271627
- glog
16281628
- hermes-engine
@@ -1644,9 +1644,9 @@ PODS:
16441644
- ReactCodegen
16451645
- ReactCommon/turbomodule/bridging
16461646
- ReactCommon/turbomodule/core
1647-
- RNReanimated/worklets/apple (= 4.0.0-nightly-20250218-e5a0cdf69)
1647+
- RNReanimated/worklets/apple (= 3.17.1)
16481648
- Yoga
1649-
- RNReanimated/worklets/apple (4.0.0-nightly-20250218-e5a0cdf69):
1649+
- RNReanimated/worklets/apple (3.17.1):
16501650
- DoubleConversion
16511651
- glog
16521652
- hermes-engine
@@ -1669,7 +1669,7 @@ PODS:
16691669
- ReactCommon/turbomodule/bridging
16701670
- ReactCommon/turbomodule/core
16711671
- Yoga
1672-
- RNScreens (4.7.0):
1672+
- RNScreens (4.10.0-beta.2):
16731673
- DoubleConversion
16741674
- glog
16751675
- hermes-engine
@@ -1987,8 +1987,8 @@ SPEC CHECKSUMS:
19871987
ReactCodegen: d3c2ea01d0f9eb6c3e5de3ad94ad2fc309465861
19881988
ReactCommon: 179964ffc47fa62ad0e1eebac704e88c59b46667
19891989
RNGestureHandler: 8b33b2c5688a54fcce223d184753757da498235c
1990-
RNReanimated: 4b99666c4ec2ecce0190b523cd733cae7b895d51
1991-
RNScreens: 3c663a4dd2df363ecc45cf7423ef8efa3bfcacf5
1990+
RNReanimated: f9bc911c24a63fc17e721302e1bca07fdedd9241
1991+
RNScreens: 8e23e16f57a7aa99391ab2fbe31175f87753f3fc
19921992
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
19931993
Yoga: 330be28eee1242da875db9e851b19a4df496b999
19941994

Example/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"react": "19.0.0",
3030
"react-native": "0.78.0-rc.5",
3131
"react-native-gesture-handler": "2.22.0",
32-
"react-native-reanimated": "^4.0.0-nightly-20250218-e5a0cdf69",
32+
"react-native-reanimated": "3.17.1",
3333
"react-native-restart": "^0.0.27",
3434
"react-native-safe-area-context": "5.1.0",
3535
"react-native-screens": "link:../"

Example/yarn.lock

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3061,7 +3061,7 @@ __metadata:
30613061
react-native: "npm:0.78.0-rc.5"
30623062
react-native-codegen: "npm:^0.71.3"
30633063
react-native-gesture-handler: "npm:2.22.0"
3064-
react-native-reanimated: "npm:^4.0.0-nightly-20250218-e5a0cdf69"
3064+
react-native-reanimated: "npm:3.17.1"
30653065
react-native-restart: "npm:^0.0.27"
30663066
react-native-safe-area-context: "npm:5.1.0"
30673067
react-native-screens: "link:../"
@@ -8832,9 +8832,19 @@ __metadata:
88328832
languageName: node
88338833
linkType: hard
88348834

8835-
"react-native-reanimated@npm:^4.0.0-nightly-20250218-e5a0cdf69":
8836-
version: 4.0.0-nightly-20250218-e5a0cdf69
8837-
resolution: "react-native-reanimated@npm:4.0.0-nightly-20250218-e5a0cdf69"
8835+
"react-native-is-edge-to-edge@npm:1.1.6":
8836+
version: 1.1.6
8837+
resolution: "react-native-is-edge-to-edge@npm:1.1.6"
8838+
peerDependencies:
8839+
react: ">=18.2.0"
8840+
react-native: ">=0.73.0"
8841+
checksum: 10c0/5690e521e8310d21643634a8d0dacd524e19b76695f347b26f649fcac156a7a901fd6daef7f78482381a41e8445f4552f40ade13790fdf112fab15b0f54dbabd
8842+
languageName: node
8843+
linkType: hard
8844+
8845+
"react-native-reanimated@npm:3.17.1":
8846+
version: 3.17.1
8847+
resolution: "react-native-reanimated@npm:3.17.1"
88388848
dependencies:
88398849
"@babel/plugin-transform-arrow-functions": "npm:^7.0.0-0"
88408850
"@babel/plugin-transform-class-properties": "npm:^7.0.0-0"
@@ -8847,11 +8857,12 @@ __metadata:
88478857
"@babel/preset-typescript": "npm:^7.16.7"
88488858
convert-source-map: "npm:^2.0.0"
88498859
invariant: "npm:^2.2.4"
8860+
react-native-is-edge-to-edge: "npm:1.1.6"
88508861
peerDependencies:
88518862
"@babel/core": ^7.0.0-0
88528863
react: "*"
88538864
react-native: "*"
8854-
checksum: 10c0/7c483675cfc5bed5cc2729ddd3566dffc927cb14a7990218ad223c8e86ae7d89d10896d1423bac7ec297a71ba166ffb837d59771d009f75d0f314e1e5f61a50a
8865+
checksum: 10c0/da4f653a675816eb0b3502aa5029c21ec4ec8889bcbbbbc174d567db1c05d9529d638a22c2e4085bf5a97ad2e184988d64cfa9b77774cb32322f29ab4e6c2585
88558866
languageName: node
88568867
linkType: hard
88578868

FabricExample/e2e/examplesTests/events.e2e.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ const pressBack = async () => {
1212

1313
const awaitClassicalEventBehavior = async () => {
1414
if (device.getPlatform() === 'ios') {
15+
// The order of events in this test differs from the Paper version of the same test.
16+
// Please see https://github.com/software-mansion/react-native-screens/pull/2785 for details.
1517
await expect(
1618
element(by.text('9. Chats | transitionStart | closing')),
1719
).toExist();
@@ -21,14 +23,14 @@ const awaitClassicalEventBehavior = async () => {
2123
await expect(
2224
element(by.text('11. Main | transitionStart | opening')),
2325
).toExist();
26+
await expect(element(by.text('12. Privacy | beforeRemove'))).toExist();
27+
await expect(element(by.text('13. Chats | beforeRemove'))).toExist();
2428
await expect(
25-
element(by.text('12. Chats | transitionEnd | closing')),
29+
element(by.text('14. Chats | transitionEnd | closing')),
2630
).toExist();
2731
await expect(
28-
element(by.text('13. Privacy | transitionEnd | closing')),
32+
element(by.text('15. Privacy | transitionEnd | closing')),
2933
).toExist();
30-
await expect(element(by.text('14. Privacy | beforeRemove'))).toExist();
31-
await expect(element(by.text('15. Chats | beforeRemove'))).toExist();
3234
await expect(
3335
element(by.text('16. Main | transitionEnd | opening')),
3436
).toExist();

FabricExample/ios/Podfile.lock

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2069,13 +2069,13 @@ SPEC CHECKSUMS:
20692069
React-RuntimeHermes: eff796dfd1df04f9f2cd8b37be37a47d90a4ab4c
20702070
React-runtimescheduler: 4bd885d85b7841b823c2164725c959c6dbc0fd4e
20712071
React-timing: ddfc36f45351e851633b857cf75eb167e119d3b7
2072-
React-utils: d1482eca4f773398cf0bdb0b99283e16dc710a96
2073-
ReactAppDependencyProvider: e7d2fe30cf4bb2090d5bea9b4ca29dd8e548ed71
2074-
ReactCodegen: 87717e46389a7c2f57866d8ee66c8955bb41d986
2075-
ReactCommon: bd1703fa1b6b6ccb2494bed17caf93f1861ce315
2076-
RNGestureHandler: 70069ab3e0431b03f6e465b65745f87a1a02c6c0
2077-
RNReanimated: bc7be90dec8df273a2d14da13a64f9da4b694e59
2078-
RNScreens: 197b022c17c45ca4fe1c3e6f5d5c9022c21faf3f
2072+
React-utils: 9ea2e9d57dd01e5b9cf1270969e3179ac3b7f325
2073+
ReactAppDependencyProvider: 19db96cb59117f0cf2e32993b7a2ba34b6397c57
2074+
ReactCodegen: d3c2ea01d0f9eb6c3e5de3ad94ad2fc309465861
2075+
ReactCommon: 179964ffc47fa62ad0e1eebac704e88c59b46667
2076+
RNGestureHandler: 4e7defe5095e936424173fc75f0bf2af5bba8e23
2077+
RNReanimated: 183ca222293bd622678e387100e54d03d952c73b
2078+
RNScreens: 2aa993d221ba928ee75682f3c0940620a8d46865
20792079
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
20802080
Yoga: 330be28eee1242da875db9e851b19a4df496b999
20812081

FabricExample/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
"@types/react": "^19.0.0",
5252
"@types/react-test-renderer": "^19.0.0",
5353
"babel-jest": "^29.6.3",
54-
"detox": "^20.34.2",
54+
"detox": "^20.34.5",
5555
"eslint": "^8.19.0",
5656
"jest": "^29.6.3",
5757
"patch-package": "^8.0.0",

FabricExample/yarn.lock

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2902,7 +2902,7 @@ __metadata:
29022902
"@types/react": "npm:^19.0.0"
29032903
"@types/react-test-renderer": "npm:^19.0.0"
29042904
babel-jest: "npm:^29.6.3"
2905-
detox: "npm:^20.34.2"
2905+
detox: "npm:^20.34.5"
29062906
eslint: "npm:^8.19.0"
29072907
jest: "npm:^29.6.3"
29082908
jotai: "npm:^2.9.0"
@@ -4256,16 +4256,15 @@ __metadata:
42564256
languageName: node
42574257
linkType: hard
42584258

4259-
"detox@npm:^20.34.2":
4260-
version: 20.34.2
4261-
resolution: "detox@npm:20.34.2"
4259+
"detox@npm:^20.34.5":
4260+
version: 20.34.5
4261+
resolution: "detox@npm:20.34.5"
42624262
dependencies:
42634263
ajv: "npm:^8.6.3"
42644264
bunyan: "npm:^1.8.12"
42654265
bunyan-debug-stream: "npm:^3.1.0"
42664266
caf: "npm:^15.0.1"
42674267
chalk: "npm:^4.0.0"
4268-
child-process-promise: "npm:^2.2.0"
42694268
detox-copilot: "npm:^0.0.27"
42704269
execa: "npm:^5.1.1"
42714270
find-up: "npm:^5.0.0"
@@ -4279,6 +4278,7 @@ __metadata:
42794278
multi-sort-stream: "npm:^1.0.3"
42804279
multipipe: "npm:^4.0.0"
42814280
node-ipc: "npm:9.2.1"
4281+
promisify-child-process: "npm:^4.1.2"
42824282
proper-lockfile: "npm:^3.0.2"
42834283
resolve-from: "npm:^5.0.0"
42844284
sanitize-filename: "npm:^1.6.1"
@@ -4303,7 +4303,7 @@ __metadata:
43034303
optional: true
43044304
bin:
43054305
detox: local-cli/cli.js
4306-
checksum: 10c0/d7531648552d0dce11f98ce438edd24d0c0185ac3785466fcbc402b0932a00741226ccb6da0ec81324dc14f02c8d20e5cd980dec7bdfaef0a3040c2f73a5d8d6
4306+
checksum: 10c0/1be4c20e93981a72b574222fbfed542c9c1225e82565f757c44801b4527a66b58f37f8dff78aa77b4ba0b52124ca69c8214b4b402596699257dca9a6da207d83
43074307
languageName: node
43084308
linkType: hard
43094309

@@ -8389,13 +8389,6 @@ __metadata:
83898389
languageName: node
83908390
linkType: hard
83918391

8392-
"promise-polyfill@npm:^6.0.1":
8393-
version: 6.1.0
8394-
resolution: "promise-polyfill@npm:6.1.0"
8395-
checksum: 10c0/8fa1172b1b50efbc43f5eb8772e6a526ef70b9856f3d49172c8bea0ccee4413b29eb5d7f8b44015fe43b2d77a9db16d4c49d337b48b218661f92e5ab1c1fc672
8396-
languageName: node
8397-
linkType: hard
8398-
83998392
"promise-retry@npm:^2.0.1":
84008393
version: 2.0.1
84018394
resolution: "promise-retry@npm:2.0.1"
@@ -8415,6 +8408,13 @@ __metadata:
84158408
languageName: node
84168409
linkType: hard
84178410

8411+
"promisify-child-process@npm:^4.1.2":
8412+
version: 4.1.2
8413+
resolution: "promisify-child-process@npm:4.1.2"
8414+
checksum: 10c0/e5347137f1c333af4b7b4d2272a091d31007b30320af4b852f30f41776db378e22b3db1e67e40026a18301c243d9c9780e41c211cfce76ba26aedba17e3a385c
8415+
languageName: node
8416+
linkType: hard
8417+
84188418
"prompts@npm:^2.0.1, prompts@npm:^2.4.2":
84198419
version: 2.4.2
84208420
resolution: "prompts@npm:2.4.2"
@@ -8447,13 +8447,6 @@ __metadata:
84478447
languageName: node
84488448
linkType: hard
84498449

8450-
"pseudomap@npm:^1.0.2":
8451-
version: 1.0.2
8452-
resolution: "pseudomap@npm:1.0.2"
8453-
checksum: 10c0/5a91ce114c64ed3a6a553aa7d2943868811377388bb31447f9d8028271bae9b05b340fe0b6961a64e45b9c72946aeb0a4ab635e8f7cb3715ffd0ff2beeb6a679
8454-
languageName: node
8455-
linkType: hard
8456-
84578450
"punycode@npm:^2.1.0":
84588451
version: 2.3.1
84598452
resolution: "punycode@npm:2.3.1"
@@ -10281,7 +10274,7 @@ __metadata:
1028110274
languageName: node
1028210275
linkType: hard
1028310276

10284-
"which@npm:^1.2.9, which@npm:^1.3.1":
10277+
"which@npm:^1.3.1":
1028510278
version: 1.3.1
1028610279
resolution: "which@npm:1.3.1"
1028710280
dependencies:

android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledHeaderConfigViewGroup.kt

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,19 @@ abstract class FabricEnabledHeaderConfigViewGroup(
2323
mStateWrapper = wrapper
2424
}
2525

26-
fun updatePaddings(
27-
paddingStart: Int,
28-
paddingEnd: Int,
29-
) {
30-
// Do nothing on Fabric. This method is used only on Paper.
31-
}
32-
3326
fun updateHeaderConfigState(
3427
width: Int,
3528
height: Int,
3629
paddingStart: Int,
3730
paddingEnd: Int,
3831
) {
32+
// Implementation of this method differs between Fabric & Paper!
3933
updateState(width, height, paddingStart, paddingEnd)
4034
}
4135

36+
// Implementation of this method differs between Fabric & Paper!
4237
@UiThread
43-
fun updateState(
38+
private fun updateState(
4439
width: Int,
4540
height: Int,
4641
paddingStart: Int,

0 commit comments

Comments
 (0)