Skip to content

Commit 87a5f11

Browse files
committed
fix: add Expo 55 compatibility (#3490)
This PR should address Expo 55 compatibility issues for the SDK. Although this has already been addressed in `@gorhom/react-native-bottom-sheet`, the latter versions (containing the fix) are broken due to many other reasons (mostly around keyboard handling). Thus, we cherry-pick a direct patch and apply it to `v5.1.8` of the bottom sheet for the time being. As a more permanent solution, we'll be looking into probably rewriting the attachment picker logic to use our own bottom sheet. <!-- Provide a description of the implementation --> <!-- Add relevant screenshots --> <details> <summary>iOS</summary> <table> <thead> <tr> <td>Before</td> <td>After</td> </tr> </thead> <tbody> <tr> <td> <!--<img src="" /> --> </td> <td> <!--<img src="" /> --> </td> </tr> </tbody> </table> </details> <details> <summary>Android</summary> <table> <thead> <tr> <td>Before</td> <td>After</td> </tr> </thead> <tbody> <tr> <td> <!--<img src="" /> --> </td> <td> <!--<img src="" /> --> </td> </tr> </tbody> </table> </details> <!-- Explain how this change can be tested (or why it can't be tested) --> - [ ] I have signed the [Stream CLA](https://docs.google.com/forms/d/e/1FAIpQLScFKsKkAJI7mhCr7K9rEIOpqIDThrWxuvxnwUq2XkHyG154vQ/viewform) (required) - [ ] PR targets the `develop` branch - [ ] Documentation is updated - [ ] New code is tested in main example apps, including all possible scenarios - [ ] SampleApp iOS and Android - [ ] Expo iOS and Android
1 parent 9496b8b commit 87a5f11

File tree

8 files changed

+1466
-1214
lines changed

8 files changed

+1466
-1214
lines changed

examples/ExpoMessaging/app.json

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
"experiments": {
1919
"reactCompiler": true
2020
},
21-
"assetBundlePatterns": ["**/*"],
21+
"assetBundlePatterns": [
22+
"**/*"
23+
],
2224
"ios": {
2325
"supportsTablet": true,
2426
"usesIcloudStorage": true,
@@ -86,16 +88,22 @@
8688
"expo-build-properties",
8789
{
8890
"android": {
89-
"extraMavenRepos": ["$rootDir/../../../node_modules/@notifee/react-native/android/libs"]
91+
"extraMavenRepos": [
92+
"$rootDir/../../../node_modules/@notifee/react-native/android/libs"
93+
]
9094
},
9195
"ios": {
9296
"useFrameworks": "static",
93-
"forceStaticLinking": ["RNFBApp", "RNFBMessaging"]
97+
"forceStaticLinking": [
98+
"RNFBApp",
99+
"RNFBMessaging"
100+
]
94101
}
95102
}
96103
],
97104
"./plugins/keyboardInsetMainActivityListener.js",
98-
"./plugins/opSqliteSwiftPlugin.js"
105+
"./plugins/opSqliteSwiftPlugin.js",
106+
"expo-sharing"
99107
]
100108
}
101109
}

examples/ExpoMessaging/context/AppContext.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { PropsWithChildren, createContext, useState } from 'react';
1+
import React, { PropsWithChildren, createContext, useState } from 'react';
22
import { Channel as ChannelType } from 'stream-chat';
33
import { ThreadContextValue } from 'stream-chat-expo';
44

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"react-native": {
3+
"messaging_android_notification_color": "@color/colorPrimary"
4+
}
5+
}

