diff --git a/native/.flowconfig b/native/.flowconfig --- a/native/.flowconfig +++ b/native/.flowconfig @@ -1,5 +1,4 @@ [ignore] -.*/node_modules/react-native-fast-image/src/index.js.flow .*/node_modules/react-native-fs/FS.common.js .*/node_modules/react-native-gesture-handler/Swipeable.js .*/fbjs/lib/keyMirrorRecursive.js.flow diff --git a/native/ios/Podfile.lock b/native/ios/Podfile.lock --- a/native/ios/Podfile.lock +++ b/native/ios/Podfile.lock @@ -97,6 +97,12 @@ - expo-dev-menu/SafeAreaView - ExpoHaptics (12.0.1): - ExpoModulesCore + - ExpoImage (1.0.0): + - ExpoModulesCore + - SDWebImage (~> 5.15.0) + - SDWebImageAVIFCoder (~> 0.9.4) + - SDWebImageSVGCoder (~> 1.6.1) + - SDWebImageWebPCoder (~> 0.9.1) - ExpoImageManipulator (11.0.0): - EXImageLoader - ExpoModulesCore @@ -124,16 +130,25 @@ - fmt (6.2.1) - glog (0.3.5) - hermes-engine (0.70.6) + - libaom (2.0.2): + - libvmaf + - libavif (0.10.1): + - libavif/libaom (= 0.10.1) + - libavif/core (0.10.1) + - libavif/libaom (0.10.1): + - libaom (>= 2.0.0) + - libavif/core - libevent (2.1.12) - - libwebp (1.2.3): - - libwebp/demux (= 1.2.3) - - libwebp/mux (= 1.2.3) - - libwebp/webp (= 1.2.3) - - libwebp/demux (1.2.3): + - libvmaf (2.2.0) + - libwebp (1.2.4): + - libwebp/demux (= 1.2.4) + - libwebp/mux (= 1.2.4) + - libwebp/webp (= 1.2.4) + - libwebp/demux (1.2.4): - libwebp/webp - - libwebp/mux (1.2.3): + - libwebp/mux (1.2.4): - libwebp/demux - - libwebp/webp (1.2.3) + - libwebp/webp (1.2.4) - lottie-ios (3.4.4) - lottie-react-native (5.1.4): - lottie-ios (~> 3.4.0) @@ -488,10 +503,6 @@ - React-Core - RNDeviceInfo (10.3.0): - React-Core - - RNFastImage (8.3.0): - - React - - SDWebImage (~> 5.8) - - SDWebImageWebPCoder (~> 0.6.1) - RNFS (2.20.0): - React-Core - RNGestureHandler (2.8.0): @@ -530,12 +541,17 @@ - React-RCTImage - RNSVG (12.3.0): - React-Core - - SDWebImage (5.13.5): - - SDWebImage/Core (= 5.13.5) - - SDWebImage/Core (5.13.5) - - SDWebImageWebPCoder (0.6.1): + - SDWebImage (5.15.5): + - SDWebImage/Core (= 5.15.5) + - SDWebImage/Core (5.15.5) + - SDWebImageAVIFCoder (0.9.5): + - libavif (>= 0.9.1) + - SDWebImage (~> 5.10) + - SDWebImageSVGCoder (1.6.1): + - SDWebImage/Core (~> 5.6) + - SDWebImageWebPCoder (0.9.1): - libwebp (~> 1.0) - - SDWebImage/Core (~> 5.7) + - SDWebImage/Core (~> 5.13) - SPTPersistentCache (1.1.0) - SQLCipher-Amalgamation (4.4.3): - OpenSSL-Universal @@ -565,6 +581,7 @@ - expo-dev-menu (from `../../node_modules/expo-dev-menu`) - expo-dev-menu-interface (from `../../node_modules/expo-dev-menu-interface/ios`) - ExpoHaptics (from `../../node_modules/expo-haptics/ios`) + - ExpoImage (from `../../node_modules/expo-image/ios`) - ExpoImageManipulator (from `../../node_modules/expo-image-manipulator/ios`) - ExpoImagePicker (from `../../node_modules/expo-image-picker/ios`) - ExpoKeepAwake (from `../../node_modules/expo-keep-awake/ios`) @@ -624,7 +641,6 @@ - "RNCClipboard (from `../node_modules/@react-native-clipboard/clipboard`)" - "RNCMaskedView (from `../node_modules/@react-native-masked-view/masked-view`)" - RNDeviceInfo (from `../node_modules/react-native-device-info`) - - RNFastImage (from `../node_modules/react-native-fast-image`) - RNFS (from `../node_modules/react-native-fs`) - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - RNKeychain (from `../node_modules/react-native-keychain`) @@ -638,12 +654,17 @@ trunk: - DVAssetLoaderDelegate - fmt + - libaom + - libavif - libevent + - libvmaf - libwebp - lottie-ios - mobile-ffmpeg-min - OpenSSL-Universal - SDWebImage + - SDWebImageAVIFCoder + - SDWebImageSVGCoder - SDWebImageWebPCoder - SPTPersistentCache @@ -682,6 +703,8 @@ :path: "../../node_modules/expo-dev-menu-interface/ios" ExpoHaptics: :path: "../../node_modules/expo-haptics/ios" + ExpoImage: + :path: "../../node_modules/expo-image/ios" ExpoImageManipulator: :path: "../../node_modules/expo-image-manipulator/ios" ExpoImagePicker: @@ -796,8 +819,6 @@ :path: "../node_modules/@react-native-masked-view/masked-view" RNDeviceInfo: :path: "../node_modules/react-native-device-info" - RNFastImage: - :path: "../node_modules/react-native-fast-image" RNFS: :path: "../node_modules/react-native-fs" RNGestureHandler: @@ -834,6 +855,7 @@ expo-dev-menu: 3d25298c15e2179c9f71b92f2273c83bdd71c435 expo-dev-menu-interface: 45581093393dacd51ce5e7f641cf9ed5064a2e3f ExpoHaptics: 5a56d30a87ea213dd00b09566dc4b441a4dff97f + ExpoImage: b6a65c4aa891cdf00bfba0da46df14b27ae09cc7 ExpoImageManipulator: 5f3c1ab8dd81de11491b5051bb925abc91fe57e4 ExpoImagePicker: d2a1cea4023008ae2fb0d95f33422b80772cc76e ExpoKeepAwake: 69b59d0a8d2b24de9f82759c39b3821fec030318 @@ -846,8 +868,11 @@ fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b hermes-engine: 2af7b7a59128f250adfd86f15aa1d5a2ecd39995 + libaom: 9bb51e0f8f9192245e3ca2a1c9e4375d9cbccc52 + libavif: e242998ccec1c83bcba0bbdc256f460ad5077348 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - libwebp: 60305b2e989864154bd9be3d772730f08fc6a59c + libvmaf: 8d61aabc2f4ed3e6591cf7406fa00a223ec11289 + libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef lottie-ios: 8f97d3271e155c2d688875c29cd3c74908aef5f8 lottie-react-native: b702fab740cdb952a8e2354713d3beda63ff97b0 mobile-ffmpeg-min: d5d22dcef5c8ec56f771258f1f5be245d914f193 @@ -897,15 +922,16 @@ RNCClipboard: f66930407a30948ffdecf43a2459bcf05aa59804 RNCMaskedView: bc0170f389056201c82a55e242e5d90070e18e5a RNDeviceInfo: 4701f0bf2a06b34654745053db0ce4cb0c53ada7 - RNFastImage: 2ed80661d5ef384fb1b539f1f3c81a1733f92bc9 RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 RNGestureHandler: 62232ba8f562f7dea5ba1b3383494eb5bf97a4d3 RNKeychain: 4f63aada75ebafd26f4bc2c670199461eab85d94 RNReanimated: f586bc5fd8ce1b6efadffb875319705939843c3b RNScreens: 34cc502acf1b916c582c60003dc3089fa01dc66d RNSVG: 302bfc9905bd8122f08966dc2ce2d07b7b52b9f8 - SDWebImage: 23d714cd599354ee7906dbae26dff89b421c4370 - SDWebImageWebPCoder: d0dac55073088d24b2ac1b191a71a8f8d0adac21 + SDWebImage: fd7e1a22f00303e058058278639bf6196ee431fe + SDWebImageAVIFCoder: d759e21cf4efb640cc97250566aa556ad8bb877c + SDWebImageSVGCoder: 6fc109f9c2a82ab44510fff410b88b1a6c271ee8 + SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0 SPTPersistentCache: df36ea46762d7cf026502bbb86a8b79d0080dff4 SQLCipher-Amalgamation: cbd36045fe7b458b8a442958a01aefdbc44c20f8 Yoga: 99caf8d5ab45e9d637ee6e0174ec16fbbb01bcfc diff --git a/native/media/remote-image.react.js b/native/media/remote-image.react.js --- a/native/media/remote-image.react.js +++ b/native/media/remote-image.react.js @@ -1,8 +1,8 @@ // @flow +import { Image } from 'expo-image'; import * as React from 'react'; import { View, StyleSheet, ActivityIndicator } from 'react-native'; -import FastImage from 'react-native-fast-image'; import { type ConnectionStatus } from 'lib/types/socket-types.js'; @@ -49,7 +49,7 @@ const source = { uri: this.props.uri }; if (this.state.loaded) { return ( - -