Update Dependencies (#1641)

* Update dependencies including react-native

* Update react-native-circle-progress dependency

* Fix prop warnings and possible crashes
This commit is contained in:
Elias Nahum 2018-04-27 18:49:09 -03:00 committed by Harrison Healey
parent ef8e99759d
commit 80dd9366a1
16 changed files with 3878 additions and 2308 deletions

3
.gitignore vendored
View file

@ -28,6 +28,7 @@ DerivedData
*.apk
*.xcuserstate
project.xcworkspace
xcshareddata/
# Android/IntelliJ
#
@ -84,4 +85,4 @@ ios/sentry.properties
ios/Pods/
#editor-settings
.vscode
.vscode

View file

@ -46,8 +46,8 @@ export default class FileAttachmentDocument extends PureComponent {
};
static defaultProps = {
iconHeight: 50,
iconWidth: 50,
iconHeight: 47,
iconWidth: 47,
wrapperHeight: 80,
wrapperWidth: 80,
};
@ -320,7 +320,6 @@ export default class FileAttachmentDocument extends PureComponent {
backgroundColor={changeOpacity(theme.centerChannelColor, 0.5)}
tintColor={theme.linkColor}
rotation={0}
style={style.circularProgress}
>
{this.renderProgress}
</CircularProgress>
@ -347,12 +346,6 @@ export default class FileAttachmentDocument extends PureComponent {
}
const style = StyleSheet.create({
circularProgress: {
alignItems: 'center',
height: '100%',
justifyContent: 'center',
width: '100%',
},
circularProgressContent: {
alignItems: 'center',
height: '100%',

View file

@ -54,6 +54,7 @@ function mapStateToProps(state, ownProps) {
let isPostAddChannelMember = false;
if (
channel &&
(channel.type === General.PRIVATE_CHANNEL || channel.type === General.OPEN_CHANNEL) &&
isUserCanManageMembers &&
isEphemeralPost &&

View file

@ -34,7 +34,7 @@ export default class PostTextbox extends PureComponent {
}).isRequired,
canUploadFiles: PropTypes.bool.isRequired,
channelId: PropTypes.string.isRequired,
channelIsLoading: PropTypes.bool.isRequired,
channelIsLoading: PropTypes.bool,
channelIsReadOnly: PropTypes.bool.isRequired,
currentUserId: PropTypes.string.isRequired,
deactivatedChannel: PropTypes.bool.isRequired,

View file

@ -8,6 +8,7 @@ import {
ScrollView,
StyleSheet,
Text,
TextInput,
View,
} from 'react-native';
@ -49,6 +50,27 @@ export default class Code extends React.PureComponent {
lineNumbersStyle = style.lineNumbers;
}
let textComponent;
if (Platform.OS === 'ios') {
textComponent = (
<TextInput
editable={false}
multiline={true}
value={this.props.content}
style={[style.codeText]}
/>
);
} else {
textComponent = (
<Text
selectable={true}
style={style.codeText}
>
{this.props.content}
</Text>
);
}
return (
<ScrollView
style={style.scrollContainer}
@ -64,12 +86,7 @@ export default class Code extends React.PureComponent {
contentContainerStyle={style.code}
horizontal={true}
>
<Text
selectable={true}
style={style.codeText}
>
{this.props.content}
</Text>
{textComponent}
</ScrollView>
</ScrollView>
);
@ -114,6 +131,9 @@ const getStyleSheet = makeStyleSheetFromTheme((theme) => {
android: {
paddingVertical: 4,
},
ios: {
top: -4,
},
}),
},
codeText: {

View file

@ -111,40 +111,13 @@ export default class Downloader extends PureComponent {
]).start();
};
renderProgress = (fill) => {
renderBottomContent = () => {
const {saveToCameraRoll} = this.props;
const {isVideo} = this.state;
const realFill = Number(fill.toFixed(0));
const {isVideo, progress} = this.state;
const realFill = Number(progress.toFixed(0));
let component;
if (realFill === 100) {
component = (
<Icon
name='ios-checkmark'
size={64}
color='white'
/>
);
} else {
component = (
<View style={styles.progressCirclePercentage}>
<Text style={styles.progressText}>
{`${fill.toFixed(0)}%`}
</Text>
{!isVideo &&
<TouchableOpacity
style={styles.cancelButton}
onPress={this.downloadDidCancel}
>
<FormattedText
id='channel_modal.cancel'
defaultMessage='Cancel'
style={styles.cancelText}
/>
</TouchableOpacity>
}
</View>
);
if (realFill === 0) {
return null;
}
let savedComponent;
@ -183,18 +156,58 @@ export default class Downloader extends PureComponent {
}
return (
<View style={styles.progressContent}>
{component}
<View style={styles.bottomContent}>
{savedComponent}
</View>
<View style={styles.bottomContent}>
{savedComponent}
</View>
);
};
renderProgress = (fill) => {
const {isVideo} = this.state;
const realFill = Number(fill.toFixed(0));
let component;
if (realFill === 100) {
component = (
<Icon
name='ios-checkmark'
size={64}
color='white'
/>
);
} else {
component = (
<View style={styles.progressCirclePercentage}>
<Text style={styles.progressText}>
{`${fill.toFixed(0)}%`}
</Text>
{!isVideo &&
<TouchableOpacity
style={styles.cancelButton}
onPress={this.downloadDidCancel}
>
<FormattedText
id='channel_modal.cancel'
defaultMessage='Cancel'
style={styles.cancelText}
/>
</TouchableOpacity>
}
</View>
);
}
return (
<View>
{component}
</View>
);
};
renderStartDownload = () => {
return (
<View style={styles.progressContent}>
<View>
<TouchableOpacity onPress={this.startDownload}>
<View style={styles.manualDownloadContainer}>
<Icon
@ -404,10 +417,10 @@ export default class Downloader extends PureComponent {
backgroundColor='rgba(255, 255, 255, 0.5)'
tintColor='white'
rotation={0}
style={styles.progressCircle}
>
{component}
</CircularProgress>
{this.renderBottomContent()}
</View>
</AnimatedView>
</View>
@ -417,12 +430,8 @@ export default class Downloader extends PureComponent {
const styles = StyleSheet.create({
bottomContent: {
position: 'absolute',
left: 0,
right: 0,
bottom: 0,
alignItems: 'center',
justifyContent: 'center',
marginTop: 10,
},
bottomText: {
color: 'white',
@ -457,15 +466,6 @@ const styles = StyleSheet.create({
progressContainer: {
flex: 1,
},
progressContent: {
position: 'absolute',
height: '100%',
width: '100%',
top: 0,
left: 0,
alignItems: 'center',
justifyContent: 'center',
},
progressCircle: {
width: '100%',
height: '100%',
@ -481,7 +481,7 @@ const styles = StyleSheet.create({
progressCirclePercentage: {
flex: 1,
alignItems: 'center',
marginTop: 80,
marginTop: 40,
},
progressText: {
color: 'white',

View file

@ -427,7 +427,7 @@ export default class ImagePreview extends PureComponent {
if (this.refs.downloader) {
EventEmitter.emit(NavigationTypes.NAVIGATION_CLOSE_MODAL);
this.refs.downloader.saveVideo(`${VIDEOS_PATH}/${data.id}.${data.extension}`);
this.refs.downloader.saveVideo(`${VIDEOS_PATH}/${data.id}-${file.caption}`);
}
};
@ -508,7 +508,7 @@ export default class ImagePreview extends PureComponent {
}
if (isVideo(file.data)) {
const path = `${VIDEOS_PATH}/${file.data.id}.${file.data.extension}`;
const path = `${VIDEOS_PATH}/${file.data.id}-${file.caption}`;
const exist = await RNFetchBlob.fs.exists(path);
if (exist) {
items.push({

View file

@ -8,6 +8,7 @@ import {
ScrollView,
StyleSheet,
Text,
TextInput,
View,
} from 'react-native';
@ -49,6 +50,27 @@ export default class TextPreview extends React.PureComponent {
lineNumbersStyle = style.lineNumbers;
}
let textComponent;
if (Platform.OS === 'ios') {
textComponent = (
<TextInput
editable={false}
multiline={true}
value={this.props.content}
style={[style.codeText]}
/>
);
} else {
textComponent = (
<Text
selectable={true}
style={style.codeText}
>
{this.props.content}
</Text>
);
}
return (
<ScrollView
style={style.scrollContainer}
@ -64,12 +86,7 @@ export default class TextPreview extends React.PureComponent {
horizontal={true}
contentContainerStyle={style.code}
>
<Text
selectable={true}
style={style.codeText}
>
{this.props.content}
</Text>
{textComponent}
</ScrollView>
</ScrollView>
);
@ -115,6 +132,9 @@ const getStyleSheet = makeStyleSheetFromTheme((theme) => {
android: {
paddingVertical: 4,
},
ios: {
top: -4,
},
}),
},
codeText: {

View file

@ -21,8 +21,8 @@ function makeMapStateToProps() {
return {
channelId: ownProps.channelId,
channelType: channel.type,
displayName: channel.display_name,
channelType: channel ? channel.type : '',
displayName: channel ? channel.display_name : '',
myMember: getMyCurrentChannelMembership(state),
rootId: ownProps.rootId,
postIds: getPostIdsForThread(state, ownProps.rootId),

View file

@ -22,8 +22,8 @@ class Thread extends PureComponent {
selectPost: PropTypes.func.isRequired,
}).isRequired,
channelId: PropTypes.string.isRequired,
channelType: PropTypes.string.isRequired,
displayName: PropTypes.string.isRequired,
channelType: PropTypes.string,
displayName: PropTypes.string,
intl: intlShape.isRequired,
navigator: PropTypes.object,
myMember: PropTypes.object.isRequired,

View file

@ -76,6 +76,8 @@ const unsubscribe = (uri) => Reflect.deleteProperty(ImageCacheManager.listeners,
const notifyAll = (uri, path) => {
ImageCacheManager.listeners[uri].forEach((listener) => {
listener(path);
if (typeof listener === 'function') {
listener(path);
}
});
};

View file

@ -48,7 +48,6 @@
7F3F66021FE426EE0085CA0E /* libRNSVG.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FDF28E11E1F4B1F00DBBE56 /* libRNSVG.a */; };
7F3F660F1FE4280D0085CA0E /* libReactNativeExceptionHandler.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FA7950B1F61A1A500C02924 /* libReactNativeExceptionHandler.a */; };
7F3F66101FE4281A0085CA0E /* libRNSentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FA795061F61A1A500C02924 /* libRNSentry.a */; };
7F43D5A01F6BF882001FC614 /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 37DD11281E79EBE1004111BA /* libRNDeviceInfo.a */; };
7F43D5D61F6BF8C2001FC614 /* libRNLocalAuth.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F8C49871F3DFC30003A22BA /* libRNLocalAuth.a */; };
7F43D5D71F6BF8D0001FC614 /* libRNPasscodeStatus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F8C49F81F3E0710003A22BA /* libRNPasscodeStatus.a */; };
7F43D5D81F6BF8E9001FC614 /* libJailMonkey.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F8C4A621F3E21FB003A22BA /* libJailMonkey.a */; };
@ -64,6 +63,8 @@
7F43D6401F6BFA82001FC614 /* libRCTPushNotification.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F63D2811E6C957C001FAE12 /* libRCTPushNotification.a */; };
7F50C96A203C6E80007CA374 /* SessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F50C969203C6E80007CA374 /* SessionManager.m */; };
7F50C96B203C6E80007CA374 /* SessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F50C969203C6E80007CA374 /* SessionManager.m */; };
7F642DF02093533300F3165E /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F642DED2093530B00F3165E /* libRNDeviceInfo.a */; };
7F642DF1209353A400F3165E /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F642DED2093530B00F3165E /* libRNDeviceInfo.a */; };
7F6877B31E7836070094B63F /* libToolTipMenu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F6877B01E7835E50094B63F /* libToolTipMenu.a */; };
7F6C47A51FE87E8C00F5A912 /* PerformRequests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F6C47A41FE87E8C00F5A912 /* PerformRequests.m */; };
7F7D7F98201645E100D31155 /* libReactNativePermissions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F7D7F87201645D300D31155 /* libReactNativePermissions.a */; };
@ -82,7 +83,6 @@
7FF7BE6E1FDEE5E8005E55FE /* MattermostBucket.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FF7BE6C1FDEE5E8005E55FE /* MattermostBucket.m */; };
7FF7BE6F1FDF3CE4005E55FE /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FDF290C1E1F4B4E00DBBE56 /* libRNVectorIcons.a */; };
7FF7BE701FDF3EE7005E55FE /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2DCFD31D3F4A4154822AB532 /* Ionicons.ttf */; };
7FF7BE711FE004A3005E55FE /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 37DD11281E79EBE1004111BA /* libRNDeviceInfo.a */; };
7FF7BE721FE01FC7005E55FE /* libRCTOrientation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 374634671E848085005E1244 /* libRCTOrientation.a */; };
7FFDB3191FE3566C009E3BCF /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 005346E5C0E542BFABAE1411 /* FontAwesome.ttf */; };
7FFE329E1FD9CB650038C7A0 /* ShareViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FFE329D1FD9CB650038C7A0 /* ShareViewController.m */; };
@ -219,13 +219,6 @@
remoteGlobalIDString = 134814201AA4EA6300B7C361;
remoteInfo = BVLinearGradient;
};
37DD11271E79EBE1004111BA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = B97AA6F961BB47D3A3297E8E /* RNDeviceInfo.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = DA5891D81BA9A9FC002B4DB2;
remoteInfo = RNDeviceInfo;
};
37DF8AC81F5F0D430079BF89 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 37ABD3971F4CE13B001FDE6B /* ART.xcodeproj */;
@ -429,13 +422,6 @@
remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32;
remoteInfo = "fishhook-tvOS";
};
7F4C1F991FBE572B0029D1DF /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = B97AA6F961BB47D3A3297E8E /* RNDeviceInfo.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = E72EC1401F7ABB5A0001BC90;
remoteInfo = "RNDeviceInfo-tvOS";
};
7F63D2801E6C957C001FAE12 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7F63D27B1E6C957C001FAE12 /* RCTPushNotification.xcodeproj */;
@ -450,6 +436,20 @@
remoteGlobalIDString = 3D05745F1DE6004600184BB4;
remoteInfo = "RCTPushNotification-tvOS";
};
7F642DEC2093530B00F3165E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7F642DE72093530B00F3165E /* RNDeviceInfo.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = DA5891D81BA9A9FC002B4DB2;
remoteInfo = RNDeviceInfo;
};
7F642DEE2093530B00F3165E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7F642DE72093530B00F3165E /* RNDeviceInfo.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = E72EC1401F7ABB5A0001BC90;
remoteInfo = "RNDeviceInfo-tvOS";
};
7F6877AF1E7835E50094B63F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7F6877AA1E7835E50094B63F /* ToolTipMenu.xcodeproj */;
@ -699,6 +699,7 @@
7F50C969203C6E80007CA374 /* SessionManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SessionManager.m; sourceTree = "<group>"; };
7F63D27B1E6C957C001FAE12 /* RCTPushNotification.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTPushNotification.xcodeproj; path = "../node_modules/react-native/Libraries/PushNotificationIOS/RCTPushNotification.xcodeproj"; sourceTree = "<group>"; };
7F63D2C21E6DD98A001FAE12 /* Mattermost.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Mattermost.entitlements; path = Mattermost/Mattermost.entitlements; sourceTree = "<group>"; };
7F642DE72093530B00F3165E /* RNDeviceInfo.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNDeviceInfo.xcodeproj; path = "../node_modules/react-native-device-info/ios/RNDeviceInfo.xcodeproj"; sourceTree = "<group>"; };
7F6877AA1E7835E50094B63F /* ToolTipMenu.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ToolTipMenu.xcodeproj; path = "../node_modules/react-native-tooltip/ToolTipMenu.xcodeproj"; sourceTree = "<group>"; };
7F6C47A31FE87E8C00F5A912 /* PerformRequests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PerformRequests.h; sourceTree = "<group>"; };
7F6C47A41FE87E8C00F5A912 /* PerformRequests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PerformRequests.m; sourceTree = "<group>"; };
@ -739,7 +740,6 @@
AC6EB561E1F64C17A69D2FAD /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = "<group>"; };
ACC6B9FDC0AD45A6BFA4FBCD /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = "<group>"; };
B89192186C764B9FA473403A /* libRCTVideo.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTVideo.a; sourceTree = "<group>"; };
B97AA6F961BB47D3A3297E8E /* RNDeviceInfo.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNDeviceInfo.xcodeproj; path = "../node_modules/react-native-device-info/RNDeviceInfo.xcodeproj"; sourceTree = "<group>"; };
BC977883E2624E05975CA65B /* OpenSans-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-Regular.ttf"; path = "../assets/fonts/OpenSans-Regular.ttf"; sourceTree = "<group>"; };
BE17F630DB5D41FD93F32D22 /* OpenSans-LightItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-LightItalic.ttf"; path = "../assets/fonts/OpenSans-LightItalic.ttf"; sourceTree = "<group>"; };
BFB7025EA936C1B5DC9725C2 /* Pods-Mattermost.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mattermost.release.xcconfig"; path = "Pods/Target Support Files/Pods-Mattermost/Pods-Mattermost.release.xcconfig"; sourceTree = "<group>"; };
@ -772,6 +772,7 @@
37ABD3C81F4CE142001FDE6B /* libART.a in Frameworks */,
375218501F4B9EE70035444B /* libRCTCameraRoll.a in Frameworks */,
7F43D5E01F6BF994001FC614 /* libRNSVG.a in Frameworks */,
7F642DF02093533300F3165E /* libRNDeviceInfo.a in Frameworks */,
7FBB5E9B1E1F5A4B000DE18A /* libRNVectorIcons.a in Frameworks */,
5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */,
146834051AC3E58100842450 /* libReact.a in Frameworks */,
@ -785,7 +786,6 @@
374634801E8480C2005E1244 /* libRCTOrientation.a in Frameworks */,
00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */,
139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,
7F43D5A01F6BF882001FC614 /* libRNDeviceInfo.a in Frameworks */,
7F43D63F1F6BFA19001FC614 /* libBVLinearGradient.a in Frameworks */,
7F6877B31E7836070094B63F /* libToolTipMenu.a in Frameworks */,
7FC200E81EBB65370099331B /* libReactNativeNavigation.a in Frameworks */,
@ -817,10 +817,10 @@
files = (
7FFE32E71FD9CCD00038C7A0 /* libART.a in Frameworks */,
7F3F66101FE4281A0085CA0E /* libRNSentry.a in Frameworks */,
7F642DF1209353A400F3165E /* libRNDeviceInfo.a in Frameworks */,
7F3F660F1FE4280D0085CA0E /* libReactNativeExceptionHandler.a in Frameworks */,
7FB6006B1FE3116800DB284F /* libRNFetchBlob.a in Frameworks */,
7FF7BE721FE01FC7005E55FE /* libRCTOrientation.a in Frameworks */,
7FF7BE711FE004A3005E55FE /* libRNDeviceInfo.a in Frameworks */,
7FF7BE6F1FDF3CE4005E55FE /* libRNVectorIcons.a in Frameworks */,
7F380D0B1FDB3CFC0061AAD2 /* libRCTVideo.a in Frameworks */,
7FFE32F11FD9D64E0038C7A0 /* libRCTWebSocket.a in Frameworks */,
@ -1043,15 +1043,6 @@
name = Products;
sourceTree = "<group>";
};
37DD11071E79EBE1004111BA /* Products */ = {
isa = PBXGroup;
children = (
37DD11281E79EBE1004111BA /* libRNDeviceInfo.a */,
7F4C1F9A1FBE572B0029D1DF /* libRNDeviceInfo-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
};
37DF8AC51F5F0D410079BF89 /* Recovered References */ = {
isa = PBXGroup;
children = (
@ -1149,6 +1140,15 @@
name = Products;
sourceTree = "<group>";
};
7F642DE82093530B00F3165E /* Products */ = {
isa = PBXGroup;
children = (
7F642DED2093530B00F3165E /* libRNDeviceInfo.a */,
7F642DEF2093530B00F3165E /* libRNDeviceInfo-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
};
7F6877AB1E7835E50094B63F /* Products */ = {
isa = PBXGroup;
children = (
@ -1299,6 +1299,7 @@
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
isa = PBXGroup;
children = (
7F642DE72093530B00F3165E /* RNDeviceInfo.xcodeproj */,
7FD8DE972029ECDE001AAC5E /* RNTableView.xcodeproj */,
7F7D7F52201645D300D31155 /* ReactNativePermissions.xcodeproj */,
7FDB92751F706F45006CDFD1 /* RNImagePicker.xcodeproj */,
@ -1321,7 +1322,6 @@
139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */,
2CBE9C0FB56E4FDA96C30792 /* RNSVG.xcodeproj */,
2B25899FDAC149EB96ED3305 /* RNVectorIcons.xcodeproj */,
B97AA6F961BB47D3A3297E8E /* RNDeviceInfo.xcodeproj */,
7DCC3D826CE640AF8F491692 /* BVLinearGradient.xcodeproj */,
5C3B95629BA74FB3A8377CB7 /* RCTOrientation.xcodeproj */,
D0281D64B98143668D6AD42B /* RNLocalAuth.xcodeproj */,
@ -1594,8 +1594,8 @@
ProjectRef = 62A58E5E984E4CF1811620B8 /* RNCookieManagerIOS.xcodeproj */;
},
{
ProductGroup = 37DD11071E79EBE1004111BA /* Products */;
ProjectRef = B97AA6F961BB47D3A3297E8E /* RNDeviceInfo.xcodeproj */;
ProductGroup = 7F642DE82093530B00F3165E /* Products */;
ProjectRef = 7F642DE72093530B00F3165E /* RNDeviceInfo.xcodeproj */;
},
{
ProductGroup = 3752181C1F4B9E320035444B /* Products */;
@ -1754,13 +1754,6 @@
remoteRef = 37D8FEC11E80B5230091F3BD /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
37DD11281E79EBE1004111BA /* libRNDeviceInfo.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRNDeviceInfo.a;
remoteRef = 37DD11271E79EBE1004111BA /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
37DF8AC91F5F0D430079BF89 /* libART-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
@ -1964,13 +1957,6 @@
remoteRef = 7F4C1F851FBE572B0029D1DF /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
7F4C1F9A1FBE572B0029D1DF /* libRNDeviceInfo-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libRNDeviceInfo-tvOS.a";
remoteRef = 7F4C1F991FBE572B0029D1DF /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
7F63D2811E6C957C001FAE12 /* libRCTPushNotification.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
@ -1985,6 +1971,20 @@
remoteRef = 7F63D2821E6C957C001FAE12 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
7F642DED2093530B00F3165E /* libRNDeviceInfo.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRNDeviceInfo.a;
remoteRef = 7F642DEC2093530B00F3165E /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
7F642DEF2093530B00F3165E /* libRNDeviceInfo-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libRNDeviceInfo-tvOS.a";
remoteRef = 7F642DEE2093530B00F3165E /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
7F6877B01E7835E50094B63F /* libToolTipMenu.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
@ -2491,6 +2491,7 @@
"$(SRCROOT)/../node_modules/react-native-video/ios",
"$(SRCROOT)/../node_modules/react-native-doc-viewer/ios/**",
"$(SRCROOT)/../node_modules/react-native-safe-area/ios/RNSafeArea",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/**",
);
INFOPLIST_FILE = Mattermost/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
@ -2540,6 +2541,7 @@
"$(SRCROOT)/../node_modules/react-native-video/ios",
"$(SRCROOT)/../node_modules/react-native-doc-viewer/ios/**",
"$(SRCROOT)/../node_modules/react-native-safe-area/ios/RNSafeArea",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/**",
);
INFOPLIST_FILE = Mattermost/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
@ -2599,6 +2601,7 @@
"$(SRCROOT)/../node_modules/react-native-doc-viewer/ios/**",
"$(SRCROOT)/../node_modules/react-native-safe-area/ios/RNSafeArea",
"$(SRCROOT)/../node_modules/react-native-tableview/**",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/**",
);
INFOPLIST_FILE = MattermostShare/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
@ -2659,6 +2662,7 @@
"$(SRCROOT)/../node_modules/react-native-doc-viewer/ios/**",
"$(SRCROOT)/../node_modules/react-native-safe-area/ios/RNSafeArea",
"$(SRCROOT)/../node_modules/react-native-tableview/**",
"$(SRCROOT)/../node_modules/react-native-device-info/ios/**",
);
INFOPLIST_FILE = MattermostShare/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.3;

5837
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -15,47 +15,47 @@
"deep-equal": "1.0.1",
"fuse.js": "^3.2.0",
"intl": "1.2.5",
"jail-monkey": "0.2.0",
"jail-monkey": "1.0.0",
"mattermost-redux": "mattermost/mattermost-redux#c2cdd8fad33b97af4d0af2462b24f9cfd50a1913",
"prop-types": "15.6.1",
"react": "16.3.1",
"react": "16.3.2",
"react-intl": "2.4.0",
"react-native": "0.52.3",
"react-native": "0.55.3",
"react-native-animatable": "1.2.4",
"react-native-bottom-sheet": "1.0.3",
"react-native-button": "2.3.0",
"react-native-circular-progress": "0.1.0",
"react-native-circular-progress": "0.2.0",
"react-native-cookies": "3.2.0",
"react-native-device-info": "0.14.0",
"react-native-device-info": "0.21.5",
"react-native-doc-viewer": "2.7.8",
"react-native-drawer": "2.5.0",
"react-native-exception-handler": "2.7.1",
"react-native-fast-image": "4.0.0",
"react-native-exception-handler": "2.7.5",
"react-native-fast-image": "4.0.8",
"react-native-fetch-blob": "enahum/react-native-fetch-blob.git#75d5abfa1886665d7eaa947e70b9297b981f0983",
"react-native-image-gallery": "enahum/react-native-image-gallery#7dd88b037cbb7ee36866585357b33bddb20bd12e",
"react-native-image-picker": "0.26.7",
"react-native-keyboard-aware-scroll-view": "0.5.0",
"react-native-linear-gradient": "2.4.0",
"react-native-local-auth": "enahum/react-native-local-auth.git#cc9ce2f468fbf7b431dfad3191a31aaa9227a6ab",
"react-native-navigation": "1.1.426",
"react-native-navigation": "1.1.450",
"react-native-notifications": "enahum/react-native-notifications.git#663ffe3c4403b185093920c4551f117801499b73",
"react-native-orientation": "3.1.3",
"react-native-passcode-status": "1.1.0",
"react-native-passcode-status": "1.1.1",
"react-native-permissions": "1.1.1",
"react-native-safe-area": "0.2.3",
"react-native-section-list-get-item-layout": "2.2.2",
"react-native-sentry": "0.35.3",
"react-native-sentry": "0.36.0",
"react-native-slider": "0.11.0",
"react-native-status-bar-size": "0.3.3",
"react-native-svg": "6.3.1",
"react-native-tableview": "2.1.0",
"react-native-tooltip": "5.2.0",
"react-native-vector-icons": "4.5.0",
"react-native-vector-icons": "4.6.0",
"react-native-video": "2.0.0",
"react-native-youtube": "1.1.0",
"react-navigation": "1.5.8",
"react-navigation": "1.5.11",
"react-redux": "5.0.7",
"redux": "3.7.2",
"redux": "4.0.0",
"redux-batched-actions": "0.2.1",
"redux-persist": "4.10.2",
"redux-persist-transform-filter": "0.0.16",
@ -64,14 +64,14 @@
"semver": "5.5.0",
"shallow-equals": "1.0.0",
"tinycolor2": "1.4.1",
"url-parse": "1.2.0",
"url-parse": "1.4.0",
"youtube-video-id": "0.0.2"
},
"devDependencies": {
"babel-cli": "6.26.0",
"babel-eslint": "8.2.2",
"babel-eslint": "8.2.3",
"babel-plugin-module-resolver": "3.1.1",
"babel-plugin-transform-remove-console": "6.9.0",
"babel-plugin-transform-remove-console": "6.9.1",
"babel-preset-env": "1.6.1",
"babel-preset-es2015": "6.24.1",
"babel-preset-latest": "6.24.1",
@ -85,25 +85,24 @@
"deep-freeze": "0.0.1",
"enzyme": "3.3.0",
"eslint": "4.19.1",
"eslint-plugin-mocha": "4.12.1",
"eslint-plugin-mocha": "5.0.0",
"eslint-plugin-react": "7.7.0",
"fetch-mock": "6.3.0",
"jsdom": "11.6.2",
"jsdom-global": "3.0.2",
"mocha": "5.0.5",
"mocha": "5.1.1",
"mocha-react-native": "0.6.0",
"mock-async-storage": "2.0.2",
"mockery": "2.1.0",
"nyc": "11.6.0",
"nyc": "11.7.1",
"react-addons-test-utils": "15.6.2",
"react-dom": "16.2.0",
"react-dom": "16.3.2",
"react-native-mock": "0.3.1",
"react-native-svg-mock": "2.0.0",
"react-test-renderer": "16.2.0",
"react-test-renderer": "16.3.2",
"remote-redux-devtools": "0.5.12",
"remotedev-rn-debugger": "0.8.3",
"socketcluster": "11.1.0",
"underscore": "1.8.3"
"socketcluster": "11.4.2",
"underscore": "1.9.0"
},
"scripts": {
"test": "NODE_ENV=test nyc --reporter=text mocha --exit --opts test/mocha.opts",

View file

@ -1,5 +1,4 @@
--require test/setup.js
--compilers js:babel-core/register
--require babel-polyfill
--require jsdom-global/register
--recursive

View file

@ -12,6 +12,8 @@ import register from 'babel-core/register';
import mockery from 'mockery';
import MockAsyncStorage from 'mock-async-storage';
window = {};
mockery.enable({
warnOnReplace: false,
warnOnUnregistered: false