examples/ExpoMessaging/package.json

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -15,48 +15,52 @@
1515
},
1616
"dependencies": {
1717
"@notifee/react-native": "^9.1.8",
18-
"@op-engineering/op-sqlite": "^14.0.4",
18+
"@op-engineering/op-sqlite": "^15.2.7",
1919
"@react-native-async-storage/async-storage": "2.2.0",
20-
"@react-native-community/netinfo": "11.4.1",
20+
"@react-native-community/netinfo": "11.5.2",
2121
"@react-native-firebase/app": "^23.4.0",
2222
"@react-native-firebase/messaging": "^23.4.0",
23-
"@react-navigation/elements": "^2.6.4",
24-
"@react-navigation/native": "^7.1.8",
23+
"@react-navigation/elements": "^2.9.10",
24+
"@react-navigation/native": "^7.1.33",
25+
"@react-navigation/native-stack": "^7.14.5",
2526
"@shopify/flash-list": "2.0.2",
26-
"expo": "54.0.22",
27-
"expo-audio": "~1.0.14",
28-
"expo-build-properties": "~1.0.9",
29-
"expo-clipboard": "~8.0.7",
30-
"expo-constants": "~18.0.10",
31-
"expo-document-picker": "~14.0.7",
32-
"expo-file-system": "~19.0.17",
33-
"expo-haptics": "~15.0.7",
34-
"expo-image-manipulator": "~14.0.7",
35-
"expo-image-picker": "~17.0.8",
36-
"expo-linking": "~8.0.8",
37-
"expo-location": "~19.0.7",
38-
"expo-router": "~6.0.14",
39-
"expo-sharing": "~14.0.7",
40-
"expo-splash-screen": "~31.0.10",
41-
"expo-status-bar": "~3.0.8",
42-
"expo-video": "~3.0.14",
43-
"react": "19.1.0",
44-
"react-native": "0.81.5",
45-
"react-native-gesture-handler": "~2.28.0",
46-
"react-native-maps": "1.20.1",
47-
"react-native-reanimated": "~4.1.1",
48-
"react-native-safe-area-context": "~5.6.0",
49-
"react-native-screens": "~4.16.0",
50-
"react-native-svg": "15.12.1",
27+
"expo": "^55.0.6",
28+
"expo-audio": "~55.0.8",
29+
"expo-build-properties": "~55.0.9",
30+
"expo-clipboard": "~55.0.8",
31+
"expo-constants": "~55.0.7",
32+
"expo-document-picker": "~55.0.8",
33+
"expo-file-system": "~55.0.10",
34+
"expo-haptics": "~55.0.8",
35+
"expo-image-manipulator": "~55.0.10",
36+
"expo-image-picker": "~55.0.12",
37+
"expo-linking": "~55.0.7",
38+
"expo-location": "~55.1.2",
39+
"expo-media-library": "~55.0.9",
40+
"expo-router": "~55.0.5",
41+
"expo-sharing": "~55.0.11",
42+
"expo-splash-screen": "~55.0.10",
43+
"expo-status-bar": "~55.0.4",
44+
"expo-video": "~55.0.10",
45+
"react": "19.2.0",
46+
"react-dom": "19.2.0",
47+
"react-native": "0.83.2",
48+
"react-native-gesture-handler": "~2.30.0",
49+
"react-native-maps": "1.26.20",
50+
"react-native-reanimated": "4.2.1",
51+
"react-native-safe-area-context": "~5.6.2",
52+
"react-native-screens": "~4.23.0",
53+
"react-native-svg": "15.15.3",
54+
"react-native-web": "^0.21.0",
5155
"react-native-teleport": "^1.0.2",
52-
"react-native-worklets": "0.5.1",
56+
"react-native-worklets": "0.7.2",
5357
"stream-chat-expo": "link:../../package/expo-package",
5458
"stream-chat-react-native-core": "link:../../package"
5559
},
5660
"devDependencies": {
5761
"@rnx-kit/metro-config": "^2.1.2",
5862
"@rnx-kit/metro-resolver-symlinks": "^0.2.6",
59-
"@types/react": "~19.1.0",
63+
"@types/react": "~19.2.10",
6064
"typescript": "~5.9.2"
6165
},
6266
"private": true

0 commit comments

Comments
 (0)