stream-chat-react-native-core 8.13.15 → 8.13.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -55,6 +55,31 @@ var AutoCompleteInputWithContext = function AutoCompleteInputWithContext(props)
55
55
  text = _useStateStore.text;
56
56
  var _useStateStore2 = (0, _useStateStore3.useStateStore)(messageComposer.configState, configStateSelector),
57
57
  enabled = _useStateStore2.enabled;
58
+ var latestTextRef = (0, _react.useRef)('');
59
+ var latestSelectionRef = (0, _react.useRef)({
60
+ end: 0,
61
+ start: 0
62
+ });
63
+ var flushHandleRef = (0, _react.useRef)(null);
64
+ var flushChange = (0, _react.useCallback)(function () {
65
+ flushHandleRef.current = null;
66
+ textComposer.handleChange({
67
+ selection: latestSelectionRef.current,
68
+ text: latestTextRef.current
69
+ });
70
+ }, [textComposer]);
71
+ var scheduleChange = (0, _react.useCallback)(function () {
72
+ if (flushHandleRef.current !== null) return;
73
+ flushHandleRef.current = setTimeout(flushChange, 0);
74
+ }, [flushChange]);
75
+ (0, _react.useEffect)(function () {
76
+ return function () {
77
+ if (flushHandleRef.current !== null) {
78
+ clearTimeout(flushHandleRef.current);
79
+ flushHandleRef.current = null;
80
+ }
81
+ };
82
+ }, []);
58
83
  var maxMessageLength = (0, _react.useMemo)(function () {
59
84
  var _channel$getConfig;
60
85
  return (_channel$getConfig = channel.getConfig()) == null ? void 0 : _channel$getConfig.max_message_length;
@@ -65,21 +90,25 @@ var AutoCompleteInputWithContext = function AutoCompleteInputWithContext(props)
65
90
  }, [props.numberOfLines]);
66
91
  (0, _react.useEffect)(function () {
67
92
  setLocalText(text);
93
+ if (text !== latestTextRef.current) {
94
+ latestTextRef.current = text;
95
+ latestSelectionRef.current = {
96
+ end: text.length,
97
+ start: text.length
98
+ };
99
+ }
68
100
  }, [text]);
69
101
  var handleSelectionChange = (0, _react.useCallback)(function (e) {
70
102
  var selection = e.nativeEvent.selection;
103
+ latestSelectionRef.current = selection;
71
104
  textComposer.setSelection(selection);
72
- }, [textComposer]);
105
+ scheduleChange();
106
+ }, [scheduleChange, textComposer]);
73
107
  var onChangeTextHandler = (0, _react.useCallback)(function (newText) {
74
108
  setLocalText(newText);
75
- textComposer.handleChange({
76
- selection: {
77
- end: newText.length,
78
- start: newText.length
79
- },
80
- text: newText
81
- });
82
- }, [textComposer]);
109
+ latestTextRef.current = newText;
110
+ scheduleChange();
111
+ }, [scheduleChange]);
83
112
  var _useTheme = (0, _ThemeContext.useTheme)(),
84
113
  _useTheme$theme = _useTheme.theme,
