forked from Ivasoft/mattermost-mobile
Do not preload images with FastImage (#4315)
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
This commit is contained in:
@@ -7,7 +7,6 @@ import {
|
||||
View,
|
||||
StyleSheet,
|
||||
} from 'react-native';
|
||||
import FastImage from 'react-native-fast-image';
|
||||
|
||||
import brokenImageIcon from '@assets/images/icons/brokenimage.png';
|
||||
import ProgressiveImage from '@components/progressive_image';
|
||||
@@ -49,29 +48,9 @@ export default class FileAttachmentImage extends PureComponent {
|
||||
resizeMethod: 'resize',
|
||||
};
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
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,
|
||||
};
|
||||
}
|
||||
state = {
|
||||
failed: false,
|
||||
};
|
||||
|
||||
boxPlaceholder = () => {
|
||||
if (this.props.isSingleImage) {
|
||||
|
||||
@@ -77,7 +77,6 @@ export default class MarkdownImage extends ImageViewPort {
|
||||
uri = EphemeralStore.currentServerUrl + uri;
|
||||
}
|
||||
|
||||
FastImage.preload([{uri}]);
|
||||
return uri;
|
||||
};
|
||||
|
||||
|
||||
@@ -16,14 +16,6 @@ export default class AttachmentAuthor extends PureComponent {
|
||||
theme: PropTypes.object.isRequired,
|
||||
};
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
if (props.icon) {
|
||||
FastImage.preload([{uri: props.icon}]);
|
||||
}
|
||||
}
|
||||
|
||||
openLink = () => {
|
||||
const {link} = this.props;
|
||||
if (link && Linking.canOpenURL(link)) {
|
||||
|
||||
@@ -17,14 +17,6 @@ export default class AttachmentFooter extends PureComponent {
|
||||
theme: PropTypes.object.isRequired,
|
||||
};
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
if (props.icon) {
|
||||
FastImage.preload([{uri: props.icon}]);
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
const {
|
||||
text,
|
||||
|
||||
@@ -110,8 +110,6 @@ export default class PostAttachmentOpenGraph extends PureComponent {
|
||||
dimensions = calculateDimensions(ogImage.height, ogImage.width, this.getViewPostWidth());
|
||||
}
|
||||
|
||||
FastImage.preload([{uri: imageUrl}]);
|
||||
|
||||
return {
|
||||
hasImage: true,
|
||||
...dimensions,
|
||||
|
||||
@@ -61,7 +61,6 @@ export default class ProfilePicture extends PureComponent {
|
||||
this.setImageURL(imageUri);
|
||||
} else if (user) {
|
||||
const uri = Client4.getProfilePictureUrl(user.id, user.last_picture_update);
|
||||
FastImage.preload([{uri, headers: Client4.getOptions({}).headers}]);
|
||||
|
||||
this.setImageURL(uri);
|
||||
this.clearProfileImageUri();
|
||||
@@ -102,7 +101,6 @@ export default class ProfilePicture extends PureComponent {
|
||||
|
||||
if (nextUrl && url !== nextUrl) {
|
||||
// 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.clearProfileImageUri();
|
||||
}
|
||||
|
||||
@@ -8,10 +8,6 @@ import Preferences from '@mm-redux/constants/preferences';
|
||||
|
||||
import ProgressiveImage from './progressive_image';
|
||||
|
||||
jest.mock('react-native-fast-image', () => ({
|
||||
preload: jest.fn(),
|
||||
}));
|
||||
|
||||
jest.useFakeTimers();
|
||||
|
||||
describe('ProgressiveImage', () => {
|
||||
|
||||
@@ -54,7 +54,6 @@ export default class TeamIcon extends React.PureComponent {
|
||||
|
||||
preloadTeamIcon = (teamId, lastIconUpdate) => {
|
||||
const uri = Client4.getTeamIconUrl(teamId, lastIconUpdate);
|
||||
FastImage.preload([{uri, headers: Client4.getOptions({}).headers}]);
|
||||
this.setImageURL(uri);
|
||||
};
|
||||
|
||||
|
||||
@@ -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', () => ({
|
||||
fs: {
|
||||
dirs: {
|
||||
|
||||
Reference in New Issue
Block a user