diff --git a/.eslintignore.errorfiles b/.eslintignore.errorfiles
index 1a12432c87..1c9e2d4413 100644
--- a/.eslintignore.errorfiles
+++ b/.eslintignore.errorfiles
@@ -53,7 +53,6 @@ src/components/views/rooms/MemberInfo.js
src/components/views/rooms/MemberList.js
src/components/views/rooms/MemberTile.js
src/components/views/rooms/MessageComposer.js
-src/components/views/rooms/MessageComposerInput.js
src/components/views/rooms/PinnedEventTile.js
src/components/views/rooms/RoomList.js
src/components/views/rooms/RoomPreviewBar.js
diff --git a/src/components/views/rooms/MessageComposerInput.js b/src/components/views/rooms/MessageComposerInput.js
index 80f90d37b4..4c800ad8d2 100644
--- a/src/components/views/rooms/MessageComposerInput.js
+++ b/src/components/views/rooms/MessageComposerInput.js
@@ -15,13 +15,11 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import React from 'react';
-import ReactDOM from 'react-dom';
import PropTypes from 'prop-types';
-import type SyntheticKeyboardEvent from 'react/lib/SyntheticKeyboardEvent';
import { Editor } from 'slate-react';
import { getEventTransfer } from 'slate-react';
-import { Value, Document, Block, Inline, Text, Range, Node } from 'slate';
+import { Value, Block, Inline, Range } from 'slate';
import type { Change } from 'slate';
import Html from 'slate-html-serializer';
@@ -30,7 +28,6 @@ import Plain from 'slate-plain-serializer';
import PlainWithPillsSerializer from "../../../autocomplete/PlainWithPillsSerializer";
import classNames from 'classnames';
-import Promise from 'bluebird';
import MatrixClientPeg from '../../../MatrixClientPeg';
import type {MatrixClient} from 'matrix-js-sdk/lib/matrix';
@@ -38,7 +35,7 @@ import {processCommandInput} from '../../../SlashCommands';
import { KeyCode, isOnlyCtrlOrCmdKeyEvent } from '../../../Keyboard';
import Modal from '../../../Modal';
import sdk from '../../../index';
-import { _t, _td } from '../../../languageHandler';
+import { _t } from '../../../languageHandler';
import Analytics from '../../../Analytics';
import * as RichText from '../../../RichText';
@@ -49,27 +46,24 @@ import Markdown from '../../../Markdown';
import ComposerHistoryManager from '../../../ComposerHistoryManager';
import MessageComposerStore from '../../../stores/MessageComposerStore';
-import {MATRIXTO_MD_LINK_PATTERN, MATRIXTO_URL_PATTERN} from '../../../linkify-matrix';
-const REGEX_MATRIXTO_MARKDOWN_GLOBAL = new RegExp(MATRIXTO_MD_LINK_PATTERN, 'g');
+import {MATRIXTO_URL_PATTERN} from '../../../linkify-matrix';
-import {asciiRegexp, unicodeRegexp, shortnameToUnicode, emojioneList, asciiList, mapUnicodeToShort, toShort} from 'emojione';
+import {
+ asciiRegexp, unicodeRegexp, shortnameToUnicode,
+ asciiList, mapUnicodeToShort, toShort,
+} from 'emojione';
import SettingsStore, {SettingLevel} from "../../../settings/SettingsStore";
import {makeUserPermalink} from "../../../matrix-to";
import ReplyPreview from "./ReplyPreview";
import ReplyThread from "../elements/ReplyThread";
import {ContentHelpers} from 'matrix-js-sdk';
-const EMOJI_SHORTNAMES = Object.keys(emojioneList);
const EMOJI_UNICODE_TO_SHORTNAME = mapUnicodeToShort();
const REGEX_EMOJI_WHITESPACE = new RegExp('(?:^|\\s)(' + asciiRegexp + ')\\s$');
const EMOJI_REGEX = new RegExp(unicodeRegexp, 'g');
const TYPING_USER_TIMEOUT = 10000; const TYPING_SERVER_TIMEOUT = 30000;
-const ENTITY_TYPES = {
- AT_ROOM_PILL: 'ATROOMPILL',
-};
-
// the Slate node type to default to for unstyled text
const DEFAULT_NODE = 'paragraph';
@@ -114,15 +108,6 @@ const SLATE_SCHEMA = {
},
};
-function onSendMessageFailed(err, room) {
- // XXX: temporary logging to try to diagnose
- // https://github.com/vector-im/riot-web/issues/3148
- console.log('MessageComposer got send failure: ' + err.name + '('+err+')');
- this.props.roomViewStore.getDispatcher().dispatch({
- action: 'message_send_failed',
- });
-}
-
function rangeEquals(a: Range, b: Range): boolean {
return (a.anchor.key === b.anchor.key
&& a.anchor.offset === b.anchorOffset
@@ -370,8 +355,16 @@ export default class MessageComposerInput extends React.Component {
this._editor = e;
}
+ onSendMessageFailed = (err, room) => {
+ // XXX: temporary logging to try to diagnose
+ // https://github.com/vector-im/riot-web/issues/3148
+ console.log('MessageComposer got send failure: ' + err.name + '('+err+')');
+ this.props.roomViewStore.getDispatcher().dispatch({
+ action: 'message_send_failed',
+ });
+ }
+
onAction = (payload) => {
- const editor = this._editor;
const editorState = this.state.editorState;
switch (payload.action) {
@@ -868,7 +861,7 @@ export default class MessageComposerInput extends React.Component {
return true;
}
- const newState: ?Value = null;
+ //const newState: ?Value = null;
// Draft handles rich text mode commands by default but we need to do it ourselves for Markdown.
if (this.state.isRichTextEnabled) {
@@ -1119,7 +1112,9 @@ export default class MessageComposerInput extends React.Component {
const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog");
Modal.createTrackedDialog('Server error', '', ErrorDialog, {
title: _t("Server error"),
- description: ((err && err.message) ? err.message : _t("Server unavailable, overloaded, or something else went wrong.")),
+ description: ((err && err.message) ? err.message : _t(
+ "Server unavailable, overloaded, or something else went wrong.",
+ )),
});
});
} else if (cmd.error) {
@@ -1233,7 +1228,7 @@ export default class MessageComposerInput extends React.Component {
action: 'message_sent',
});
}).catch((e) => {
- onSendMessageFailed(e, this.props.room);
+ this.onSendMessageFailed(e, this.props.room);
});
this.setState({
@@ -1498,7 +1493,9 @@ export default class MessageComposerInput extends React.Component {
});
const style = {};
if (props.selected) style.border = '1px solid blue';
- return ;
+ return ;
}
}
};
@@ -1552,7 +1549,6 @@ export default class MessageComposerInput extends React.Component {
getSelectionRange(editorState: Value) {
let beginning = false;
- const query = this.getAutocompleteQuery(editorState);
const firstChild = editorState.document.nodes.get(0);
const firstGrandChild = firstChild && firstChild.nodes.get(0);
beginning = (firstChild && firstGrandChild &&