diff --git a/app/constants/list.js b/app/constants/list.js
index 8159991d7..3d6a494cb 100644
--- a/app/constants/list.js
+++ b/app/constants/list.js
@@ -8,4 +8,6 @@ const VISIBILITY_CONFIG_DEFAULTS = {
export default {
VISIBILITY_CONFIG_DEFAULTS,
-};
\ No newline at end of file
+ VISIBILITY_SCROLL_DOWN: 'down',
+ VISIBILITY_SCROLL_UP: 'up',
+};
diff --git a/app/screens/search/search.js b/app/screens/search/search.js
index db85d67ad..9ae01e48c 100644
--- a/app/screens/search/search.js
+++ b/app/screens/search/search.js
@@ -32,6 +32,7 @@ import PostSeparator from 'app/components/post_separator';
import SafeAreaView from 'app/components/safe_area_view';
import SearchBar from 'app/components/search_bar';
import StatusBar from 'app/components/status_bar';
+import {ListTypes} from 'app/constants';
import mattermostManaged from 'app/mattermost_managed';
import {preventDoubleTap} from 'app/utils/tap';
import {changeOpacity, makeStyleSheetFromTheme} from 'app/utils/theme';
@@ -43,6 +44,7 @@ const SECTION_HEIGHT = 20;
const RECENT_LABEL_HEIGHT = 42;
const RECENT_SEPARATOR_HEIGHT = 3;
const MODIFIER_LABEL_HEIGHT = 58;
+const SCROLL_UP_MULTIPLIER = 6;
const SEARCHING = 'searching';
const NO_RESULTS = 'no results';
@@ -89,6 +91,7 @@ export default class Search extends PureComponent {
props.navigator.setOnNavigatorEvent(this.onNavigatorEvent);
this.isX = DeviceInfo.getModel().includes('iPhone X');
+ this.contentOffsetY = 0;
this.state = {
channelName: '',
cursorPosition: 0,
@@ -119,7 +122,9 @@ export default class Search extends PureComponent {
const {searchingStatus: status, recent, enableDateSuggestion} = this.props;
const {searchingStatus: prevStatus} = prevProps;
const recentLength = recent.length;
- const shouldScroll = prevStatus !== status && (status === RequestStatus.SUCCESS || status === RequestStatus.STARTED) && !this.props.isSearchGettingMore && !prevProps.isSearchGettingMore;
+ const shouldScroll = prevStatus !== status &&
+ (status === RequestStatus.SUCCESS || status === RequestStatus.STARTED) &&
+ !this.props.isSearchGettingMore && !prevProps.isSearchGettingMore;
if (this.props.isLandscape !== prevProps.isLandscape) {
this.refs.searchBar.blur();
@@ -142,6 +147,30 @@ export default class Search extends PureComponent {
mattermostManaged.removeEventListener(this.listenerId);
}
+ archivedIndicator = (postID, style) => {
+ const channelIsArchived = this.props.archivedPostIds.includes(postID);
+ let archivedIndicator = null;
+ if (channelIsArchived) {
+ archivedIndicator = (
+
+
+
+ {' '}
+
+
+
+ );
+ }
+ return archivedIndicator;
+ };
+
cancelSearch = preventDoubleTap(() => {
const {navigator} = this.props;
this.handleTextChanged('', true);
@@ -196,11 +225,34 @@ export default class Search extends PureComponent {
this.showingPermalink = false;
};
+ handleLayout = (event) => {
+ const {height} = event.nativeEvent.layout;
+ this.setState({searchListHeight: height});
+ };
+
handlePermalinkPress = (postId, teamName) => {
this.props.actions.loadChannelsByTeamName(teamName);
this.showPermalinkView(postId, true);
};
+ handleScroll = (event) => {
+ const pageOffsetY = event.nativeEvent.contentOffset.y;
+ if (pageOffsetY > 0) {
+ const contentHeight = event.nativeEvent.contentSize.height;
+ const direction = (this.contentOffsetY < pageOffsetY) ?
+ ListTypes.VISIBILITY_SCROLL_UP :
+ ListTypes.VISIBILITY_SCROLL_DOWN;
+
+ this.contentOffsetY = pageOffsetY;
+ if (
+ direction === ListTypes.VISIBILITY_SCROLL_UP &&
+ (contentHeight - pageOffsetY) < (this.state.searchListHeight * SCROLL_UP_MULTIPLIER)
+ ) {
+ this.getMoreSearchResults();
+ }
+ }
+ };
+
handleSelectionChange = (event) => {
const cursorPosition = event.nativeEvent.selection.end;
this.setState({
@@ -208,6 +260,10 @@ export default class Search extends PureComponent {
});
};
+ handleSearchButtonPress = preventDoubleTap((text) => {
+ this.search(text);
+ });
+
handleTextChanged = (value, selectionChanged) => {
const {actions, searchingStatus, isSearchGettingMore} = this.props;
this.setState({value});
@@ -243,6 +299,12 @@ export default class Search extends PureComponent {
return item.id || item;
};
+ getMoreSearchResults = debounce(() => {
+ if (this.state.value && this.props.postIds.length) {
+ this.props.actions.getMorePostsForSearch();
+ }
+ }, 100);
+
onNavigatorEvent = (event) => {
if (event.id === 'backPress') {
if (this.state.preview) {
@@ -259,40 +321,24 @@ export default class Search extends PureComponent {
this.showPermalinkView(post.id, false);
};
- showPermalinkView = (postId, isPermalink) => {
- const {actions, navigator} = this.props;
-
- actions.selectFocusedPostId(postId);
-
- if (!this.showingPermalink) {
- const options = {
- screen: 'Permalink',
- animationType: 'none',
- backButtonTitle: '',
- overrideBackPress: true,
- navigatorStyle: {
- navBarHidden: true,
- screenBackgroundColor: changeOpacity('#000', 0.2),
- modalPresentationStyle: 'overCurrentContext',
- },
- passProps: {
- isPermalink,
- onClose: this.handleClosePermalink,
- onHashtagPress: this.handleHashtagPress,
- onPermalinkPress: this.handlePermalinkPress,
- },
- };
-
- this.showingPermalink = true;
- navigator.showModal(options);
- }
- };
-
removeSearchTerms = preventDoubleTap((item) => {
const {actions, currentTeamId} = this.props;
actions.removeSearchTerms(currentTeamId, item.terms);
});
+ renderFooter = () => {
+ if (this.props.isSearchGettingMore) {
+ const style = getStyleFromTheme(this.props.theme);
+ return (
+
+
+
+ );
+ }
+
+ return null;
+ };
+
renderModifiers = ({item}) => {
const {theme} = this.props;
const style = getStyleFromTheme(theme);
@@ -327,30 +373,6 @@ export default class Search extends PureComponent {
);
};
- archivedIndicator = (postID, style) => {
- const channelIsArchived = this.props.archivedPostIds.includes(postID);
- let archivedIndicator = null;
- if (channelIsArchived) {
- archivedIndicator = (
-
-
-
- {' '}
-
-
-
- );
- }
- return archivedIndicator;
- };
-
renderPost = ({item, index}) => {
const {postIds, theme} = this.props;
const {managedConfig} = this.state;
@@ -380,7 +402,7 @@ export default class Search extends PureComponent {
}
return (
-
+
{this.archivedIndicator(postIds[index], style)}
{
+ const {actions, navigator} = this.props;
+
+ actions.selectFocusedPostId(postId);
+
+ if (!this.showingPermalink) {
+ const options = {
+ screen: 'Permalink',
+ animationType: 'none',
+ backButtonTitle: '',
+ overrideBackPress: true,
+ navigatorStyle: {
+ navBarHidden: true,
+ screenBackgroundColor: changeOpacity('#000', 0.2),
+ modalPresentationStyle: 'overCurrentContext',
+ },
+ passProps: {
+ isPermalink,
+ onClose: this.handleClosePermalink,
+ onHashtagPress: this.handleHashtagPress,
+ onPermalinkPress: this.handlePermalinkPress,
+ },
+ };
+
+ this.showingPermalink = true;
+ navigator.showModal(options);
+ }
+ };
+
scrollToTop = () => {
if (this.refs.list) {
this.refs.list._wrapperListRef.getListRef().scrollToOffset({ //eslint-disable-line no-underscore-dangle
@@ -503,10 +554,6 @@ export default class Search extends PureComponent {
actions.searchPostsWithParams(currentTeamId, {terms: terms.trim(), is_or_search: isOrSearch, time_zone_offset: this.props.timezoneOffsetInSeconds, page: 0, per_page: 20}, true);
};
- handleSearchButtonPress = preventDoubleTap((text) => {
- this.search(text);
- });
-
setModifierValue = preventDoubleTap((modifier) => {
const {value} = this.state;
let newValue = '';
@@ -533,12 +580,6 @@ export default class Search extends PureComponent {
Keyboard.dismiss();
});
- onEndReached = debounce(() => {
- if (this.state.value) {
- this.props.actions.getMorePostsForSearch();
- }
- }, 100);
-
render() {
const {
isLandscape,
@@ -721,8 +762,10 @@ export default class Search extends PureComponent {
keyboardShouldPersistTaps='always'
keyboardDismissMode='interactive'
stickySectionHeadersEnabled={Platform.OS === 'ios'}
- onEndReached={this.onEndReached}
- onEndReachedThreshold={Platform.OS === 'ios' ? 0 : 1}
+ onLayout={this.handleLayout}
+ onScroll={this.handleScroll}
+ scrollEventThrottle={60}
+ ListFooterComponent={this.renderFooter}
/>
{
archivedText: {
color: changeOpacity(theme.centerChannelColor, 0.4),
},
+ postResult: {
+ overflow: 'hidden',
+ },
+ loadingMore: {
+ height: 60,
+ },
};
});
diff --git a/package-lock.json b/package-lock.json
index 8312ae490..e9f941cc1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2566,7 +2566,7 @@
},
"inquirer": {
"version": "5.2.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz",
"integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==",
"requires": {
"ansi-escapes": "^3.0.0",
@@ -2625,7 +2625,7 @@
},
"yargs": {
"version": "11.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz",
"integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==",
"requires": {
"cliui": "^4.0.0",
@@ -2744,7 +2744,7 @@
},
"ansi-colors": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
"integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
"requires": {
"ansi-wrap": "^0.1.0"
@@ -3610,7 +3610,7 @@
},
"babel-plugin-istanbul": {
"version": "4.1.6",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz",
"integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==",
"dev": true,
"requires": {
@@ -3641,22 +3641,22 @@
},
"babel-plugin-syntax-class-properties": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
"integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94="
},
"babel-plugin-syntax-flow": {
"version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
"integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0="
},
"babel-plugin-syntax-jsx": {
"version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
"integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
},
"babel-plugin-syntax-object-rest-spread": {
"version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
"integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U="
},
"babel-plugin-syntax-trailing-function-commas": {
@@ -4312,7 +4312,7 @@
},
"chalk": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"requires": {
"ansi-styles": "^2.2.1",
@@ -4431,8 +4431,7 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"aproba": {
"version": "1.2.0",
@@ -4453,14 +4452,12 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -4475,20 +4472,17 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"core-util-is": {
"version": "1.0.2",
@@ -4605,8 +4599,7 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"ini": {
"version": "1.3.5",
@@ -4618,7 +4611,6 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -4633,7 +4625,6 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -4641,14 +4632,12 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
@@ -4667,7 +4656,6 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -4748,8 +4736,7 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"object-assign": {
"version": "4.1.1",
@@ -4761,7 +4748,6 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"wrappy": "1"
}
@@ -4847,8 +4833,7 @@
"safe-buffer": {
"version": "5.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -4884,7 +4869,6 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -4904,7 +4888,6 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -4948,14 +4931,12 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"yallist": {
"version": "3.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
@@ -5178,7 +5159,7 @@
},
"combined-stream": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"requires": {
"delayed-stream": "~1.0.0"
@@ -6273,7 +6254,7 @@
},
"external-editor": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
"integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
"requires": {
"chardet": "^0.4.0",
@@ -6624,13 +6605,11 @@
},
"balanced-match": {
"version": "1.0.0",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
- "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -6647,8 +6626,7 @@
},
"concat-map": {
"version": "0.0.1",
- "bundled": true,
- "optional": true
+ "bundled": true
},
"console-control-strings": {
"version": "1.1.0",
@@ -6777,7 +6755,6 @@
"minimatch": {
"version": "3.0.4",
"bundled": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -7422,7 +7399,7 @@
},
"http-errors": {
"version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
"requires": {
"depd": "~1.1.2",
@@ -7663,7 +7640,7 @@
},
"is-builtin-module": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"requires": {
"builtin-modules": "^1.0.0"
@@ -9459,7 +9436,7 @@
},
"jsonfile": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
"integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
"requires": {
"graceful-fs": "^4.1.6"
@@ -9602,7 +9579,7 @@
},
"load-json-file": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"requires": {
"graceful-fs": "^4.1.2",
@@ -9820,8 +9797,8 @@
"integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w="
},
"mattermost-redux": {
- "version": "github:mattermost/mattermost-redux#070adc899cd3321d9370a194000aa5a009606288",
- "from": "github:mattermost/mattermost-redux#070adc899cd3321d9370a194000aa5a009606288",
+ "version": "github:mattermost/mattermost-redux#fe7340ccd0e1909ab2cc98ab44a679d90672bdb9",
+ "from": "github:mattermost/mattermost-redux#fe7340ccd0e1909ab2cc98ab44a679d90672bdb9",
"requires": {
"deep-equal": "1.0.1",
"eslint-plugin-header": "1.2.0",
@@ -10244,7 +10221,7 @@
},
"minimist": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
},
"mixin-deep": {
@@ -10268,7 +10245,7 @@
},
"mkdirp": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"requires": {
"minimist": "0.0.8"
@@ -10276,7 +10253,7 @@
"dependencies": {
"minimist": {
"version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
}
}
@@ -11996,7 +11973,7 @@
},
"opn": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz",
+ "resolved": "http://registry.npmjs.org/opn/-/opn-3.0.3.tgz",
"integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=",
"requires": {
"object-assign": "^4.0.1"
@@ -12013,7 +11990,7 @@
"dependencies": {
"minimist": {
"version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
"integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
},
"wordwrap": {
@@ -12211,7 +12188,7 @@
},
"pegjs": {
"version": "0.10.0",
- "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz",
+ "resolved": "http://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz",
"integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0="
},
"performance-now": {
@@ -12328,7 +12305,7 @@
},
"pretty-format": {
"version": "4.3.1",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-4.3.1.tgz",
+ "resolved": "http://registry.npmjs.org/pretty-format/-/pretty-format-4.3.1.tgz",
"integrity": "sha1-UwvlxCs8BbNkFKeipDN6qArNDo0="
},
"private": {
@@ -13125,7 +13102,7 @@
},
"readable-stream": {
"version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"requires": {
"core-util-is": "~1.0.0",
@@ -14278,7 +14255,7 @@
},
"sax": {
"version": "1.1.6",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz",
+ "resolved": "http://registry.npmjs.org/sax/-/sax-1.1.6.tgz",
"integrity": "sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA="
},
"sc-auth": {
@@ -15249,7 +15226,7 @@
"dependencies": {
"rimraf": {
"version": "2.2.8",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
+ "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
"integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI="
}
}
@@ -15279,7 +15256,7 @@
},
"load-json-file": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"dev": true,
"requires": {
@@ -15355,7 +15332,7 @@
},
"through": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
"through2": {
@@ -15879,7 +15856,7 @@
},
"wrap-ansi": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
"requires": {
"string-width": "^1.0.1",
diff --git a/package.json b/package.json
index 4cdc6c764..88798e15a 100644
--- a/package.json
+++ b/package.json
@@ -17,7 +17,7 @@
"intl": "1.2.5",
"jail-monkey": "1.0.0",
"jsc-android": "224109.1.0",
- "mattermost-redux": "github:mattermost/mattermost-redux#070adc899cd3321d9370a194000aa5a009606288",
+ "mattermost-redux": "github:mattermost/mattermost-redux#fe7340ccd0e1909ab2cc98ab44a679d90672bdb9",
"mime-db": "1.36.0",
"moment-timezone": "0.5.21",
"prop-types": "15.6.2",