From 6e3e7a1ab62569c168d475d36bf8ad6d268bc2ed Mon Sep 17 00:00:00 2001 From: Elias Nahum Date: Wed, 13 Nov 2019 21:02:34 -0500 Subject: [PATCH 01/16] MM-19961 Sync persisted channels with the ones returned by the server (#3553) --- package-lock.json | 80 ++++++++++++++++++++++++++++++++++++++--------- package.json | 5 +-- 2 files changed, 69 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 799f2b640..c3e558540 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4884,7 +4884,8 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "bundled": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -4902,11 +4903,13 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "bundled": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4919,15 +4922,18 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true + "bundled": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -5030,7 +5036,8 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "bundled": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -5040,6 +5047,7 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -5052,17 +5060,20 @@ "minimatch": { "version": "3.0.4", "bundled": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true + "bundled": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -5079,6 +5090,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -5151,7 +5163,8 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "bundled": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -5161,6 +5174,7 @@ "once": { "version": "1.4.0", "bundled": true, + "optional": true, "requires": { "wrappy": "1" } @@ -5236,7 +5250,8 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true + "bundled": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -5266,6 +5281,7 @@ "string-width": { "version": "1.0.2", "bundled": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -5283,6 +5299,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -5321,11 +5338,13 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "bundled": true, + "optional": true }, "yallist": { "version": "3.0.3", - "bundled": true + "bundled": true, + "optional": true } } }, @@ -6125,6 +6144,12 @@ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, + "is-generator-function": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz", + "integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==", + "dev": true + }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", @@ -7759,9 +7784,10 @@ } }, "mattermost-redux": { - "version": "github:mattermost/mattermost-redux#e09899fda322c362c55c8ebbddc967920864a385", - "from": "github:mattermost/mattermost-redux#e09899fda322c362c55c8ebbddc967920864a385", + "version": "github:mattermost/mattermost-redux#98a375cea54f78fb6c0ede01ee4e9aec009f9fa5", + "from": "github:mattermost/mattermost-redux#98a375cea54f78fb6c0ede01ee4e9aec009f9fa5", "requires": { + "form-data": "2.5.1", "gfycat-sdk": "1.4.18", "isomorphic-fetch": "2.2.1", "moment-timezone": "0.5.26", @@ -7773,7 +7799,7 @@ "redux-thunk": "2.3.0", "remote-redux-devtools": "0.5.16", "reselect": "4.0.0", - "serialize-error": "2.1.0", + "serialize-error": "5.0.0", "shallow-equals": "1.0.0" }, "dependencies": { @@ -7802,6 +7828,19 @@ "lodash": "^4.17.4", "lodash-es": "^4.17.4" } + }, + "serialize-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-5.0.0.tgz", + "integrity": "sha512-/VtpuyzYf82mHYTtI4QKtwHa79vAdU5OQpNPAmE/0UDdlGT0ZxHwC+J6gXkw29wwoVI8fMPsfcVHOwXtUQYYQA==", + "requires": { + "type-fest": "^0.8.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" } } }, @@ -13425,6 +13464,19 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, + "util": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.1.tgz", + "integrity": "sha512-MREAtYOp+GTt9/+kwf00IYoHZyjM8VU4aVrkzUlejyqaIjd2GztVl5V9hGXKlvBKE3gENn/FMfHE5v6hElXGcQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "object.entries": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index f99348c77..3082d8aae 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "intl": "1.2.5", "jail-monkey": "2.3.0", "jsc-android": "241213.1.0", - "mattermost-redux": "github:mattermost/mattermost-redux#e09899fda322c362c55c8ebbddc967920864a385", + "mattermost-redux": "github:mattermost/mattermost-redux#98a375cea54f78fb6c0ede01ee4e9aec009f9fa5", "mime-db": "1.42.0", "moment-timezone": "0.5.27", "prop-types": "15.7.2", @@ -114,7 +114,8 @@ "redux-mock-store": "1.5.3", "remote-redux-devtools": "0.5.16", "socketcluster": "14.4.1", - "underscore": "1.9.1" + "underscore": "1.9.1", + "util": "0.12.1" }, "scripts": { "start": "node ./node_modules/react-native/local-cli/cli.js start", From 96b78adf45be2c27ae514d1a3793a9433ef8d71f Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Thu, 14 Nov 2019 10:32:08 -0800 Subject: [PATCH 02/16] Adding ability to disable attachment buttons and fields. (#3541) * Adding ability to disable attachment buttons and fields. * Revert package lock * Use changeOpacity --- .../autocomplete_selector/autocomplete_selector.js | 8 +++++++- .../action_button/action_button.js | 11 +++++++++-- .../message_attachments/action_menu/action_menu.js | 3 +++ .../action_menu/action_menu.test.js | 10 ++++++++++ .../message_attachments/attachment_actions.js | 2 ++ 5 files changed, 31 insertions(+), 3 deletions(-) diff --git a/app/components/autocomplete_selector/autocomplete_selector.js b/app/components/autocomplete_selector/autocomplete_selector.js index 83abb8488..c5b8c1499 100644 --- a/app/components/autocomplete_selector/autocomplete_selector.js +++ b/app/components/autocomplete_selector/autocomplete_selector.js @@ -36,6 +36,7 @@ export default class AutocompleteSelector extends PureComponent { errorText: PropTypes.node, roundedBorders: PropTypes.bool, isLandscape: PropTypes.bool.isRequired, + disabled: PropTypes.bool, }; static contextTypes = { @@ -119,6 +120,7 @@ export default class AutocompleteSelector extends PureComponent { showRequiredAsterisk, roundedBorders, isLandscape, + disabled, } = this.props; const {selectedText} = this.state; const style = getStyleSheet(theme); @@ -188,9 +190,10 @@ export default class AutocompleteSelector extends PureComponent { {labelContent} { color: theme.errorTextColor, fontSize: 14, }, + disabled: { + opacity: 0.5, + }, }; }); diff --git a/app/components/message_attachments/action_button/action_button.js b/app/components/message_attachments/action_button/action_button.js index a604f6995..760a101d8 100644 --- a/app/components/message_attachments/action_button/action_button.js +++ b/app/components/message_attachments/action_button/action_button.js @@ -6,7 +6,7 @@ import PropTypes from 'prop-types'; import Button from 'react-native-button'; import {preventDoubleTap} from 'app/utils/tap'; -import {makeStyleSheetFromTheme} from 'app/utils/theme'; +import {makeStyleSheetFromTheme, changeOpacity} from 'app/utils/theme'; import ActionButtonText from './action_button_text'; export default class ActionButton extends PureComponent { @@ -19,6 +19,7 @@ export default class ActionButton extends PureComponent { postId: PropTypes.string.isRequired, theme: PropTypes.object.isRequired, cookie: PropTypes.string.isRequired, + disabled: PropTypes.bool, }; handleActionPress = preventDoubleTap(() => { @@ -27,13 +28,15 @@ export default class ActionButton extends PureComponent { }, 4000); render() { - const {name, theme} = this.props; + const {name, theme, disabled} = this.props; const style = getStyleSheet(theme); return (