From c7859fed1a49b452238e347f7740b5102b1f556e Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 16 Jul 2018 18:27:06 +0100 Subject: [PATCH] add heuristic to compare documents to prevent autocomplete flicker Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/rooms/MessageComposerInput.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/views/rooms/MessageComposerInput.js b/src/components/views/rooms/MessageComposerInput.js index 26e6ac8ab2..26e66f25fc 100644 --- a/src/components/views/rooms/MessageComposerInput.js +++ b/src/components/views/rooms/MessageComposerInput.js @@ -498,8 +498,10 @@ export default class MessageComposerInput extends React.Component { } } - // when selection changes hide the autocomplete - if (!rangeEquals(this.state.editorState.selection, editorState.selection)) { + // when selection changes hide the autocomplete. + // Selection changes when we enter text so use a heuristic to compare documents without doing it recursively + const documentChanged = this.state.editorState.document.text !== editorState.document.text; + if (!documentChanged && !rangeEquals(this.state.editorState.selection, editorState.selection)) { this.autocomplete.hide(); }