From 855f8871b810d20e88b255f693a9d783ee545c25 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 18 Jul 2018 16:50:07 +0100 Subject: [PATCH] replace heuristic for the time being as it failed with inlines like pills. Fixes vector-im/riot-web#7059 Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/rooms/MessageComposerInput.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/views/rooms/MessageComposerInput.js b/src/components/views/rooms/MessageComposerInput.js index af342a0b99..a6ed136cd5 100644 --- a/src/components/views/rooms/MessageComposerInput.js +++ b/src/components/views/rooms/MessageComposerInput.js @@ -504,8 +504,9 @@ export default class MessageComposerInput extends React.Component { // when in autocomplete mode and selection changes hide the autocomplete. // Selection changes when we enter text so use a heuristic to compare documents without doing it recursively if (this.autocomplete.state.completionList.length > 0 && !this.autocomplete.state.hide && - this.state.editorState.document.text === editorState.document.text && - !rangeEquals(this.state.editorState.selection, editorState.selection)) + !rangeEquals(this.state.editorState.selection, editorState.selection) && + // XXX: the heuristic failed when inlines like pills weren't taken into account. This is inideal + this.state.editorState.document.toJSON() === editorState.document.toJSON()) { this.autocomplete.hide(); }