Do not preload images with FastImage (#4315)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
This commit is contained in:
Mattermost Build
2020-05-20 22:17:49 +02:00
committed by GitHub
parent 1389e4f7f7
commit d4e405485b
9 changed files with 3 additions and 57 deletions

View File

@@ -7,7 +7,6 @@ import {
View, View,
StyleSheet, StyleSheet,
} from 'react-native'; } from 'react-native';
import FastImage from 'react-native-fast-image';
import brokenImageIcon from '@assets/images/icons/brokenimage.png'; import brokenImageIcon from '@assets/images/icons/brokenimage.png';
import ProgressiveImage from '@components/progressive_image'; import ProgressiveImage from '@components/progressive_image';
@@ -49,29 +48,9 @@ export default class FileAttachmentImage extends PureComponent {
resizeMethod: 'resize', resizeMethod: 'resize',
}; };
constructor(props) { state = {
super(props); failed: false,
};
const {file} = props;
if (file && file.id && !file.localPath) {
const headers = Client4.getOptions({}).headers;
const preloadImages = [
{uri: Client4.getFileThumbnailUrl(file.id), headers},
{uri: Client4.getFileUrl(file.id), headers},
];
if (isGif(file)) {
preloadImages.push({uri: Client4.getFilePreviewUrl(file.id), headers});
}
FastImage.preload(preloadImages);
}
this.state = {
failed: false,
};
}
boxPlaceholder = () => { boxPlaceholder = () => {
if (this.props.isSingleImage) { if (this.props.isSingleImage) {

View File

@@ -77,7 +77,6 @@ export default class MarkdownImage extends ImageViewPort {
uri = EphemeralStore.currentServerUrl + uri; uri = EphemeralStore.currentServerUrl + uri;
} }
FastImage.preload([{uri}]);
return uri; return uri;
}; };

View File

@@ -16,14 +16,6 @@ export default class AttachmentAuthor extends PureComponent {
theme: PropTypes.object.isRequired, theme: PropTypes.object.isRequired,
}; };
constructor(props) {
super(props);
if (props.icon) {
FastImage.preload([{uri: props.icon}]);
}
}
openLink = () => { openLink = () => {
const {link} = this.props; const {link} = this.props;
if (link && Linking.canOpenURL(link)) { if (link && Linking.canOpenURL(link)) {

View File

@@ -17,14 +17,6 @@ export default class AttachmentFooter extends PureComponent {
theme: PropTypes.object.isRequired, theme: PropTypes.object.isRequired,
}; };
constructor(props) {
super(props);
if (props.icon) {
FastImage.preload([{uri: props.icon}]);
}
}
render() { render() {
const { const {
text, text,

View File

@@ -110,8 +110,6 @@ export default class PostAttachmentOpenGraph extends PureComponent {
dimensions = calculateDimensions(ogImage.height, ogImage.width, this.getViewPostWidth()); dimensions = calculateDimensions(ogImage.height, ogImage.width, this.getViewPostWidth());
} }
FastImage.preload([{uri: imageUrl}]);
return { return {
hasImage: true, hasImage: true,
...dimensions, ...dimensions,

View File

@@ -61,7 +61,6 @@ export default class ProfilePicture extends PureComponent {
this.setImageURL(imageUri); this.setImageURL(imageUri);
} else if (user) { } else if (user) {
const uri = Client4.getProfilePictureUrl(user.id, user.last_picture_update); const uri = Client4.getProfilePictureUrl(user.id, user.last_picture_update);
FastImage.preload([{uri, headers: Client4.getOptions({}).headers}]);
this.setImageURL(uri); this.setImageURL(uri);
this.clearProfileImageUri(); this.clearProfileImageUri();
@@ -102,7 +101,6 @@ export default class ProfilePicture extends PureComponent {
if (nextUrl && url !== nextUrl) { if (nextUrl && url !== nextUrl) {
// empty function is so that promise unhandled is not triggered in dev mode // empty function is so that promise unhandled is not triggered in dev mode
FastImage.preload([{uri: nextUrl, headers: Client4.getOptions({}).headers}]);
this.setImageURL(nextUrl); this.setImageURL(nextUrl);
this.clearProfileImageUri(); this.clearProfileImageUri();
} }

View File

@@ -8,10 +8,6 @@ import Preferences from '@mm-redux/constants/preferences';
import ProgressiveImage from './progressive_image'; import ProgressiveImage from './progressive_image';
jest.mock('react-native-fast-image', () => ({
preload: jest.fn(),
}));
jest.useFakeTimers(); jest.useFakeTimers();
describe('ProgressiveImage', () => { describe('ProgressiveImage', () => {

View File

@@ -54,7 +54,6 @@ export default class TeamIcon extends React.PureComponent {
preloadTeamIcon = (teamId, lastIconUpdate) => { preloadTeamIcon = (teamId, lastIconUpdate) => {
const uri = Client4.getTeamIconUrl(teamId, lastIconUpdate); const uri = Client4.getTeamIconUrl(teamId, lastIconUpdate);
FastImage.preload([{uri, headers: Client4.getOptions({}).headers}]);
this.setImageURL(uri); this.setImageURL(uri);
}; };

View File

@@ -119,13 +119,6 @@ jest.mock('react-native-device-info', () => {
}; };
}); });
jest.mock('react-native-fast-image', () => {
const FastImage = jest.requireActual('react-native-fast-image').default;
FastImage.preload = jest.fn();
return FastImage;
});
jest.mock('rn-fetch-blob', () => ({ jest.mock('rn-fetch-blob', () => ({
fs: { fs: {
dirs: { dirs: {