From 7365311fa655b69bbaf3fb1f4d417e22e90f5eef Mon Sep 17 00:00:00 2001 From: Elias Nahum Date: Sat, 9 May 2026 00:36:01 +0800 Subject: [PATCH] fix(android): attach the events for onSelectionChange, onContentSizeChange, onScroll and onKeyPress --- .../mattermost/pasteinputtext/PasteTextInputManager.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/android/src/main/java/com/mattermost/pasteinputtext/PasteTextInputManager.kt b/android/src/main/java/com/mattermost/pasteinputtext/PasteTextInputManager.kt index 578a848..3f504a0 100644 --- a/android/src/main/java/com/mattermost/pasteinputtext/PasteTextInputManager.kt +++ b/android/src/main/java/com/mattermost/pasteinputtext/PasteTextInputManager.kt @@ -43,6 +43,16 @@ class PasteTextInputManager(context: ReactApplicationContext) : ReactTextInputMa override fun addEventEmitters(reactContext: ThemedReactContext, editText: ReactEditText) { super.addEventEmitters(reactContext, editText) + // ReactTextInputManager gates these listeners behind boolean @ReactProps + // (onSelectionChange, onContentSizeChange, onScroll, onKeyPress) that + // Fabric does not surface for codegen-based components. Attach them + // unconditionally — same as built-in , which always passes + // these handlers from JS regardless of whether the user provided one. + setOnSelectionChange(editText, true) + setOnContentSizeChange(editText, true) + setOnScroll(editText, true) + setOnKeyPress(editText, true) + val pasteInputEditText = editText as PasteInputEditText val eventDispatcher = getEventDispatcher(reactContext, editText) pasteInputEditText.setOnPasteListener(PasteInputListener(pasteInputEditText, reactContext.surfaceId), eventDispatcher)