diff --git a/src/components/Composer/index.tsx b/src/components/Composer/index.tsx index cf79abddf7..855f4a1de5 100644 --- a/src/components/Composer/index.tsx +++ b/src/components/Composer/index.tsx @@ -34,7 +34,6 @@ import { } from '#/components/Autocomplete' import { AutosizedTextarea, - type AutosizedTextareaHeightApi, type AutosizedTextareaProps, } from '#/components/forms/AutosizedTextarea' import {Span, Text} from '#/components/Typography' @@ -151,13 +150,6 @@ export function Composer({ */ const inputScrollSharedValue = useSharedValue(0) - /* - * Imperative handle on the underlying textarea, used to reset its height when - * the input is cleared programmatically (Android doesn't fire - * `onContentSizeChange` in that case). - */ - const heightApiRef = useRef(null) - /* * Expose imperative internal API */ @@ -168,7 +160,6 @@ export function Composer({ clear: () => { tapper.inputProps.onChangeText('') inputScrollSharedValue.value = 0 - heightApiRef.current?.resetHeight() }, insert: tapper.insert, setAutocompleteAnchor: sift.refs.setAnchor, @@ -330,7 +321,6 @@ export function Composer({ )} void -} - export type AutosizedTextareaProps = Omit & { ref?: React.Ref - heightApiRef?: React.Ref label: string minRows?: number maxRows?: number @@ -30,7 +20,6 @@ export type AutosizedTextareaProps = Omit & { export function AutosizedTextarea({ ref, - heightApiRef, label, minRows = 1, maxRows, @@ -118,16 +107,6 @@ export function AutosizedTextarea({ * directly drive the `height`. */ const [nativeHeight, setNativeHeight] = useState(minInputHeight) - useImperativeHandle( - heightApiRef, - () => ({ - resetHeight: () => { - setNativeHeight(minInputHeight) - onUpdateHeight?.(minInputHeight) - }, - }), - [minInputHeight, onUpdateHeight], - ) const onContentSizeChange = (e: TextInputContentSizeChangeEvent) => { const contentSize = Math.ceil(e.nativeEvent.contentSize.height) // ios reports the content size without padding