85
114
  _useTheme$theme$color = _useTheme$theme.colors,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_ChannelContext","_useMessageComposer","_MessageInputContext","_ThemeContext","_TranslationContext","_useStateStore3","_jsxRuntime","_excluded","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","textComposerStateSelector","state","command","text","configStateSelector","enabled","MAX_NUMBER_OF_LINES","AutoCompleteInputWithContext","props","channel","_props$cooldownActive","cooldownActive","setInputBoxRef","_props$TextInputCompo","TextInputComponent","RNTextInput","rest","_objectWithoutProperties2","_useState","useState","_useState2","_slicedToArray2","localText","setLocalText","_useState3","_useState4","textHeight","setTextHeight","messageComposer","useMessageComposer","textComposer","_useStateStore","useStateStore","_useStateStore2","configState","maxMessageLength","useMemo","_channel$getConfig","getConfig","max_message_length","numberOfLines","_props$numberOfLines","useEffect","handleSelectionChange","useCallback","selection","nativeEvent","setSelection","onChangeTextHandler","newText","handleChange","end","length","start","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","grey","inputBox","messageInput","placeholderText","handleContentSizeChange","_ref","contentSize","height","jsx","assign","autoFocus","editable","maxLength","multiline","onChangeText","onContentSizeChange","onSelectionChange","placeholder","placeholderTextColor","ref","style","styles","color","maxHeight","paddingHorizontal","textAlign","I18nManager","isRTL","testID","value","areEqual","prevProps","nextProps","prevChannel","prevCooldownActive","prevT","nextChannel","nextCooldownActive","nextT","tEqual","cooldownActiveEqual","channelEqual","cid","MemoizedAutoCompleteInput","React","memo","AutoCompleteInput","exports","_useMessageInputConte","useMessageInputContext","_useTranslationContex","useTranslationContext","_useChannelContext","useChannelContext","StyleSheet","create","flex","fontSize","includeFontPadding","paddingVertical","textAlignVertical","displayName"],"sourceRoot":"../../../../src","sources":["components/AutoCompleteInput/AutoCompleteInput.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_ChannelContext","_useMessageComposer","_MessageInputContext","_ThemeContext","_TranslationContext","_useStateStore3","_jsxRuntime","_excluded","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","textComposerStateSelector","state","command","text","configStateSelector","enabled","MAX_NUMBER_OF_LINES","AutoCompleteInputWithContext","props","channel","_props$cooldownActive","cooldownActive","setInputBoxRef","_props$TextInputCompo","TextInputComponent","RNTextInput","rest","_objectWithoutProperties2","_useState","useState","_useState2","_slicedToArray2","localText","setLocalText","_useState3","_useState4","textHeight","setTextHeight","messageComposer","useMessageComposer","textComposer","_useStateStore","useStateStore","_useStateStore2","configState","latestTextRef","useRef","latestSelectionRef","end","start","flushHandleRef","flushChange","useCallback","current","handleChange","selection","scheduleChange","setTimeout","useEffect","clearTimeout","maxMessageLength","useMemo","_channel$getConfig","getConfig","max_message_length","numberOfLines","_props$numberOfLines","length","handleSelectionChange","nativeEvent","setSelection","onChangeTextHandler","newText","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","grey","inputBox","messageInput","placeholderText","handleContentSizeChange","_ref","contentSize","height","jsx","assign","autoFocus","editable","maxLength","multiline","onChangeText","onContentSizeChange","onSelectionChange","placeholder","placeholderTextColor","ref","style","styles","color","maxHeight","paddingHorizontal","textAlign","I18nManager","isRTL","testID","value","areEqual","prevProps","nextProps","prevChannel","prevCooldownActive","prevT","nextChannel","nextCooldownActive","nextT","tEqual","cooldownActiveEqual","channelEqual","cid","MemoizedAutoCompleteInput","React","memo","AutoCompleteInput","exports","_useMessageInputConte","useMessageInputContext","_useTranslationContex","useTranslationContext","_useChannelContext","useChannelContext","StyleSheet","create","flex","fontSize","includeFontPadding","paddingVertical","textAlignVertical","displayName"],"sourceRoot":"../../../../src","sources":["components/AutoCompleteInput/AutoCompleteInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "8.13.15"
2
+ "version": "8.13.16"
3
3
  }
@@ -55,6 +55,31 @@ var AutoCompleteInputWithContext = function AutoCompleteInputWithContext(props)
55
55
  text = _useStateStore.text;
56
56
  var _useStateStore2 = (0, _useStateStore3.useStateStore)(messageComposer.configState, configStateSelector),
57
57
  enabled = _useStateStore2.enabled;
58
+ var latestTextRef = (0, _react.useRef)('');
59
+ var latestSelectionRef = (0, _react.useRef)({
60
+ end: 0,
61
+ start: 0
62
+ });
63
+ var flushHandleRef = (0, _react.useRef)(null);
64
+ var flushChange = (0, _react.useCallback)(function () {
65
+ flushHandleRef.current = null;
66
+ textComposer.handleChange({
67
+ selection: latestSelectionRef.current,
68
+ text: latestTextRef.current
69
+ });
70
+ }, [textComposer]);
71
+ var scheduleChange = (0, _react.useCallback)(function () {
72
+ if (flushHandleRef.current !== null) return;
73
+ flushHandleRef.current = setTimeout(flushChange, 0);
74
+ }, [flushChange]);
75
+ (0, _react.useEffect)(function () {
76
+ return function () {
77
+ if (flushHandleRef.current !== null) {
78
+ clearTimeout(flushHandleRef.current);
79
+ flushHandleRef.current = null;
80
+ }
81
+ };
82
+ }, []);
58
83
  var maxMessageLength = (0, _react.useMemo)(function () {
59
84
  var _channel$getConfig;
60
85
  return (_channel$getConfig = channel.getConfig()) == null ? void 0 : _channel$getConfig.max_message_length;
@@ -65,21 +90,25 @@ var AutoCompleteInputWithContext = function AutoCompleteInputWithContext(props)
65
90
  }, [props.numberOfLines]);
