mattermost / mattermost/react-native-paste-input

NullPointerException com.mattermost.pasteinputtext.PasteInputEditText in onCreateInputConnection

Offen
#41 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Objective-C
Sterne
213
Forks
38
Ø Merge
12 Std. 25 Min.
Gemergte PRs (30 T.)
1

Beschreibung

Hey mattermost team, wonder if anyone hit this before on Android device.

More context on how we use it, we are using it as uncontrolled input like how bluesky is using it.

Will wanna identify if it's a library issue or my implementation issue.

Please let me know if any more information is needed.

Sample code on how I'm using it

    const pasteInputRef = useRef<PasteInputRef>(null);

    useImperativeHandle(ref, () => ({
        focus: () => {
            pasteInputRef.current?.focus();
        },
        blur: () => {
            pasteInputRef.current?.blur();
        },
        clear: () => {
            pasteInputRef.current?.clear();
        },
    }));

    return (
        <View style={containerStyle}>
            <PasteInput
                ref={pasteInputRef}
                multiline
                maxLength={500}
                style={[styles.input, disabled && styles.disabled, inputStyle]}
                onChangeText={onChangeText}
                onPaste={() => {}}
                autoCorrect
                pointerEvents={disabled ? 'none' : 'auto'}
                caretHidden={disabled}
                editable={!disabled}
                readOnly={disabled}
                focusable={!disabled}
                placeholderTextColor={disabled ? colorScheme['content-disabled'] : colorScheme['content-placeholder']}
                allowFontScaling={false}
                selectionColor={inputSelectionColor}
                selectionHandleColor={androidInputSelectionHandleColor}
                cursorColor={androidInputCursorColor}
            >
            {children}
            </PasteInput>
        </View>
    );

Stack trace on Sentry:

com.mattermost.pasteinputtext.PasteInputEditText in onCreateInputConnection at line 58
android.view.inputmethod.InputMethodManager in startInputInner at line 2318
android.view.inputmethod.InputMethodManager in restartInput at line 2174
com.android.internal.inputmethod.RemoteInputConnectionImpl in lambda$scheduleInvalidateInput$0$com-android-internal-inputmethod-RemoteInputConnectionImpl at line 298
com.android.internal.inputmethod.RemoteInputConnectionImpl$$ExternalSyntheticLambda7 in run at line 4
android.os.Handler in handleCallback at line 942
android.os.Handler in dispatchMessage at line 99
android.os.Looper in loopOnce at line 211
android.os.Looper in loop at line 300
android.app.ActivityThread in main at line 8324
java.lang.reflect.Method in invoke
com.android.internal.os.RuntimeInit$MethodAndArgsCaller in run at line 581
com.android.internal.os.ZygoteInit in main at line 1028

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit der Untersuchung von PasteInputEditText.onCreateInputConnection in Zeile 58 und prüfen Sie die bereitgestellte unkontrollierte React Native-Verwendung. Reproduzieren Sie den Sentry-Stacktrace unter Android mit den Beispiel-Props und ermitteln Sie anschließend, ob der Fehler in der Bibliothek oder in der Integration liegt. Done sollte eine bestätigte Ursache und eine verifizierte Lösung enthalten, aber das Issue definiert weder das erwartete Verhalten noch die Testabdeckung.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, react-native
Bereich
mobile-dev
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
28/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.