diff options
Diffstat (limited to 'src/view/com/composer/text-input/TextInput.tsx')
-rw-r--r-- | src/view/com/composer/text-input/TextInput.tsx | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/view/com/composer/text-input/TextInput.tsx b/src/view/com/composer/text-input/TextInput.tsx index e9c5d86b9..ea92d0b91 100644 --- a/src/view/com/composer/text-input/TextInput.tsx +++ b/src/view/com/composer/text-input/TextInput.tsx @@ -96,10 +96,11 @@ export const TextInput = forwardRef(function TextInputImpl( newRt.detectFacetsWithoutResolution() setRichText(newRt) - const prefix = getMentionAt( - newText, - textInputSelection.current?.start || 0, - ) + // NOTE: BinaryFiddler + // onChangeText happens before onSelectionChange, cursorPos is out of bound if the user deletes characters, + const cursorPos = textInputSelection.current?.start ?? 0 + const prefix = getMentionAt(newText, Math.min(cursorPos, newText.length)) + if (prefix) { setAutocompletePrefix(prefix.value) } else if (autocompletePrefix) { |