66
91
  (0, _react.useEffect)(function () {
67
92
  setLocalText(text);
93
+ if (text !== latestTextRef.current) {
94
+ latestTextRef.current = text;
95
+ latestSelectionRef.current = {
96
+ end: text.length,
97
+ start: text.length
98
+ };
99
+ }
68
100
  }, [text]);
69
101
  var handleSelectionChange = (0, _react.useCallback)(function (e) {
70
102
  var selection = e.nativeEvent.selection;
103
+ latestSelectionRef.current = selection;
71
104
  textComposer.setSelection(selection);
72
- }, [textComposer]);
105
+ scheduleChange();
106
+ }, [scheduleChange, textComposer]);
73
107
  var onChangeTextHandler = (0, _react.useCallback)(function (newText) {
74
108
  setLocalText(newText);
75
- textComposer.handleChange({
76
- selection: {
77
- end: newText.length,
78
- start: newText.length
79
- },
80
- text: newText
81
- });
82
- }, [textComposer]);
109
+ latestTextRef.current = newText;
110
+ scheduleChange();
111
+ }, [scheduleChange]);
83
112
  var _useTheme = (0, _ThemeContext.useTheme)(),
84
113
  _useTheme$theme = _useTheme.theme,
85
114
  _useTheme$theme$color = _useTheme$theme.colors,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_ChannelContext","_useMessageComposer","_MessageInputContext","_ThemeContext","_TranslationContext","_useStateStore3","_jsxRuntime","_excluded","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","textComposerStateSelector","state","command","text","configStateSelector","enabled","MAX_NUMBER_OF_LINES","AutoCompleteInputWithContext","props","channel","_props$cooldownActive","cooldownActive","setInputBoxRef","_props$TextInputCompo","TextInputComponent","RNTextInput","rest","_objectWithoutProperties2","_useState","useState","_useState2","_slicedToArray2","localText","setLocalText","_useState3","_useState4","textHeight","setTextHeight","messageComposer","useMessageComposer","textComposer","_useStateStore","useStateStore","_useStateStore2","configState","maxMessageLength","useMemo","_channel$getConfig","getConfig","max_message_length","numberOfLines","_props$numberOfLines","useEffect","handleSelectionChange","useCallback","selection","nativeEvent","setSelection","onChangeTextHandler","newText","handleChange","end","length","start","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","grey","inputBox","messageInput","placeholderText","handleContentSizeChange","_ref","contentSize","height","jsx","assign","autoFocus","editable","maxLength","multiline","onChangeText","onContentSizeChange","onSelectionChange","placeholder","placeholderTextColor","ref","style","styles","color","maxHeight","paddingHorizontal","textAlign","I18nManager","isRTL","testID","value","areEqual","prevProps","nextProps","prevChannel","prevCooldownActive","prevT","nextChannel","nextCooldownActive","nextT","tEqual","cooldownActiveEqual","channelEqual","cid","MemoizedAutoCompleteInput","React","memo","AutoCompleteInput","exports","_useMessageInputConte","useMessageInputContext","_useTranslationContex","useTranslationContext","_useChannelContext","useChannelContext","StyleSheet","create","flex","fontSize","includeFontPadding","paddingVertical","textAlignVertical","displayName"],"sourceRoot":"../../../../src","sources":["components/AutoCompleteInput/AutoCompleteInput.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_ChannelContext","_useMessageComposer","_MessageInputContext","_ThemeContext","_TranslationContext","_useStateStore3","_jsxRuntime","_excluded","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","textComposerStateSelector","state","command","text","configStateSelector","enabled","MAX_NUMBER_OF_LINES","AutoCompleteInputWithContext","props","channel","_props$cooldownActive","cooldownActive","setInputBoxRef","_props$TextInputCompo","TextInputComponent","RNTextInput","rest","_objectWithoutProperties2","_useState","useState","_useState2","_slicedToArray2","localText","setLocalText","_useState3","_useState4","textHeight","setTextHeight","messageComposer","useMessageComposer","textComposer","_useStateStore","useStateStore","_useStateStore2","configState","latestTextRef","useRef","latestSelectionRef","end","start","flushHandleRef","flushChange","useCallback","current","handleChange","selection","scheduleChange","setTimeout","useEffect","clearTimeout","maxMessageLength","useMemo","_channel$getConfig","getConfig","max_message_length","numberOfLines","_props$numberOfLines","length","handleSelectionChange","nativeEvent","setSelection","onChangeTextHandler","newText","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","grey","inputBox","messageInput","placeholderText","handleContentSizeChange","_ref","contentSize","height","jsx","assign","autoFocus","editable","maxLength","multiline","onChangeText","onContentSizeChange","onSelectionChange","placeholder","placeholderTextColor","ref","style","styles","color","maxHeight","paddingHorizontal","textAlign","I18nManager","isRTL","testID","value","areEqual","prevProps","nextProps","prevChannel","prevCooldownActive","prevT","nextChannel","nextCooldownActive","nextT","tEqual","cooldownActiveEqual","channelEqual","cid","MemoizedAutoCompleteInput","React","memo","AutoCompleteInput","exports","_useMessageInputConte","useMessageInputContext","_useTranslationContex","useTranslationContext","_useChannelContext","useChannelContext","StyleSheet","create","flex","fontSize","includeFontPadding","paddingVertical","textAlignVertical","displayName"],"sourceRoot":"../../../../src","sources":["components/AutoCompleteInput/AutoCompleteInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "8.13.15"
