Skip to content

Commit 3c05a9f

Browse files
authored
feat: move react native image resizer native module to the SDK (#2751)
* feat: move react native image resizer to the native package natively * fix: android and ios native module * fix: add StreamChatReactNative module for ios * fix: add StreamChatReactNative module for ios and android * fix: add StreamChatReactNative module for ios and android * docs: update docs for the removal of the image resizer package * fix: tests for audio controller * fix: tests for audio controller * fix: update sample app * fix: update sample app * fix: update sample app
1 parent 4366578 commit 3c05a9f

File tree

38 files changed

+4413
-2918
lines changed

38 files changed

+4413
-2918
lines changed

docusaurus/docs/reactnative/basics/installation.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Stream Chat React Native SDK requires installing some peer dependencies to provi
5656
<TabItem value='rncli'>
5757

5858
```bash title="Terminal"
59-
yarn add @react-native-community/netinfo react-native-gesture-handler @bam.tech/react-native-image-resizer react-native-reanimated react-native-svg
59+
yarn add @react-native-community/netinfo react-native-gesture-handler react-native-reanimated react-native-svg
6060
```
6161

6262
</TabItem>
@@ -84,7 +84,6 @@ values={[
8484

8585
- [`@react-native-community/netinfo`](https://github.com/react-native-netinfo/react-native-netinfo) for SDK to respond to network changes.
8686
- [`react-native-gesture-handler`](https://github.com/software-mansion/react-native-gesture-handler) to handle gestures within the SDK.
87-
- [`@bam.tech/react-native-image-resizer`](https://github.com/bamlab/react-native-image-resizer) to compress image uploads.
8887
- [`react-native-reanimated`](https://github.com/software-mansion/react-native-reanimated) to compress image uploads.
8988
- [`react-native-svg`](https://github.com/react-native-svg/react-native-svg) for SVG support.
9089

docusaurus/docs/reactnative/basics/migrating-from-5.x-to-6.x.mdx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,14 @@ yarn remove react-native-fs
1616
yarn add react-native-blob-util
1717
```
1818

19-
### Change `react-native-image-resizer` to `@bam.tech/react-native-image-resizer`
19+
### Remove `react-native-image-resizer` dependency
2020

21-
The `react-native-image-resizer` package has been replaced with `@bam.tech/react-native-image-resizer`.
21+
The `react-native-image-resizer` package has been moved to the SDK so you can uninstall it from your app.
2222

23-
Since version 3.0.0, this library has been moved from `react-native-image-resizer` to `@bam.tech/react-native-image-resizer`.
24-
25-
You can replace it by running the following commands:
23+
You can remove it by running the following commands:
2624

2725
```bash
2826
yarn remove react-native-image-resizer
29-
yarn add @bam.tech/react-native-image-resizer
3027
```
3128

3229
### Change `react-native-image-crop-picker` to `react-native-image-picker`

docusaurus/docs/reactnative/customization/native-handlers.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ The handler used to play audio files and for voice recording.
5050

5151
An `async` function that compresses an image and returns the local `uri` of the compressed image.
5252

53-
| React Native CLI | Expo |
54-
| ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
55-
| [`@bam.tech/react-native-image-resizer`](https://github.com/bamlab/react-native-image-resizer) | [`expo-image-manipulator`](https://docs.expo.io/versions/latest/sdk/imagemanipulator/) |
53+
| Expo |
54+
| -------------------------------------------------------------------------------------- |
55+
| [`expo-image-manipulator`](https://docs.expo.io/versions/latest/sdk/imagemanipulator/) |
5656

5757
### `deleteFile`
5858

examples/SampleApp/ios/Podfile.lock

Lines changed: 58 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ PODS:
156156
- nanopb/encode (= 2.30910.0)
157157
- nanopb/decode (2.30910.0)
158158
- nanopb/encode (2.30910.0)
159-
- op-sqlite (6.0.4):
159+
- op-sqlite (6.2.11):
160160
- React
161161
- React-callinvoker
162162
- React-Core
@@ -1393,7 +1393,7 @@ PODS:
13931393
- ReactCommon/turbomodule/bridging
13941394
- ReactCommon/turbomodule/core
13951395
- Yoga
1396-
- react-native-blob-util (0.19.9):
1396+
- react-native-blob-util (0.19.11):
13971397
- React-Core
13981398
- react-native-cameraroll (7.8.1):
13991399
- DoubleConversion
@@ -1458,13 +1458,11 @@ PODS:
14581458
- ReactCommon/turbomodule/bridging
14591459
- ReactCommon/turbomodule/core
14601460
- Yoga
1461-
- react-native-image-resizer (3.0.10):
1462-
- React-Core
14631461
- react-native-netinfo (11.3.2):
14641462
- React-Core
14651463
- react-native-safe-area-context (4.11.1):
14661464
- React-Core
1467-
- react-native-video (6.4.2):
1465+
- react-native-video (6.7.0):
14681466
- DoubleConversion
14691467
- glog
14701468
- hermes-engine
@@ -1477,7 +1475,7 @@ PODS:
14771475
- React-featureflags
14781476
- React-graphics
14791477
- React-ImageManager
1480-
- react-native-video/Video (= 6.4.2)
1478+
- react-native-video/Video (= 6.7.0)
14811479
- React-NativeModulesApple
14821480
- React-RCTFabric
14831481
- React-rendererdebug
@@ -1486,7 +1484,7 @@ PODS:
14861484
- ReactCommon/turbomodule/bridging
14871485
- ReactCommon/turbomodule/core
14881486
- Yoga
1489-
- react-native-video/Video (6.4.2):
1487+
- react-native-video/Video (6.7.0):
14901488
- DoubleConversion
14911489
- glog
14921490
- hermes-engine
@@ -1809,8 +1807,27 @@ PODS:
18091807
- RNNotifee/NotifeeCore (= 7.8.2)
18101808
- RNNotifee/NotifeeCore (7.8.2):
18111809
- React-Core
1812-
- RNReactNativeHapticFeedback (2.2.0):
1810+
- RNReactNativeHapticFeedback (2.3.3):
1811+
- DoubleConversion
1812+
- glog
1813+
- hermes-engine
1814+
- RCT-Folly (= 2024.01.01.00)
1815+
- RCTRequired
1816+
- RCTTypeSafety
18131817
- React-Core
1818+
- React-debug
1819+
- React-Fabric
1820+
- React-featureflags
1821+
- React-graphics
1822+
- React-ImageManager
1823+
- React-NativeModulesApple
1824+
- React-RCTFabric
1825+
- React-rendererdebug
1826+
- React-utils
1827+
- ReactCodegen
1828+
- ReactCommon/turbomodule/bridging
1829+
- ReactCommon/turbomodule/core
1830+
- Yoga
18141831
- RNReanimated (3.16.1):
18151832
- DoubleConversion
18161833
- glog
@@ -1920,8 +1937,27 @@ PODS:
19201937
- ReactCommon/turbomodule/bridging
19211938
- ReactCommon/turbomodule/core
19221939
- Yoga
1923-
- RNShare (10.2.1):
1940+
- RNShare (11.0.4):
1941+
- DoubleConversion
1942+
- glog
1943+
- hermes-engine
1944+
- RCT-Folly (= 2024.01.01.00)
1945+
- RCTRequired
1946+
- RCTTypeSafety
19241947
- React-Core
1948+
- React-debug
1949+
- React-Fabric
1950+
- React-featureflags
1951+
- React-graphics
1952+
- React-ImageManager
1953+
- React-NativeModulesApple
1954+
- React-RCTFabric
1955+
- React-rendererdebug
1956+
- React-utils
1957+
- ReactCodegen
1958+
- ReactCommon/turbomodule/bridging
1959+
- ReactCommon/turbomodule/core
1960+
- Yoga
19251961
- RNSVG (15.6.0):
19261962
- React-Core
19271963
- SDWebImage (5.11.1):
@@ -1931,6 +1967,8 @@ PODS:
19311967
- libwebp (~> 1.0)
19321968
- SDWebImage/Core (~> 5.10)
19331969
- SocketRocket (0.7.0)
1970+
- stream-chat-react-native (5.39.5):
1971+
- React-Core
19341972
- Yoga (0.0.0)
19351973

19361974
DEPENDENCIES:
@@ -1979,7 +2017,6 @@ DEPENDENCIES:
19792017
- "react-native-cameraroll (from `../node_modules/@react-native-camera-roll/camera-roll`)"
19802018
- react-native-document-picker (from `../node_modules/react-native-document-picker`)
19812019
- react-native-image-picker (from `../node_modules/react-native-image-picker`)
1982-
- "react-native-image-resizer (from `../node_modules/@bam.tech/react-native-image-resizer`)"
19832020
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
19842021
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
19852022
- react-native-video (from `../node_modules/react-native-video`)
@@ -2021,6 +2058,7 @@ DEPENDENCIES:
20212058
- RNScreens (from `../node_modules/react-native-screens`)
20222059
- RNShare (from `../node_modules/react-native-share`)
20232060
- RNSVG (from `../node_modules/react-native-svg`)
2061+
- stream-chat-react-native (from `../node_modules/stream-chat-react-native`)
20242062
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
20252063

20262064
SPEC REPOS:
@@ -2129,8 +2167,6 @@ EXTERNAL SOURCES:
21292167
:path: "../node_modules/react-native-document-picker"
21302168
react-native-image-picker:
21312169
:path: "../node_modules/react-native-image-picker"
2132-
react-native-image-resizer:
2133-
:path: "../node_modules/@bam.tech/react-native-image-resizer"
21342170
react-native-netinfo:
21352171
:path: "../node_modules/@react-native-community/netinfo"
21362172
react-native-safe-area-context:
@@ -2213,6 +2249,8 @@ EXTERNAL SOURCES:
22132249
:path: "../node_modules/react-native-share"
22142250
RNSVG:
22152251
:path: "../node_modules/react-native-svg"
2252+
stream-chat-react-native:
2253+
:path: "../node_modules/stream-chat-react-native"
22162254
Yoga:
22172255
:path: "../node_modules/react-native/ReactCommon/yoga"
22182256

@@ -2239,10 +2277,10 @@ SPEC CHECKSUMS:
22392277
hermes-engine: ea92f60f37dba025e293cbe4b4a548fd26b610a0
22402278
libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009
22412279
nanopb: 438bc412db1928dac798aa6fd75726007be04262
2242-
op-sqlite: 5688336af53053aa37f0ec3496487dc2734c91cc
2280+
op-sqlite: b4f61f3085ea3b70f264f3a64b724c81ab117e58
22432281
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
22442282
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
2245-
RCT-Folly: 02617c592a293bd6d418e0a88ff4ee1f88329b47
2283+
RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740
22462284
RCTDeprecation: 726d24248aeab6d7180dac71a936bbca6a994ed1
22472285
RCTRequired: a94e7febda6db0345d207e854323c37e3a31d93b
22482286
RCTTypeSafety: 28e24a6e44f5cbf912c66dde6ab7e07d1059a205
@@ -2271,14 +2309,13 @@ SPEC CHECKSUMS:
22712309
React-logger: d79b704bf215af194f5213a6b7deec50ba8e6a9b
22722310
React-Mapbuffer: 42c779748af341935a63ad8831723b8cb1e97830
22732311
React-microtasksnativemodule: fc15e6b9e8cc5a99d1cfa0f31c454c4c3de4e7ae
2274-
react-native-blob-util: 18b510205c080a453574a7d2344d64673d0ad9af
2312+
react-native-blob-util: 39a20f2ef11556d958dc4beb0aa07d1ef2690745
22752313
react-native-cameraroll: 7b910cbe05bd5be4c3cb2146b862c692d9b068d1
22762314
react-native-document-picker: 1928548d8b19bbc9f2219b01f1d350aa8ff76508
22772315
react-native-image-picker: 5bd900eec966c8f9fe32c5ec844afcd71d052030
2278-
react-native-image-resizer: fd0c333eca55147bd55c5e054cac95dcd0da6814
22792316
react-native-netinfo: 076df4f9b07f6670acf4ce9a75aac8d34c2e2ccc
22802317
react-native-safe-area-context: 5141f11858b033636f1788b14f32eaba92cee810
2281-
react-native-video: 1d796f5e81afb5f8bdd08980bc36b6e30402eea1
2318+
react-native-video: 2d2a323bade69f5e6969aed509e63f01311b8cd8
22822319
React-nativeconfig: 31072ab0146e643594f6959c7f970a04b6c9ddd0
22832320
React-NativeModulesApple: f49bb0befd8650ac3ff8fc2684072b16c09bf478
22842321
React-perflogger: 59e1a3182dca2cee7b9f1f7aab204018d46d1914
@@ -2312,16 +2349,17 @@ SPEC CHECKSUMS:
23122349
RNFBMessaging: bcceb47d52080700672f4a46aa9096d9754a988f
23132350
RNGestureHandler: 4b397b156d173028ff97960b5ebacfbb21232081
23142351
RNNotifee: 8e2d3df3f0e9ce8f5d1fe4c967431138190b6175
2315-
RNReactNativeHapticFeedback: ec56a5f81c3941206fd85625fa669ffc7b4545f9
2352+
RNReactNativeHapticFeedback: 293365e4df1faef21be8b8efe22c7b217c5e695a
23162353
RNReanimated: 131b50b14a60d02cd023c42c9a8fc486deeaf6d5
23172354
RNScreens: 16b782596e80e475b7f3ec769c9a97d789d9b0ed
2318-
RNShare: 0fad69ae2d71de9d1f7b9a43acf876886a6cb99c
2355+
RNShare: f1f2fc67c9032793f4203deffa611cb6c3c4c059
23192356
RNSVG: 5da7a24f31968ec74f0b091e3440080f347e279b
23202357
SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d
23212358
SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d
23222359
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
2360+
stream-chat-react-native: 489a6a053480ab8556883de05a28df2c7387ede6
23232361
Yoga: b05994d1933f507b0a28ceaa4fdb968dc18da178
23242362

23252363
PODFILE CHECKSUM: 4f662370295f8f9cee909f1a4c59a614999a209d
23262364

2327-
COCOAPODS: 1.15.2
2365+
COCOAPODS: 1.16.2

examples/SampleApp/ios/SampleApp.xcodeproj/project.pbxproj

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,6 +711,18 @@
711711
" ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
712712
" ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
713713
" ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
714+
" ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
715+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
716+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
717+
" ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
718+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
719+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
720+
" ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
721+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
722+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
723+
" ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
724+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
725+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
714726
);
715727
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
716728
LD = "";
@@ -903,6 +915,18 @@
903915
" ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
904916
" ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
905917
" ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
918+
" ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
919+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
920+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
921+
" ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
922+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
923+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
924+
" ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
925+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
926+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
927+
" ${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
928+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
929+
" ${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
906930
);
907931
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
908932
LD = "";

examples/SampleApp/package.json

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@
2222
"clean-all": "yarn clean && rm -rf node_modules && rm -rf ios/Pods && rm -rf vendor && bundle install && yarn install && cd ios && bundle exec pod install && cd -"
2323
},
2424
"dependencies": {
25-
"@bam.tech/react-native-image-resizer": "^3.0.10",
2625
"@notifee/react-native": "^7.7.1",
27-
"@op-engineering/op-sqlite": "^6.0.4",
26+
"@op-engineering/op-sqlite": "^6.2.11",
2827
"@react-native-async-storage/async-storage": "^1.21.0",
2928
"@react-native-camera-roll/camera-roll": "^7.8.0",
3029
"@react-native-community/netinfo": "^11.3.2",
@@ -36,19 +35,19 @@
3635
"@react-navigation/stack": "^6.4.0",
3736
"react": "18.3.1",
3837
"react-native": "^0.75.4",
39-
"react-native-audio-recorder-player": "3.6.12",
40-
"react-native-blob-util": "^0.19.9",
38+
"react-native-audio-recorder-player": "^3.6.12",
39+
"react-native-blob-util": "^0.19.11",
4140
"react-native-document-picker": "^9.3.1",
4241
"react-native-fast-image": "^8.6.3",
4342
"react-native-gesture-handler": "^2.18.1",
44-
"react-native-haptic-feedback": "^2.2.0",
43+
"react-native-haptic-feedback": "^2.3.3",
4544
"react-native-image-picker": "^7.1.2",
4645
"react-native-reanimated": "^3.16.0",
4746
"react-native-safe-area-context": "^4.11.1",
4847
"react-native-screens": "^3.34.0",
49-
"react-native-share": "^10.2.1",
48+
"react-native-share": "^11.0.4",
5049
"react-native-svg": "^15.6.0",
51-
"react-native-video": "^6.4.2",
50+
"react-native-video": "^6.7.0",
5251
"stream-chat-react-native": "link:../../package/native-package",
5352
"stream-chat-react-native-core": "link:../../package"
5453
},

0 commit comments

Comments
 (0)