2
+ "version": "8.13.16"
3
3
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCompleteInput.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoCompleteInput/AutoCompleteInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AACzE,OAAO,EAEL,SAAS,IAAI,WAAW,EAGxB,cAAc,EAEf,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,mBAAmB,EAEpB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,wBAAwB,EAEzB,MAAM,wDAAwD,CAAC;AAEhE,OAAO,EACL,uBAAuB,EAExB,MAAM,sDAAsD,CAAC;AAI9D,KAAK,iCAAiC,GAAG,cAAc,GACrD,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GACpC,IAAI,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,GAChD,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,GAAG;IACnC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CACtC,cAAc,GAAG;QACf,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;KACzC,CACF,CAAC;CACH,CAAC;AAEJ,KAAK,sBAAsB,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;AA6IzE,eAAO,MAAM,iBAAiB;YAAW,sBAAsB;;CAe9D,CAAC"}
1
+ {"version":3,"file":"AutoCompleteInput.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoCompleteInput/AutoCompleteInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,EAEL,SAAS,IAAI,WAAW,EAGxB,cAAc,EAEf,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,mBAAmB,EAEpB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,wBAAwB,EAEzB,MAAM,wDAAwD,CAAC;AAEhE,OAAO,EACL,uBAAuB,EAExB,MAAM,sDAAsD,CAAC;AAI9D,KAAK,iCAAiC,GAAG,cAAc,GACrD,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GACpC,IAAI,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,GAChD,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,GAAG;IACnC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CACtC,cAAc,GAAG;QACf,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;KACzC,CACF,CAAC;CACH,CAAC;AAEJ,KAAK,sBAAsB,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;AAqLzE,eAAO,MAAM,iBAAiB;YAAW,sBAAsB;;CAe9D,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stream-chat-react-native-core",
3
3
  "description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
4
- "version": "8.13.15",
4
+ "version": "8.13.16",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"
@@ -1,4 +1,4 @@
1
- import React, { useCallback, useEffect, useMemo, useState } from 'react';
1
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
2
  import {
3
3
  I18nManager,
4
4
  TextInput as RNTextInput,
@@ -72,6 +72,42 @@ const AutoCompleteInputWithContext = (props: AutoCompleteInputPropsWithContext)
72
72
  const { command, text } = useStateStore(textComposer.state, textComposerStateSelector);
73
73
  const { enabled } = useStateStore(messageComposer.configState, configStateSelector);
74
74
 
75
+ // RN's onChangeText doesn't carry cursor info, and iOS / Android fire
76
+ // onChangeText vs onSelectionChange in different orders. Rather than derive
77
+ // the caret from a text-length delta (fragile — gets clobbered by re-renders
78
+ // and varies across platforms), we hold the latest values reported by native
79
+ // and call into the LLC once both have settled.
80
+ const latestTextRef = useRef('');
81
+ const latestSelectionRef = useRef<{ end: number; start: number }>({
82
+ end: 0,
83
+ start: 0,
84
+ });
85
+ const flushHandleRef = useRef<ReturnType<typeof setTimeout> | null>(null);
86
+
87
+ const flushChange = useCallback(() => {
88
+ flushHandleRef.current = null;
89
+ textComposer.handleChange({
90
+ selection: latestSelectionRef.current,
91
+ text: latestTextRef.current,
92
+ });
93
+ }, [textComposer]);
94
+
95
+ // Defer to the next task so onChangeText and onSelectionChange both land
96
+ // before we forward to the LLC, regardless of platform ordering.
97
+ const scheduleChange = useCallback(() => {
98
+ if (flushHandleRef.current !== null) return;
99
+ flushHandleRef.current = setTimeout(flushChange, 0);
100
+ }, [flushChange]);
101
+
102
+ useEffect(() => {
103
+ return () => {
104
+ if (flushHandleRef.current !== null) {
105
+ clearTimeout(flushHandleRef.current);
106
+ flushHandleRef.current = null;
107
+ }
108
+ };
109
+ }, []);
110
+
75
111
  const maxMessageLength = useMemo(() => {
76
112
  return channel.getConfig()?.max_message_length;
77
113
  }, [channel]);
@@ -82,29 +118,33 @@ const AutoCompleteInputWithContext = (props: AutoCompleteInputPropsWithContext)
82
118
 
83
119
  useEffect(() => {
84
120
  setLocalText(text);
121
+ // Only resync the refs when the text change came from outside (clear after
122
+ // send, draft restore, programmatic setText). For changes we triggered
123
+ // ourselves, latestTextRef is already up to date and overwriting the
124
+ // selection would clobber what onSelectionChange just told us.
125
+ if (text !== latestTextRef.current) {
126
+ latestTextRef.current = text;
127
+ latestSelectionRef.current = { end: text.length, start: text.length };
128
+ }
85
129
  }, [text]);
86
130
 
87
131
  const handleSelectionChange = useCallback(
88
132
  (e: TextInputSelectionChangeEvent) => {
89
133
  const { selection } = e.nativeEvent;
134
+ latestSelectionRef.current = selection;
90
135
  textComposer.setSelection(selection);
136
+ scheduleChange();
91
137
  },
92
- [textComposer],
138
+ [scheduleChange, textComposer],
93
139
  );
94
140
 
95
141
  const onChangeTextHandler = useCallback(
96
142
  (newText: string) => {
97
143
  setLocalText(newText);
98
-
99
- textComposer.handleChange({
100
- selection: {
101
- end: newText.length,
102
- start: newText.length,
103
- },
104
- text: newText,
105
- });
144
+ latestTextRef.current = newText;
145
+ scheduleChange();
106
146
  },
107
- [textComposer],
147
+ [scheduleChange],
108
148
  );
109
149
 
110
150
  const {
@@ -99,8 +99,13 @@ describe('AutoCompleteInput', () => {
99
99
 
100
100
  const input = queryByTestId('auto-complete-text-input');
101
101
 
102
+ // RN fires both events for every keystroke; we forward to the LLC once
103
+ // both have settled, so the test mirrors that.
102
104
  act(() => {
103
105
  fireEvent.changeText(input, 'hello');
106
+ fireEvent(input, 'selectionChange', {
107
+ nativeEvent: { selection: { end: 5, start: 5 } },
108
+ });
104
109
  });
105
110
 
106
111
  await waitFor(() => {
@@ -113,6 +118,119 @@ describe('AutoCompleteInput', () => {
113
118
  });
114
119
  });
115
120
 
121
+ it('forwards the real caret position to handleChange when typing in the middle of multi-line text', async () => {
122
+ // Regression: when the user inserts a character somewhere other than the
123
+ // end of the text (e.g. typing "@" between paragraphs), the original
124
+ // implementation passed selection.end = newText.length, which caused the
125
+ // LLC mention-trigger regex to miss "@" on multi-line input because it
126
+ // only tolerates one whitespace between "@" and end-of-string.
127
+ const { textComposer } = channel.messageComposer;
128
+ const spyHandleChange = jest.spyOn(textComposer, 'handleChange');
129
+
130
+ renderComponent({ channelProps: { channel }, client, props: {} });
131
+
132
+ const input = screen.getByTestId('auto-complete-text-input');
133
+
134
+ // Seed the input with some multi-line text and place the caret between
135
+ // the two leading newlines (position 6 — right after "asdf\n\n", before
136
+ // the trailing "\n\n dsfa").
137
+ const seeded = 'asdf\n\n\n\n dsfa';
138
+ const caret = 6;
139
+ act(() => {
140
+ fireEvent.changeText(input, seeded);
141
+ fireEvent(input, 'selectionChange', {
142
+ nativeEvent: { selection: { end: caret, start: caret } },
143
+ });
144
+ });
145
+
146
+ await waitFor(() => {
147
+ expect(spyHandleChange).toHaveBeenCalledWith({
148
+ selection: { end: caret, start: caret },
149
+ text: seeded,
150
+ });
151
+ });
152
+
153
+ spyHandleChange.mockClear();
154
+
155
+ // User types "@" at the caret. Both events fire in a single keystroke.
156
+ const inserted = 'asdf\n\n@\n\n dsfa';
157
+ const newCaret = caret + 1;
158
+ act(() => {
159
+ fireEvent.changeText(input, inserted);
160
+ fireEvent(input, 'selectionChange', {
161
+ nativeEvent: { selection: { end: newCaret, start: newCaret } },
162
+ });
163
+ });
164
+
165
+ await waitFor(() => {
166
+ // Must land right after the inserted "@", not at end-of-string —
167
+ // otherwise the LLC mention regex misses "@" because of the trailing
168
+ // "\n\n dsfa".
169
+ expect(spyHandleChange).toHaveBeenCalledWith({
170
+ selection: { end: newCaret, start: newCaret },
171
+ text: inserted,
172
+ });
173
+ });
174
+ });
175
+
176
+ it('forwards the real caret to handleChange when the user deletes "@" and retypes it', async () => {
177
+ // Regression: deleting "@" and retyping it on the same single line caused
178
+ // the picker to stay hidden on iOS — and on Android even with newlines.
179
+ // The bug was that we derived the caret from a text-length delta plus a
180
+ // stale ref; the coalesced flush now uses whatever native actually
181
+ // reported via onSelectionChange.
182
+ const { textComposer } = channel.messageComposer;
183
+ const spyHandleChange = jest.spyOn(textComposer, 'handleChange');
184
+
185
+ renderComponent({ channelProps: { channel }, client, props: {} });
186
+
187
+ const input = screen.getByTestId('auto-complete-text-input');
188
+
189
+ // 1. Seed "asdf @ dsfa" with the caret right after "@".
190
+ act(() => {
191
+ fireEvent.changeText(input, 'asdf @ dsfa');
192
+ fireEvent(input, 'selectionChange', {
193
+ nativeEvent: { selection: { end: 6, start: 6 } },
194
+ });
195
+ });
196
+
197
+ await waitFor(() => {
198
+ expect(spyHandleChange).toHaveBeenCalledWith({
199
+ selection: { end: 6, start: 6 },
200
+ text: 'asdf @ dsfa',
201
+ });
202
+ });
203
+
204
+ // 2. Delete the "@" — text shrinks by one, caret moves to position 5.
205
+ act(() => {
206
+ fireEvent.changeText(input, 'asdf dsfa');
207
+ fireEvent(input, 'selectionChange', {
208
+ nativeEvent: { selection: { end: 5, start: 5 } },
209
+ });
210
+ });
211
+
212
+ spyHandleChange.mockClear();
213
+
214
+ // 3. Retype "@" at position 5.
215
+ act(() => {
216
+ fireEvent.changeText(input, 'asdf @ dsfa');
217
+ fireEvent(input, 'selectionChange', {
218
+ nativeEvent: { selection: { end: 6, start: 6 } },
219
+ });
220
+ });
221
+
222
+ await waitFor(() => {
223
+ // The cursor must be reported at 6 (right after the new "@"), not
224
+ // somewhere stale. With a wrong caret, the LLC slice would include
225
+ // " dsfa" after the "@" and the query would be " dsfa" instead of "",
226
+ // which returns zero users → picker stays hidden.
227
+ expect(spyHandleChange).toHaveBeenCalledWith({
228
+ selection: { end: 6, start: 6 },
229
+ text: 'asdf @ dsfa',
230
+ });
231
+ });
232
+ });
233
+
116
234
  it('should style the text input with maxHeight that is set by the layout', async () => {
117
235
  const channelProps = { channel };
118
236
  const props = { numberOfLines: 10 };
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "8.13.15"
2
+ "version": "8.13.16"
3
3
  }